python非线性最小二乘拟合_非线性函数的最小二乘拟合——兼论Jupyter notebook中使用公式 [原创]...

本文探讨了如何使用Python的非线性最小二乘法来估计一阶RC电路的时间常数τ。通过理论推导、仿真模型和Jupyter Notebook实现,展示了如何处理采样噪声和非线性函数的最小二乘估计,以及在Jupyter中使用LaTeX公式的优势。实验结果表明,尽管存在噪声放大和估计偏差,这种方法仍能有效逼近实际τ值。
摘要由CSDN通过智能技术生成

突然有个想法,利用机器学习的基本方法——线性回归方法,来学习一阶rc电路的阶跃响应,从而得到rc电路的结构特征——时间常数τ(即r*c)。回答无疑是肯定的,但问题是怎样通过最小二乘法、正规方程,以更多的采样点数来降低信号采集噪声对τ估计值的影响。另外,由于最近在捣鼓jupyter和numpy这些东西,正好尝试不用matlab而用jupyter试试看。结果是意外的好用,尤其是在jupyter脚本中插入latex格式的公式的功能,真是太方便了!尝试了直接把纸上手写的公式转换到jupyter脚本中的常见工具软件。

以下原创内容欢迎网友转载,但请注明出处:

一、理论推导

1.线性回归分析及正规方程

传统意义说,线性回归问题是用最小二乘法(即正规方程),解决线性方程组的均方误差最小化问题。已知输出输入x是由多个变量构成的行向量,w是系数向量(列向量),b为偏置

fb4da6926863974890babdc954066190.png

在机器学习中,把每次的输入x作为一行组成更大的矩阵,即每一行代表一个样本,该矩阵称为设计矩阵x(train)。若样本数为k,则x(train)有k行,每个样本都会得到一个输出y,将y集合成一个列向量y(train),k个相同的b也组成列向量b。为简化表达,将b简化为附加在系数列向量w最后的常数b,x(train)则在每行的最后增加一个1,w(列向量)的最后增加一个待估计的b。为了使估计的结果:

dad407dcb88551d93ec6f08b51a12cef.png

和y(train)之差的平方和最小,有正规方程可以求解w:

e564e44ebee0aaf23d02bf9ce440f23f.png

2.一阶rc电路的阶跃响应

一阶rc电路的电路模型如下图所示。

f3ce25cd8c9b28cec6ae2137810a40a0.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值