【发布时间】:2012-02-23 11:49:20
【问题描述】:
等式如下:
y=|A-B*exp(-x/C)|
其中||表示绝对值。
【问题讨论】:
标签: matlab curve-fitting
等式如下:
y=|A-B*exp(-x/C)|
其中||表示绝对值。
【问题讨论】:
标签: matlab curve-fitting
最简单的方法是使用curve fitting 工具箱,您可以在其中定义自己的自定义拟合函数。
另一种选择是安装ezyfit toolbox 可用的here。
【讨论】:
abs(a-b*exp(-x/c)),其中abs()是绝对值。你会得到哪种错误?在curve fitting 工具箱中,您是否定义了您想要适应的dataset?作为一个额外的说明:你确定你的拟合方程吗?看起来有点奇怪,可能绝对值放错了位置,正确的方程是a-b*exp(-abs(x)/c),它围绕零对称。
a-b*exp(-abs(x)/c),因为x 数据不为零!考虑到沿 x 轴的水平平移引入了一个额外的参数x0,我得到了一个不错的选择。所以修改后的函数是a-b*exp(-abs(x-x0)/c)。使用您提供的数据,我得到了这些参数(括号中的置信区间):a = 3905 (3265, 4545); b = 3931 (2432, 5431); c = 140.1 (25.82, 254.3); x0 = 162.5 (127.5, 197.6) 拟合并不好,但就是这样。
尝试查看cftool 命令
【讨论】: