我仍在学习 MATLAB 中的一些高级功能。
我有一个二维矩阵,我想对除 i 之外的所有行求和。
例如
1 1 1
2 2 2
4 4 4
说 i = 2,我想得到这个:
5 5 5
我可以通过对所有行求和然后减去行 i 来实现,但我想知道是否有使用 MATLAB 的索引/选择语法的更快方法。
最佳答案
似乎对所有行求和,然后减去行 i,要快得多:
A=rand(500);
n = randi(500);
tic
for i=1:1e3
%sum(A([1:n-1 n+1:end], :));
sum(A)-A(n,:);
end
toc
Elapsed time is 0.162987 seconds.
A=rand(500);
n = randi(500);
tic
for i=1:1e3
sum(A([1:n-1 n+1:end], :));
end
toc
Elapsed time is 1.386113 seconds.
关于matlab - 如何对 MATLAB 中的所有其他行求和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13523443/