用matlab拟合下面一组数据的曲线

问题描述:

用matlab拟合下面一组数据的曲线
x=[-2.30259,-1.60944,-1.20397,-0.91629,-0.69315,-0.51083,-0.35667,-0.22314,-0.10536,0.00000,0.40546,0.69315,0.91629,1.09861,1.25276,1.38629,1.50408,1.60944,1.70475,1.79176];
y=[2.48491,3.06805,3.21888,3.31419,3.41773,3.44681,3.50556,3.52636,3.57235,3.61092,3.87950,3.92395,4.03247,4.13517,4.20916,4.28496,4.34898,4.41158,4.45898,4.60116];
a=polyfit(x,y,6);
yi=polyval(a,x);
plot(x,y,'o',x,yi,'r')
这是我写的程序,可是曲线的效果不是太好,对拟合的阶数作了变化,还是不行,图形如下,能使的那条曲线更加光滑一点.
1个回答 分类:综合 2014-10-24

问题解答:

我来补答
%xi重新取值
clear
x=[-2.30259,-1.60944,-1.20397,-0.91629,-0.69315,...
-0.51083,-0.35667,-0.22314,-0.10536,0.00000,...
0.40546,0.69315,0.91629,1.09861,1.25276,1.38629,...
1.50408,1.60944,1.70475,1.79176];
y=[2.48491,3.06805,3.21888,3.31419,3.41773,3.44681,...
3.50556,3.52636,3.57235,3.61092,3.87950,3.92395,...
4.03247,4.13517,4.20916,4.28496,4.34898,4.41158,...
4.45898,4.60116];
a=polyfit(x,y,6);
xi=linspace(min(x),max(x),length(x));
yi=polyval(a,xi);
plot(x,y,'o',xi,yi,'r')
 
 
展开全文阅读
剩余:2000
上一页:高数一指数函数
下一页:必修五第四单元