[英]how can I find the parameters of matrix-equation in matlab?
我有下面的矩阵方程式:
[M] = [A][R] + [B][L]
其中: A
和B
= 2 x 2矩阵
M
, R
, L
和= 2 by 1矩阵。
为了估计A
和B
一个特定值,我有9个不同的数据[M]
, [R]
和[L]
。 假设这9个数据是一组数据,而我有数百个组数据。
我需要找到与特定组数据相关的A
和B
的值。
那么,是否有人通过简单地将[M]
, [R]
和[L]
数据输入到matlab中,从而对matlab有所了解或知道如何获取每个组的[A]
和[B]
值?
我设置问题的方式有问题。 无论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参考 。
您不能使用大小不同的矩阵。 这个方程对我来说毫无意义。
更新:
这个更新的公式很有意义。
听起来像是最小二乘拟合问题。 您将输入数据,并为系数矩阵获得最佳估计。 我将不得不更多地了解数据,分组等的确切性质,但是我建议您开始阅读有关MATLAB最小二乘拟合功能的信息。
最小二乘拟合始于提出一个模型。 假设您有三个自变量(x,y,z)和一个因变量(v):
(来源: equationsheet.com )
现在,您需要解决四个系数。 您将拥有n组点,其中n> 4,因此您需要进行最小二乘拟合。
如果将点替换为方程式,最终将得到矩阵方程式:
如果您将两边都乘以 ,您将拥有一个方矩阵,可以将其求逆并求解系数。
该公式还允许更高阶的多项式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.