【问题标题】:MATLAB: vectorized assignment from double array to cell arrayMATLAB:从双精度数组到元胞数组的向量化赋值
【发布时间】:2009-11-03 20:07:18
【问题描述】:

我有三个数组,大小都一样:

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

如何获取 xin 中与 b 为真的索引对应的元素,并将它们分配到 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.

【问题讨论】:

    标签: matlab cell vectorization


    【解决方案1】:

    您应该使用函数num2cell 将右侧转换为元胞数组,然后再将其分配给xout

    xout(b) = num2cell(xin(b));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-12
      • 2015-06-22
      相关资源
      最近更新 更多