matlab菜鸟

来源:百度知道 编辑:UC知道 时间:2024/06/17 16:35:48
>> s=0;
>> a=[12,13,14;15,16,17;18,19,20;21,22,23];
>> for k=a
for j=1:4
if rem(k(j),2)~=0
s=s+k(j);
end
end
end
>> s
高手指点下,这个j不是1-4号嘛,应该是15+21=36啊,为什么用matlab做出来是108啊,难道j是1-4列?
这个是教科书后面一道练习啊,我觉得应该是36 可是用matlab做出来是108 啊

for k = a 这里的a是矩阵,不是向量,所以是循环a的每一列,如下示意:

>>for k = a
k
end

k =

12
15
18
21

k =

13
16
19
22

k =

14
17
20
23

这个程序是把a中的奇数相加。

程序和你的设想不是一回事啊。for j=1:4 和for k=a都有问题,前面那个是指循环四次的意思啊。你先说一下你的问题是什么好么?顺带帮个忙回答个问卷喔http://www.diaochapai.com/survey112299