如何在matlab用最小二乘拟合求方程参数a b,已有x,y数据集,方程如图
1个回答
展开全部
有关微分方程参数拟合的技术,已经有相关的讨论:
1、基于matlab四种方法解决变参量常微分方程参数识别(回归)
2、基于MATLAB和Forcal进行微分方程参数拟合
3、一个典型隐式方程(通用有效介质方程)的拟合实例
总的来说微分方程参数拟合有三种方法:
1.将原问题转换为一个优化问题,就是使拟合得到的结果和实验测量值之差的平方和最小,此时您可以调用MATLAB优化工具箱的所有函数,最这个目标进行优化,比如fmincon,ga,lsqnonlin等。
2 将问题看成一个超静定方程组,也就是说一组已知数据构成一个方程,如果有n测量数据就构成n组方程,此时fsolve函数可以搞定这个工作。
3..然当作一个拟合问题,而微分方程当作一个黑匣子,只是这个拟合的一直数据是测量的两组而已。这个时候lsqcurvefit、cftool和Simulink Design Optimization就可以大显身手了。不过调用lsqcurvefit和cftool函数来拟合,您必须对这两个函数熟悉呀,这个可是需要一定的MATLAB底子,不是一般的所谓大侠能够搞定的。
当然以上是高手的做法。
但如果你对Matlab只是一般性的了解的话推荐用插值拟合+数值微分的方法,如果实验数据够多误差是能满足一定要求的。
1、基于matlab四种方法解决变参量常微分方程参数识别(回归)
2、基于MATLAB和Forcal进行微分方程参数拟合
3、一个典型隐式方程(通用有效介质方程)的拟合实例
总的来说微分方程参数拟合有三种方法:
1.将原问题转换为一个优化问题,就是使拟合得到的结果和实验测量值之差的平方和最小,此时您可以调用MATLAB优化工具箱的所有函数,最这个目标进行优化,比如fmincon,ga,lsqnonlin等。
2 将问题看成一个超静定方程组,也就是说一组已知数据构成一个方程,如果有n测量数据就构成n组方程,此时fsolve函数可以搞定这个工作。
3..然当作一个拟合问题,而微分方程当作一个黑匣子,只是这个拟合的一直数据是测量的两组而已。这个时候lsqcurvefit、cftool和Simulink Design Optimization就可以大显身手了。不过调用lsqcurvefit和cftool函数来拟合,您必须对这两个函数熟悉呀,这个可是需要一定的MATLAB底子,不是一般的所谓大侠能够搞定的。
当然以上是高手的做法。
但如果你对Matlab只是一般性的了解的话推荐用插值拟合+数值微分的方法,如果实验数据够多误差是能满足一定要求的。
追问
我对matlab不熟悉,能否给一下代码。另外x,y数据量较大,写成什么文件格式容易读入matlab呢?
追答
就Excel行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询