2013-10-19 2 views
-1

저는 Matlab에있는 일부 데이터를 창 모양으로 변형하고 있습니다. 내가 가지고있는 데이터가 고르지 그러나고르지 않은 모양으로 모양 바꾸기

x = reshape(x, fs*W, []); 

:

Eg. 1 2 3 4 5 6 7 
     8 9 1 2 3 4 5 
     6 7 8 

내가 rehape이 고르지 차원에서 작동하지 않습니다 말하는 오류를 받고 있어요 :

  not divisible into total number of elements, xxxx 

이 주위에 방법이 있나요 ? 어떤 도움

+0

그 밖의 무엇을 시도 했습니까? – nispio

답변

2

당신은 등 제로, NaN와 나머지 요소를 입력 할 수 있으며, 다음 모양 변경 사용

x = rand(13,1); 
num_el = numel(x); 
n = 3  % Number of rows 
x(numel(x) + (n - mod(numel(x), n))) = 0; 

x = reshape(x, n, []) 
x = 

    0.15991 0.99828 0.98674 0.06898 0.78390 
    0.87197 0.63062 0.16429 0.06593 0.00000 
    0.73633 0.41108 0.70827 0.55363 0.00000 

이 줄 : x(numel(x) + (n - mod(numel(x), n))) = 0; 할당을 값 0n으로 나눌 수있는 첫 번째 값으로 설정합니다. NaN을 원할 경우 다음을 할 수 있습니다.

x(numel(x)+1:numel(x)+(n-mod(numel(x),3))) = NaN 
0

당신은 바꿀 사용하여 그런 일을 만들 수 없습니다에 대한

덕분에,이 더 매트릭스 없습니다.

는 사용할 수 있습니다 데이터를 인쇄하려면 다음

fprintf('%3d%3d%3d%3d%3d%3d%3d\n',x);fprintf('\n') 
관련 문제