关于matlab中矩阵的运算
比如有三个矩阵A,B,M,且A*B=M,已知A和M,怎么能求出B矩阵,麻烦也附上matlab的程序...
比如有三个矩阵A,B,M,且A*B=M,已知A和M,怎么能求出B矩阵,麻烦也附上matlab的程序
展开
3个回答
展开全部
lz 你好
对于你这个问题,从线性代数分析,A*B合法的要求是A的列要与B的行相等
假设A为nXm矩阵
B为mXc矩阵
那么M肯定为nXc的矩阵
在matlab中 求解A*x=b,有三种方法,
1、x=A\b
2、x=inv(A)*b
3、x=A^(-1)*b
推荐使用第一种,因为求解逆矩阵,要求A是方正。第一种方法就不要求
例如:
A=[1 2;5 2;4 7];%3x2
M=[3 5 2 6;6 3 4 5;5 4 6 6];%3x4
B=A\M%2X4
结果:
B =
1.1348 0.3678 0.5819 0.7242
0.1335 0.5139 0.5390 0.6146
希望能帮助到你
对于你这个问题,从线性代数分析,A*B合法的要求是A的列要与B的行相等
假设A为nXm矩阵
B为mXc矩阵
那么M肯定为nXc的矩阵
在matlab中 求解A*x=b,有三种方法,
1、x=A\b
2、x=inv(A)*b
3、x=A^(-1)*b
推荐使用第一种,因为求解逆矩阵,要求A是方正。第一种方法就不要求
例如:
A=[1 2;5 2;4 7];%3x2
M=[3 5 2 6;6 3 4 5;5 4 6 6];%3x4
B=A\M%2X4
结果:
B =
1.1348 0.3678 0.5819 0.7242
0.1335 0.5139 0.5390 0.6146
希望能帮助到你
追问
我拿已知的三个矩阵验证了一下第一个方法,计算出来的矩阵和我手上已知的矩阵不一样啊,我的是正数,可是计算出来的全是小数或者0,是哪里出问题了呢?
追答
有些应该是不满足线性代数中方程组有解的条件。有时候可能出现奇异,解出来是不对的。
例如:
A=[1 2;5 2;];b=[3;6];X=A\b%唯一解
结果:
X =
0.7500
1.1250
%验证
A*X
ans =
3.0000
6.0000
有多解情况
A=[1 2 5 ;2 4 7];b=[2;4];X=A\b
结果:(计算机只取了一个解)
X =
0
1
0
A*X%验证
ans =
2
4
展开全部
A=[...] %n×n矩阵
M=[...] %n×n矩阵
B=A'*M
M=[...] %n×n矩阵
B=A'*M
追问
A和M都不是n*n的矩阵,怎么在matlab中实现呢??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B=(A^-1)*M
前提是A行和列数相等
如果不等就是
B=((A'*A)^-1)*A'*M
前提是A行和列数相等
如果不等就是
B=((A'*A)^-1)*A'*M
更多追问追答
追问
请问你说的这个在matlab里怎么用程序实现呢,我第一次用matlab不会
追答
直接敲出来就可以,先给矩阵赋值
A=[1 2;2 3]这样的,分号表示一行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询