izz*_*zat 12 matlab sum matrix
鉴于矩阵:
A = [1 2 3; 4 5 6; 7 8 9];
Run Code Online (Sandbox Code Playgroud)
sum对矩阵元素求和A.1)
for j=1:3,
for i=j:3,
A(i,:) = A(i,:)+A(j+1,:)+A(j+2,:)
end
end
Run Code Online (Sandbox Code Playgroud)
2)
sum(A)
Run Code Online (Sandbox Code Playgroud)
这些是正确答案吗?我不知道怎么用if,while而且for.有谁可以向我解释一下?
Moh*_*nia 31
对于使用非常大的矩阵,sum(sum(A))可以比sum(A(:))以下更快:
>> A = rand(20000);
>> tic; B=sum(A(:)); toc; tic; C=sum(sum(A)); toc
Elapsed time is 0.407980 seconds.
Elapsed time is 0.322624 seconds.
Run Code Online (Sandbox Code Playgroud)
mer*_*erv 18
1)
total = 0;
for i=1:size(A,1)
for j=1:size(A,2)
total = total + A(i,j);
end
end
Run Code Online (Sandbox Code Playgroud)
2)
total = sum(A(:));
Run Code Online (Sandbox Code Playgroud)
gno*_*ice 10
第一个问题的另一个答案是使用一个 for循环并使用函数NUMEL对数组执行线性索引以获得元素的总数:
total = 0;
for i = 1:numel(A)
total = total+A(i);
end
Run Code Online (Sandbox Code Playgroud)