【发布时间】:2014-06-08 19:10:19
【问题描述】:
我有一个加载到matlab 的数据集。我需要在不使用曲线拟合工具cftool的情况下对绘制的曲线进行指数拟合。
我想通过执行一个代码/函数手动执行此操作,该代码/函数将输出与等式对应的a和b的值:
y = a*exp(b*x)
然后使用这些值,我将进行错误优化并创建最适合我拥有的数据。
有什么帮助吗?
提前致谢。
【问题讨论】:
-
您好,您的曲线是函数图吗,即
(x,a*exp(b*x))?在这种情况下,我建议使用标准方法,通过 Levenberg-Marquardt、梯度下降、Gauß-Newton 最小化最小二乘误差。如果您想节省时间并且可以使用优化工具箱的功能lsqnonlin。示例:data_x = [0,1,2,3]; data_y = [0.5,1.5,4.5,13.5]; residua = @(x) x(1) * exp(data_x * x(2)) - data_y; lsqnonlin(residua,[1,1])
标签: matlab curve-fitting