Sum of elements in cell array
显示 更早的评论
Hi,
I have this cell array

One of its rows, look like this

I am using this code to sum the columns of each cell
Force = cellfun(@(x){sum(x(1:3:end,:)); sum(x(2:3:end,:))}, Numerical, 'Uni',0);
But I am not getting correct result , because when I add them manually, I get this ( only for the first row of Numerical{4,1} )
ans =
0.0000e+00 - 1.0232e-12i
But I am getting this( only for the first row of Numerical{4,1} ) :
-1.13686837721616e-13 - 2.27373675443232e-13i
I am attaching the file with the question.
Does anyone know...?
采纳的回答
更多回答(1 个)
KSSV
2020-7-29
Better use loop to avoid confusion using cellfun. Note cellfun also use loop inside.
clc; clear all ;
load("numerical.mat");
[m,n] = size(Numerical) ;
iwant = cell(m,1) ;
for i = 1:m
iwant{i} = abs(sum(Numerical{i})) ;
end
类别
在 帮助中心 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

