在matlab的单元格数组中将列乘以100的简单方法?

时间:2015-08-21 01:58:07

标签: matlab

我在matlab中有以下单元格数组:

dataCell = {0.1,0.3,0.5 ; 0.2,0.4,0.6}; 

并希望将第二列( [0.3] [0.4] )乘以100.您是否知道在没有循环的情况下执行此操作的简单方法?< / p>

非常感谢,

塞尔吉奥

2 个答案:

答案 0 :(得分:1)

使用cellfun(),虽然它与for循环没有根本的不同。

dataCell = {0.1,0.3,0.5 ; 0.2,0.4,0.6}; 
a = dataCell(:,2);
cellfun(@(x) x*100,a,'un',0)

ans = 

     [30]
     [40]

如果你想放回来:

dataCell(:,2) = ans

dataCell = 

[0.1000]    [30]    [0.5000]
[0.2000]    [40]    [0.6000]

答案 1 :(得分:1)

您可以将单元格转换为数组,然后再将其转换回来。

result = cell2mat(dataCell);
result(:,2) = result(:,2) * 100;
dataCell = mat2cell(result, [1 1], [1 1 1]);