matlab中离散数拟合出函数方程

问题描述:

matlab中离散数拟合出函数方程
x=30:5:310;
y=[33.45 37.23 40.65 41.55 30.75 40.38 30.22 30.11 22.91 23.54 22.64 13.82 13 13.1 10.3 9.85 10.57 10.21 10.3 12.37 12.19 12.37 15.08 15.8 15.8 18.86 20.03 21.29 23.54 24.26 25.88 26.42 27.95 28.49 29.66 29.75 30.2 30.38 30.65 30.29 29.84 29.03 28.31 27.32 25.61 25.07 23.54 22.46 20.75 19.04 17.69 15.62 13.46 12.1 12.37 13.16 14 15.17 16.61];
这是我的x,y数,一共60个,想把这60个点的函数表达式求出来,可以用积分形式表示最好.
1个回答 分类:综合 2014-11-23

问题解答:

我来补答
首先你给的题目有问题,Y只有59个数据,所以我给X多增加了2个.
其次你怎么没赏分
最后的结果是只有这样的人才会来解答你的问题了,
clear;clc;
x=30:5:320;
y=[33.45 37.23 40.65 41.55 30.75 40.38 30.22 30.11 22.91 23.54 22.64 13.82 13 13.1 10.3 9.85 10.57 10.21 10.3 12.37 12.19 12.37 15.08 15.8 15.8 18.86 20.03 21.29 23.54 24.26 25.88 26.42 27.95 28.49 29.66 29.75 30.2 30.38 30.65 30.29 29.84 29.03 28.31 27.32 25.61 25.07 23.54 22.46 20.75 19.04 17.69 15.62 13.46 12.1 12.37 13.16 14 15.17 16.61];
figure(1);
subplot(2,1,1);
plot(x,y,'o');%通过观察散点图发现有4个拐点,故用五次多项式拟合即可
aa=polyfit(x,y,5);
f_x=vpa(poly2sym(aa,'x'),4)
x=30:5:320;
subplot(2,1,2);
plot(x,polyval(aa,x),'r-o');
axis([0 350 0 50])
结果;
f_x =
.1393e-8*x^5-.1168e-5*x^4+.3437e-3*x^3-.4123e-1*x^2+1.675*x+17.55
其他结果自己运行看
 
 
展开全文阅读
剩余:2000