我有这个矩阵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
答
矢量化形式是最有效的和最适合Matlab代码的形式。
也将需要在您的线路
res(i,j) = sum (mx(:,j))
压制在每个运算输出一个分号。
同样,这不是首选的方式。既然你循环res(1:3和1:3)res,你的结果将有一个3x3的解决方案,我想这不是你想要的。
再回到矢量化溶液:
总和(基质) - >由 列总和因此
sum(mx)
将导致[4 2 9]
应所需的总和在另一方面,你可以再次使用总和,这种方式
sum(mx,2)
按行创建总和(我为了完整性而添加它)。
请从提示符中搜索matlab矢量化和帮助求和。
'sum'会直接给你答案,没有循环。你得到的错误究竟是什么? – beaker