请问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
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
再试下