matlab中用for循环修改矩阵某元素值,为什么有错误?

a=[1,2,3,4,5,6];for a(1)=1:5出现错误,难道不能这样修改?谢谢!

a(1)是单个值1*1,怎么又能等于一行1*5?

应该是这样的,比如你要改第1行第5列的数为1,那么改为:

a(5)=1;

如果你想把a的前5个都改为1,那么运行
a(1:5)=1;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-20
a=1:6;
第2个回答  2019-02-18
for循环是一个重复的控制结构,可以有效地写一个循环,需要执行特定次数。
语法:
在matlab中的
for循环的语法是:
for
index
=
values
...
end
创建一个脚本文件,并键入下面的代码:
for
a
=
10:20
fprintf('value
of
a:
%d
',
a);
end
当运行该文件,它会显示以下结果:
value
of
a:
10
value
of
a:
11
value
of
a:
12
value
of
a:
13
value
of
a:
14
value
of
a:
15
value
of
a:
16
value
of
a:
17
value
of
a:
18
value
of
a:
19
value
of
a:
20
例子
2
创建一个脚本文件,并键入下面的代码:
for
a
=
1.0:
-0.1:
0.0
disp(a)
end
当运行该文件,它会显示以下结果:
1
0.9000
0.8000
0.7000
0.6000
0.5000
0.4000
0.3000
0.2000
0.1000
0
矩阵是一个二维数字阵列。
在matlab中,创建了一个矩阵输入逗号或空格分隔的数字在每一行元素,并用分号来标记每行末尾。
例如,让我们创建一个4×5的矩阵:
a
=
[
1
2
3
4
5;
2
3
4
5
6;
3
4
5
6
7;
4
5
6
7
8]
matlab
将执行上面的语句,并返回以下结果:
a
=
1
2
3
4
5
2
3
4
5
6
3
4
5
6
7
4
5
6
7
8
相似回答