我有以下矩阵方程式:
[M] = [A][R] + [B][L]
其中:
A
和B
= 2 by 2 matrices
M
,R
,L
和= 2 x矩阵。
要估算A
和B
的一个特定值,我有9个[M]
,[R]
的不同数据,
[L]
。假设这9个数据是一组的,我有数百个组数据。
我需要找到与特定群组数据相关的A
和B
的值。
有人有或者知道matlab如何获得的东西
只需将[A]
,[B]
和[M]
数据输入到matlab中,每个组的[R]
和[L]
值为
答案 0 :(得分:2)
我设置问题的方式出了点问题。无论M,R和L的值是多少,你的等式都会有无限多的解。
无论M,R和L的值如何,一个解是[A] = [0],[B] = [0],[C] = [M]。实际上,如果设置[C] = [M],则[A]和[B]可以是[A] [R] = [0]和[B] [L] = [0]的任何矩阵,并且有无数的。
评论后修改
好的,我在下面仔细阅读了你的评论。我认为你提出问题的原始方式有点误导。在您的新配方中,您有9个实例
Xm = a Xr + bYr + cXp + dYp
这通常根据9x4矩阵乘以四矢量给出9矢量:
y = X b
其中y是包含Xm的9x1向量,X是包含9行Xr,Yr,Xp和Yp值的9x4矩阵,b是我们想要解决的未知数。
如果所有方程都是线性无关的,那么系统就会过度确定,因此无法得到精确解,只能得到最佳解。要在Matlab中进行线性最小二乘拟合,命令为:
b = X\y
b将是包含a,b,c和d的1x4向量,其是对解的最小二乘近似。请参阅此matlab reference。
答案 1 :(得分:0)
你不能选择不同大小的基质。这个等式对我来说毫无意义。
更新:
此更新的等式是有道理的。
听起来像是最小二乘拟合问题。您将输入数据并获得系数基质的最佳估计值。我必须更多地了解数据的确切性质,分组等,但我建议你开始阅读MATLAB的最小二乘拟合函数。
通过提出模型开始最小二乘拟合。假设您有三个独立变量(x,y,z)和一个因变量(v):
(来源:equationsheet.com)
您现在需要解决四个系数。你将有n组点,其中n> 4,所以你需要做一个最小二乘拟合。
如果你将你的点代入等式,你将得到一个矩阵方程:
如果你通过的转置预乘双方 ,你将有一个方形矩阵,你可以反转并求解系数。
这个公式也允许更高阶的多项式。