如何使用MATLAB中的最小二乘逼近?
-
11-09-2019 - |
题
有关线性代数家庭作业,我已经解决了使用MATLAB的\
操作者以下方程(这是这样做的推荐的方式的话):
A = [0.2 0.25; 0.4 0.5; 0.4 0.25]; y = [0.9 1.7 1.2]'; x = A \ y
,其产生以下的答案:
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.从与柱的QR分解来确定A的k级旋转(见算法的详细说明)。所计算的溶液X具有在每列最多k个非零元素。如果k
所以真的,你在第一个任务所做的就是利用LSE解方程。
其他提示
请问您分配涉及明确编码了一个最小二乘近似,或者只是使用MATLAB提供其他功能?如果可以使用其他功能,一个选择是 LSQR :
x = lsqr(A,y);
不隶属于 StackOverflow