如何将数据拟合成指数函数,或者拟合成自己想要的函数形式
答案:2 悬赏:10 手机版
解决时间 2021-01-26 03:48
- 提问者网友:我是我
- 2021-01-25 17:19
如何将数据拟合成指数函数,或者拟合成自己想要的函数形式?
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-01-25 18:57
看看lsqcurvefit函数的介绍
全部回答
- 1楼网友:思契十里
- 2021-01-25 19:05
x=[510 512.5 515 517.5 520 522.5 525 527.5 530 532.5 535 537.5 540 542.5 545 547.5 550 552.5 555 557.5 560];
y=[94.1582 94.2 94.28 94.45 94.6565 94.77 94.9 95.22 95.5501 95.75 96.1 96.3 96.5748 96.65 96.75 96.83 96.9191 96.75 96.6 96.1 95.6500];
n=1;
p=polyfit(x,y,n);
r=sum(sqrt((y-polyval(p,x)).^2));
tf=1;
while(tf)
nnew=n+1;
pnew=polyfit(x,y,nnew);
rnew=sum(sqrt((y-polyval(pnew,x)).^2));
if rnew>=r
break;
end
n=nnew;p=pnew;r=rnew;
end
xx=linspace(min(x),max(x));
plot(x,y,'k.');hold on
plot(xx,polyval(p,xx),'r');
hold off;
title(['y=' poly2str(p,'x')]);
legend('数据','拟合曲线','location','northwest');
以上程序按用多项式拟合数据,并自动修改,寻找误差最小的多项式
结果上看,5次多项式的拟合得到误差最小
其实4次也已经不错了,用6次的误差反而增加
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯