关于matlab中矩阵相加的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 15:45:14
我记得在中,相加的两个矩阵必须是同行同列数的,可是我在课后习题中却遇到了这样一个题: 已知a=[2];b=[2 -1;1 4],然后题中将a和b相加,我运行了一下得到:
e=a+b

e =

4 1
3 6
这也就意味着,系统将a默认为了一个2*2的矩阵,且其元素全部为2,这是怎么回事呢,还有如果我要读取M矩阵中某行某列的一个元素,应该怎么表示呢,请举例说明,谢谢啦(给分绝不拖延)

matlab规定如果一个数和矩阵相加(减、乘、除),那么相当于对矩阵的每个元素相加(减、乘、除)。
你可以试试下面的命令。
A=[1 2 3;4 5 6;7 8 9]
A+1
1+A
A-1
1-A
A*2
2*A
A/2
唯一不可以的是2/A,这一点一定要注意。

取A第i行第j列的元素的命令是A(i,j),i和j甚至可以是数组。
你可以试试下面的命令
A=[1 2 3;4 5 6;7 8 9]
A(2,3)%表示取第2行第3列的元素
A([2,3],[1,2])%表示取第2、3行,第1、2列的所有元素,得到的也是一个矩阵

如果矩阵不是很大你就要查了
例如如果矩阵输入b=[1 2 3 ;4 5 6;7 8 9 ]
得到b =

1 2 3
4 5 6
7 8 9
在输入b(4)
得到ans =

2
这个数目顺序是从第一列的自上而下查的,和我平时的习惯不一样,希望对你有帮助