我有这个矩阵mx,我想写一个for循环,将运行代码和总结列并给我答案[4 2 9]

我有这个矩阵mx,我想写一个for循环,将运行代码和总结列并给我答案[4 2 9]

问题描述:

我有这个矩阵mx,我试图写一个代码将循环并添加列。我不断收到错误消息。我不确定如何完成此操作我有这个矩阵mx,我想写一个for循环,将运行代码和总结列并给我答案[4 2 9]

mx = [1 2 3;1 -1 5; 2 1 1] 
[r c] = size(mx) 
res = zeros(1,3) 
s = 0 
for i =1:r 
for j=1:c 
    res(i,j) =sum(mx(:,j)) 
end 
end 
+0

'sum'会直接给你答案,没有循环。你得到的错误究竟是什么? – beaker

矢量化形式是最有效的和最适合Matlab代码的形式。

也将需要在您的线路

res(i,j) = sum (mx(:,j)) 

压制在每个运算输出一个分号。

同样,这不是首选的方式。既然你循环res(1:3和1:3)res,你的结果将有一个3x3的解决方案,我想这不是你想要的。

再回到矢量化溶液:

总和(基质) - >由 列总和因此

sum(mx) 

将导致[4 2 9]

应所需的总和在另一方面,你可以再次使用总和,这种方式

sum(mx,2) 

按行创建总和(我为了完整性而添加它)。

请从提示符中搜索matlab矢量化和帮助求和。