2011-11-10 30 views
1

ここに私のmatlabの問題です。私はすべてのデータを構造体のデータ型から行列にコピーするmatlab関数を記述する必要があります。問題は、各エントリが異なる長さを持つことができることです。だから私がこれまで行ってきたことは、行列の最終的なサイズを事前に計算するために、これらのすべてのエントリを繰り返しています。Matlab:行列のサイズ変更

%Calculate final size of Matrix 
nFieldsY = length(CompleteData.Y); 
nFieldsX = length(CompleteData.X); 
maxRowNumber = 0; 
maxColNumber = nFieldsY + nFieldsX; 

for j = 1:nFieldsY 
    l_x = length (CompleteData.X(1,j).Data); 
    l_y = length (CompleteData.Y(1,j).Data); 
    compAr = [maxRowNumber l_x l_y]; 
    maxRowNumber = max(compAr); 
end 

ResultMatrix = zeros(maxRowNumber, maxColNumber); 

"ResultMatrix"は、保存可能なデータの最大値を表します。今度は最初のnの列をmの行列に置き換えたいと思います。残りの列はまだ0で埋められる必要があります。すべての私の努力にもかかわらず、私は "ディメンションの不一致"エラーが発生します。

ありがとうございました。この

ResultMatrix(1:n,m) = n_entries 

どこn_entriesなどのおかげ

答えて

3

何かがあなたが列に配置したい値のn x 1行列です。

1:nカラムmを行ResultMatrixnから1を選び、そしてmピック。

+0

ありがとうございました。正確に私が必要としたもの:D – JonBlumfeld

関連する問題