matlab问题,为什么我运行matlab后的结果是 39 48 57 66,这说明每次a运行一行后,s变为0了啊?

s=0;
a=[12,13,14;15,16,17;18,19,20;21,22,23];
for k=a
s=s+k;
end
disp(s');

s=0;
a=[12,13,14;15,16,17;18,19,20;21,22,23];
for k=a % 每次循环取 a的一列,第一次第一列,第二次第二列
s=s+k; % 每次进行a列的叠加,所以s循环结果是a每行的之和
end
disp(s');

s没有进行等于0
你这行代码等价于sum(a, 2)追问

第一列不是12 15 18 21吗?还是不懂啊

追答

第一行之和为12+13+14=39
第二行之和为15+16+17=48
每一行之和

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-07
应该是有重新赋初值
第2个回答  2011-09-07
这个……追问

???

相似回答
大家正在搜