对每行和每列分别求和,并在Matlab中输出?

对每行和每列分别求和,并在Matlab中输出?,matlab,sum,Matlab,Sum,假设我有一个矩阵,有N个列,我不知道有多少行,我想对每一行求和,输出每一行的和,和列的和。提前谢谢。如何在Matlab中为此编写循环 提前感谢如果您只想在每行/每列中找到元素的总和,那么函数就是您所需要的 要计算矩阵a的每行中元素的总和,请执行以下操作: sum(A,2) sum(A,1) 要计算矩阵a的每列中元素的总和,请执行以下操作: sum(A,2) sum(A,1) 或者干脆 sum(A) 如果要打印结果,请执行以下操作: r = sum(A,2); fprintf('Sum

假设我有一个矩阵,有N个列,我不知道有多少行,我想对每一行求和,输出每一行的和,和列的和。提前谢谢。如何在Matlab中为此编写循环


提前感谢

如果您只想在每行/每列中找到元素的总和,那么函数就是您所需要的

要计算矩阵a的每行中元素的总和,请执行以下操作:

sum(A,2)
sum(A,1)
要计算矩阵a的每列中元素的总和,请执行以下操作:

sum(A,2)
sum(A,1)
或者干脆

sum(A)
如果要打印结果,请执行以下操作:

r = sum(A,2);
fprintf('Sum for row%d: %e\n', [1:length(r); r']);

如果您在理解MatLab语法方面有问题-。

您可以为大小为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向量。

欢迎使用堆栈溢出。通常,在回答者能够提供帮助之前,鼓励提问者提供他们尝试过的东西的样本。你试过什么?你能在这里发布这样的代码示例吗?你可以通过点击matlab和sum标签下的“edit”(编辑)按钮来编辑你的问题。是的,但我需要对N行和N列进行编辑,所以我需要编写一个循环,因为我不知道有多少行和列,有什么提示吗?@user3000557这是一个矩阵,是吗?我正在编写一个脚本来加载任何给定的矩阵,我想输出每一行和每一列的总和,即,第1行的总和:第2行的总和:第3行的总和:第3列的总和。计算每一行和每一列中的元素总和时,不需要关于其大小的信息。=)哦,你是对的,不知道我在想什么。。。我怎样才能像上面输入的那样输出每个总和?我不需要一个循环吗,因为要对N行求和?