Splitapply on a matrix of 1X1000
1 次查看(过去 30 天)
显示 更早的评论
I have a matrix of 1x1000 numbers and my G is 1. When I do the splitapply on it: res = splitapply(@sum, mat, G);
The res Is the sum of the 1000 numbers. What I want is just the one row returned, i.e., res = mat;
How to get that? This is a special case. In general, there are many rows.
Thanks.
0 个评论
采纳的回答
Rik
2018-3-5
res = splitapply(@(x) sum(x,1), mat, G);
This is about 10 times slower for mat=rand(1,1000), but it forces the direction of summation. You could also include a conditional statement:
if size(mat,1)==1
res=mat;
else
res = splitapply(@sum, mat, G);
end
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!