15

次のようなセル配列に変換したい列ベクトルがあります。

A = rand(10,1);

B = cell(10,1);
for i=1:10
    B{i} = A(i);
end

B = 
    [0.6221]
    [0.3510]
    [0.5132]
    [0.4018]
    [0.0760]
    [0.2399]
    [0.1233]
    [0.1839]
    [0.2400]
    [0.4173]

明示的な for ループなしでこれを行うにはどうすればよいですか? 私は試した:

B{:} = A(:)

[B{:}] = deal(A)

運悪く…

また、可能であれば、マトリックスに対して同じことを行うにはどうすればよいですか。つまり、セル内の各要素を単独で使用できますか?

4

1 に答える 1

25

関数num2cellを使用します。

B = num2cell(A);

マトリックスでも動作します。

于 2010-01-17T23:52:09.223 に答える