matlab中做指数拟合,如何输入一个x值,得到拟合后的y值?

x=0.000.280.570.851.141.421.711.992.282.562.843.133.413.703.984.274.554.835.125.40y=0... x=
0.00
0.28
0.57
0.85
1.14
1.42
1.71
1.99
2.28
2.56
2.84
3.13
3.41
3.70
3.98
4.27
4.55
4.83
5.12
5.40
y=
0.00
0.08
0.16
0.21
0.25
0.27
0.30
0.32
0.35
0.37
0.40
0.42
0.44
0.45
0.47
0.48
0.49
0.51
0.52
0.53
不用cftool,需要自编程序。用y=a*e^(b*t)+c*e^(d*t)拟合,得到拟合曲线后,我在输入一个x(或y)值,能得到拟合后的相应y(或x)值。
%多给些注释!谢谢谢谢谢谢谢~~~
展开
 我来答
雨扬振1238
2013-07-15 · TA获得超过2782个赞
知道小有建树答主
回答量:586
采纳率:100%
帮助的人:983万
展开全部
你这个曲线拟合本来就不是简单的事情。对于这种指数函数的线性组合,一般很难找到合适的变换使其变成多项式。如果你能找到这样的变换,那么问题就简单许多。如果不能,那么就需要Bayesian inference和Metropolis-Hastings来实现较为严格的拟合。这种方法较为复杂而且费时,但是如果得到的posterior distributions都是收敛的话,那么这个拟合结果是非常可信的,甚至可以发表。

如果你只是想根据已知的数据来推测一些中间值,并且你假设的这个函数没有任何理论依据的话,还是建议用插值比较方便。另外,目测数据的y值波动并不大,插值应该是比较准确的。
更多追问追答
追问
谢谢你详细的回答!
不过我还是希望能得到函数公式,因为后面我要用它和另一函数求交点。
追答
哦,好吧。对于这种较为复杂的函数,我还真不知道有什么比较简单而且可靠的拟合方法。其实插值也是一种近似函数,也能被用来求交点。就描述数据而言,两者唯一的不同点是,前者是一个无限可微函数而后者是一个分段函数。如果实际问题要求必须用一个无限可微的函数去逼近数据,那么函数的选择就变得非常关键。这个函数可以是经验函数(即不一定要有理论基础),但关键是你要找到一个标准去界定拟合度(比如最小二乘,收敛的posterior distributions等等)。

另外,关于一个函数的理论支持,根据你假设的函数,我觉得这些数据也许满足这样一个微分方程,y''-(b+d)y'+bd=0,initial condition是y(0)=0,(注意这里缺少一个条件)。你可以根据实际问题来判断这个理论合不合理。如果实际问题可以用这个线性微分方程来模拟和解释,那么一定存在一组参数使得你选的这个函数可以很好的拟合数据(也就证明了参数的存在性)。

当然我只是随便猜一下,希望能提供一点有用的东西。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式