matlab求出拟合曲线的方程,已知数据点,拟合曲线并得到曲线方程。谢谢

% 输入数据

x=[-0.0003        -0.0212        -0.035        -0.0474        -0.0637        -0.0755        -0.0755        -0.0814        -0.0892        -0.0964        -0.0997        -0.1121        -0.1199        -0.1467        -0.1565        -0.1611        -0.1663        -0.1729        -0.1788        -0.1833        -0.1873        -0.1931        -0.1977        -0.2023        -0.2069        -0.2134        -0.2225        -0.2317        -0.2382        -0.2454        -0.2526        -0.2578        -0.2624        -0.2676        -0.2748        -0.2846        -0.2944        -0.3016        -0.3108        -0.3219        -0.333        -0.3435        -0.3539        -0.3657        -0.3735        -0.3879        -0.3997        -0.4101        -0.4193        -0.4395        -0.452        -0.4592        -0.469        -0.4788        -0.4912        -0.4997        -0.5095        -0.5199        -0.5324        -0.5408        -0.552        -0.5598        -0.5709        -0.5794        -0.5892        -0.601        -0.6121        -0.6193        -0.6284        -0.635        -0.6428        -0.6546        -0.6644        -0.6716        -0.6781        -0.6729]';

y=[0.0007        -0.0022        -0.0036        -0.0065        -0.0109        -0.0138        -0.0138        -0.0167        -0.0196        -0.0225        -0.0255        -0.0313        -0.0356        -0.0531        -0.0589        -0.0633        -0.0662        -0.0705        -0.0735        -0.0778        -0.0807        -0.0851        -0.088        -0.0924        -0.0967        -0.1025        -0.1127        -0.1215        -0.1273        -0.136        -0.1418        -0.1476        -0.1535        -0.1593        -0.168        -0.1767        -0.1898        -0.1985        -0.2131        -0.2262        -0.2407        -0.2538        -0.2684        -0.2829        -0.2931        -0.3149        -0.3324        -0.3455        -0.36        -0.3891        -0.4065        -0.4211        -0.4371        -0.4502        -0.4705        -0.4836        -0.4996        -0.5171        -0.5389        -0.552        -0.5695        -0.584        -0.6015        -0.6189        -0.6364        -0.6567        -0.6756        -0.6902        -0.7033        -0.7193        -0.7324        -0.7542        -0.7716        -0.7862        -0.7964        -0.7876]';

fx=@(b,x)(b(1)*x+b(2)*x.^3)./(1+b(3)*x+b(4)*x.^2); % 输入模型

b=[0.14  48  -13.58  18.89]; %参数初值

for l=1:3  % 可随b 的变化调节循环次数

b=lsqcurvefit(fx,b,x,y)

b=nlinfit(x,y,fx,b)

end

figure(1),clf

plot(x,y,'o','markersize',10,'markerfacecolor','b')

hold on

x1=min(x):range(x)/230:max(x);

y1=fx(b,x1);

plot(x1,y1,'r-','linewidth',3)

legend('data','fit','location','best')

nh82.jpg

(32.97 KB, 下载次数: 5)

2011-9-8 15:52 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

c981db25583a990e65210933cdb071af.png