python 最小二乘法_最小二乘法的数值计算

本文介绍了在最小二乘法中,当方差函数不再是待定系数的线性组合时,如何借助数值计算方法,特别是Nelder-Mead算法,来寻找方差函数的极小值进行拟合。通过实例展示了使用该算法进行曲线拟合,并验证了结果的正确性,得出的曲线与传统方法一致。
摘要由CSDN通过智能技术生成

(建议阅读原文)

预备知识 最小二乘法, Nelder-Mead 算法

   我们在 “最小二乘法” 中见到的三个例子中, 方差函数都是待定系数的线性组合, 这种情况下我们令偏导为零后得到的是线性方程组, 便于求解. 然而当方差不是待定系数的线性组合时, 得到的方程组往往非常复杂, 这时就需要借助数值计算. 相比用数值计算解 N 元的非线性方程组, 更简单的方法是直接用数值方法寻找方差函数的极小值(如 Nelder-Mead 算法) . 实践证明, 大多数情况下极小值点仅有一个, 那就是最小值点.

   为了验证结果的正确性, 我们先来用数值方法拟合

, 并与“最小二乘法” 中的方法比较结果.

8dadc1ff54dbda2dd847ad7df9479b9e.png
图1:运行结果

curveFit.m

function curveFit
close all;
% 随机生成简谐曲线
N = 20;
x0 = linspace(0, 2*pi, N);
y0 = 5*rand * sin(x0 + 2*pi * rand) &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值