Math 如何在MATLAB中使用最小二乘近似?

Math 如何在MATLAB中使用最小二乘近似?,math,matlab,linear-algebra,least-squares,Math,Matlab,Linear Algebra,Least Squares,对于线性代数的家庭作业,我使用MATLAB的\运算符(这是推荐的方法)求解了以下方程: A=[0.20.25;0.40.5;0.40.25]; y=[0.91.71.2]; x=A\y 这将产生以下答案: x = 1.7000 2.0800 x= 1.7000 2.0800 在作业的下一部分中,我将使用最小二乘近似法求解相同的方程(然后将其与先前的值进行比较,以查看近似值的准确性) 如何在MATLAB中找到一种方法来实现这一点 以前的工作:我找到了函数lsqlin,它似乎能够解上述类型的方程,但

对于线性代数的家庭作业,我使用MATLAB的
\
运算符(这是推荐的方法)求解了以下方程:

A=[0.20.25;0.40.5;0.40.25]; y=[0.91.71.2]; x=A\y 这将产生以下答案:

x = 1.7000 2.0800 x= 1.7000 2.0800 在作业的下一部分中,我将使用最小二乘近似法求解相同的方程(然后将其与先前的值进行比较,以查看近似值的准确性)

如何在MATLAB中找到一种方法来实现这一点


以前的工作:我找到了函数
lsqlin
,它似乎能够解上述类型的方程,但我不知道应该提供哪些参数,也不知道它的顺序。

mldivide,(“\”)实际上也这样做。根据报告:

如果A是m~=n的m×n矩阵,B是m分量的列向量,或是具有多个这样的列的矩阵,那么X=A\B是欠定或超定方程组AX=B的最小二乘意义上的解。换句话说,X最小化范数(A*X-B),向量AX-B的长度。A的秩k由带有列旋转的QR分解确定(有关详细信息,请参见算法)。计算出的解X每列最多有k个非零元素。如果k
实际上,你在第一个作业中所做的是用LSE解方程。

你的作业是明确地编码最小二乘近似值,还是仅仅使用MATLAB中的另一个函数?如果您可以使用其他功能,一个选项是:


当然,实际的作业没有我们想象的那么复杂。你是对的,``运算符确实涉及最小二乘近似。我们现在得到了正确的答案,谢谢!这应该是“\operator”,但代码格式的反斜杠似乎吞没了整个反斜杠(或者我只是错过了一次击键)。 x = 1.7000 2.0800
x = lsqr(A,y);