假设我有一个包含N行列数的矩阵,我不知道有多少行,我想对每一行求和,并输出每行的总和和列的相同。提前致谢。我将如何在Matlab中为此编写循环?
提前致谢
答案 0 :(得分:4)
如果您只想在每行/每列中找到元素总和,那么sum函数就是您所需要的。
计算矩阵A:中每行元素的总和
sum(A,2)
计算矩阵A:的每列元素的总和
sum(A,1)
或只是
sum(A)
如果您想打印结果:
r = sum(A,2);
fprintf('Sum for row%d: %e\n', [1:length(r); r']);
如果您在理解MatLab语法时遇到问题 - look at this book。
答案 1 :(得分:0)
您可以为大小为m行x n列
的矩阵A编写以下内容% Initialise output vector
[m n]=size(A);
rowsum=zeros(m,1); % This will be vector of the sum of each row
colsum=zeros(n,1); % This will be vector of the sum of each column
for i=1:m
rowsum(i,1)=sum(A(i,:));
end
for i=1:n
colsum(i,1)=sum(A(:,i));
end
所以现在你将得到每行总和的mx1向量和每列总和的nx1向量。