4

すべて同じサイズの 3 つの配列があります。

xout        % cell array
xin         % numeric array of doubles
b           % logical array

b が true であるインデックスに対応する xin の要素を取得し、それらを xout の対応する場所に割り当てるにはどうすればよいですか?

>> xout = {'foo', 'bar', 'baz', 'quux'};
>> xin = [1, 2, 3, 4];
>> b = (xin ~= 2);       % yields [1 0 1 1] in this case
>> xout{b}=xin(b);
??? The right hand side of this assignment has too few values 
to satisfy the left hand side.

>> xout(b)=xin(b);
??? Conversion to cell from double is not possible.
4

1 に答える 1

6

に代入する前に、関数num2cellを使用して右辺をセル配列に変換する必要がありxoutます。

xout(b) = num2cell(xin(b));
于 2009-11-03T20:09:41.893 に答える