如何在Matlab中求和一个单元格

时间:2017-02-14 19:03:06

标签: matlab

我是Matlab的新学习者,现在想在Matlab中添加一个列元素单元格,不知怎的" sum"功能不起作用,它显示"未定义的功能' sum'对于类型' cell'"的输入参数,是否有人知道如何操作?非常感谢!:)

我的数据是这样的: ' 218148' ' 106856' ' 255673' ' 156279' ' 175589' ' 310762' ' 87128' ' 123339' ' 149070' ' 104556' ' 206346' ' 216278' ' 235786'

2 个答案:

答案 0 :(得分:3)

您的单元格是字符串,因此您首先必须将它们转换为数字:

C = { '218148' '106856' '255673' '156279' '175589' '310762' '87128'...
    '123339' '149070' '104556' '206346' '216278' '235786' '236087'...
    '99137' '123335' '130021' '101655' '98159' '102047' '824411' '63290'};
Csum = sum(str2double(C));

结果:

Csum =
     4123952

答案 1 :(得分:1)

您可以像这样调用单元格的内容:

your_cell{:}

如果所有值都是数字,则可以将此结果分组为矢量:

[your_cell{:}]

然后您可以轻松地总结此结果:

sum([your_cell{:}])

一个小例子:

c{1} = 1;
c{2} = 3;
c{3} = 6;
sum([c{:}])

结果:

ans =
    10