MATLAB中A(1:2,[3,4,5])=zeros(2,3) 是什么意思 请详细解答

如题所述

表示A矩阵的第一行和第二行的3,4,5列数为0;
1:2表示1到2行,[3,4,5]表示3,4,5列;
zeros(2,3)表示一个2行3列的全0矩阵
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-04
就是把矩阵A的第1-2行、第3-5列这一共6个元素赋值为0.追问

ZERO(2,3) 不是一个2行3列的0矩阵吗 为什么把A赋值以后矩阵的行数和列数会改变呢???、

追答

尽管ZERO(2,3) 只有2行3列,但对A赋值是要求对第3~5列进行的,所以:
如果矩阵A原来的行数为2(或以上)、列数为5(或以上),则上述赋值语句只是将相应的子矩阵块的值赋为0,矩阵的行列数不会改变;
如果A的行数和列数不足2和5,在其它编程语言中一般会导致错误,而MATLAB会自动对矩阵进行扩展,使得矩阵满足该语句能够执行的条件,这种情况下矩阵的行数或列数就会改变。

第2个回答  2014-11-04
>> A=magic(5)

A =

17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

>> A(1:2,[3,4,5])=zeros(2,3)

A =

17 24 0 0 0
23 5 0 0 0
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9追问

ZERO(2,3) 不是一个2行3列的0矩阵吗 为什么把A赋值以后矩阵的行数和列数会改变呢???、

本回答被网友采纳