请问matlab怎么会出现这样的现象?怎么想也想不明白!

来源:百度知道 编辑:UC知道 时间:2024/09/23 06:29:33
for m=10:20
A(m-9)=m
A(m-9)
end

A =

10

ans =

10

A =

10 11

ans =

11

A =

10 11 12

ans =

12

A =

10 11 12 13

ans =

13

A =

10 11 12 13 14

ans =

14

A =

10 11 12 13 14 15

ans =

15

A =

10 11 12 13 14 15 16

ans =

16

A =

10 11 12 13 14 15 16 17

ans =

17

A =

10 11 12 13 14 15 16 17 18

ans =

18

A =

10 11 12 13 14 15 16 17 18 19

ans =

19

这是因为你没有打分号的原因呀,他这是从10到20,每次迭代的结果都显示出来了。 如果你加了分号,就不会这样了,不过你要记得在end后面加一个语句,就是你要得到谁的值,这个时候就不要加分号

for m=10:20
A(m-9)=m;
A(m-9);
end
A%假设你要得到A的值

你自己想想,其实你A(m-9)=m语句得到的是矩阵A而A(m-9)得到的是矩阵A的的第m-9的元素对应的值。好好想想是不???

楼主感到迷惑的原因是for循环是一次一次执行m的值直到终止,所以A的值每次显示都会随所执行的值变化,这个是根本原因

for m=10:20
A(m-9)=m;
A(m-9);
end
A
再试下