bmagic 发表于 2014-11-3 23:07

拟合问题 帮帮忙

如何用matlab对指定的一个公式进行曲线拟合?
x=;
y=;
方程式y=a*exp(b*x+c*x^2)
我用了cftool的自定义方程来做,拟合的结果老是一条直线,求大神们帮忙

haoyongle 发表于 2014-11-3 23:45

选取不同才初值条件试试

madio 发表于 2014-11-4 08:22

首先一个,就是你的x的值太大了,放到指数函数的幂次中肯定超过一般机器的范围了,我把它改为
x=了,另外就是你的这些数本身就近似一条直线,所以画出来的图也是这个效果,但是这只是一个指数函数的一小部分的图,和直线相近也是正常的,毕竟任何函数在小的邻域内都可以用直线近似的,下面是我的拟合结果,效果还是不错的,你可以看看

General model:
     f(x) = a*exp(b*x+c*x^2)
Coefficients (with 95% confidence bounds):
       a =       202.7  (202.2, 203.1)
       b =    0.001743  (0.0003527, 0.003133)
       c =   1.574e-05  (-0.0001785, 0.00021)

Goodness of fit:
  SSE: 0.01735
  R-square: 0.9936
  Adjusted R-square: 0.9894
  RMSE: 0.07605
页: [1]
查看完整版本: 拟合问题 帮帮忙