-1
2次元(20×1)のセル配列を持ち、各セルは601×4行列です。私はそれを601 x 4 x 20行列に変換したい。これはどうすればできますか?2次元セル配列を3次元配列に変換する
2次元(20×1)のセル配列を持ち、各セルは601×4行列です。私はそれを601 x 4 x 20行列に変換したい。これはどうすればできますか?2次元セル配列を3次元配列に変換する
セルアレイの名前がCである場合、第三の次元に沿って
new_matrix =[]
for i=1:size(c,1)
new_matrix(:,:,i) = c {i,1}
end
連結します
はSOへようこそ!私は、MATLABの質問に答える新しいユーザーを見てうれしいです!しかし、私がここで変更するいくつかのことがあります: 'new_matrix = []'は、ループ内で成長する行列を作成するので、悪い習慣です。 'new_matrix = 0([size(x {1})、numel(x)])'が良いです。 'size(c、1)'は実際には 'numel(c)'と同じです。これははるかに高速で、間違いを作るのは難しいです( "それは第一次元か第二の次元ですか?")。 'i'と' j'は、虚数単位( 'sqrt(-1)')を表すので、変数名として戸惑う。複雑な数値で作業していない場合でも、これは大きな問題ではありません。 –