matlab 解三次,运用MATLAB解三四次多项式

41528d3028836879cd698677c3999917.gif运用MATLAB解三四次多项式

MATLAB解多项式 用MATLAB解多项式以三次、四次为例; 运用MATLAB解三、四次多项式,下面以一组数据来演示: 例如,以下数据是某产品从1978年到2010年销售情况,是预测以后几年的销售情况? 1978 1979 1980 1981 1982 1983 1984 1985 1986 566 632 745 755 769 789 985 1110 1313 1987 1988 1989 1990 1991 1992 1993 1994 1995 1428 1782 1920 2150 2292 2601 3149 4338 5145 1996 1997 1998 1999 2000 2001 2002 2003 2004 5809 6241 6854 7656 8772 10007 11374 12567 14332 2005 2006 2007 2008 2009 2010 16614 19228 22844 26404 29688 32074 首先,用MATLAB画图,程序如下: x=1:33; y=[566 632 745 755 769 789 985 1110 1313 1428 1782 1920 2150 2292 2601 3149 4338 5145 5809 6241 6854 7656 8772 10007 11374 12567 14332 16614 19228 22844 26404 29688 32074]; plot(x,y) 画出的图形如下图: 近似符合多项式,用多项式进行拟合。 用三次多项式进行拟合: 设三次多项式为y=a0+a1*x+a2*x^2+a3*x^3,用最小二乘法求解多项式系数,程序如下: at long x=1:33; sumx1=sum(x(1,:)); %x中的元素相加% b=x.*x; %x中各元素的平方% sumx2=sum(b(1,:)); %x中各元素的平方相加% c=b.*x; %x中各元素的三次方% sumx3=sum(c(1,:)); %x中各元素的三次方相加% d=b.*b; %x中各元素的四次方% sumx4=sum(d(1,:)); %x中各元素的四次方相加% e=d.*x; %x中各元素的五次方% sumx5=sum(e(1,:)); %x中各元素的五次方相加% f=c.*c; %x中各元素的六次方% sumx6=sum(f(1,:)); %x中各元素的六次方相加% A=[33 sumx1 sumx2 sumx3;sumx1 sumx2 sumx3 sumx4;sumx2 sumx3 sumx4 sumx5;sumx3 sumx4 sumx5 sumx6]; y=[566 632 745 755 769 789 985 1110 1313 1428 1782 1920 2150 2292 2601 3149 4338 5145 5809 6241 6854 7656 8772 10007 11374 12567 14332 16614 19228 22844 26404 29688 32074]; sumy1=sum(y(1,:)); i=x.*y; sumy2=sum(i(1,:)); j=b.*y; sumy3=sum(j(1,:)); k=c.*y; sumy4=sum(k(1,:)); Y=[sumy1 sumy2 sumy3 sumy4] ; B=inv(A)*Y 运行结果为: B = 1.0e+002 * -5.55549853371922 5.33146148904227 -0.50016139300278 0.01934485988921 即a0=-555.549853371922 a1= 533.146148904227 a2=-50.016139300278 a3=1.934485988921 计算误差,程序如下: at long x=1:33; a=-555.549853371922+533.146148904227.*x-50.016139300278.*x.^2+1.934485988921.*x.^3; y=[566 632 745 755 769 789 985 1110 1313 1428 1782 1920 2150 2292 2601 3149 4338 5145 5809 6241 6854 7656 8772 10007 11374 12567 14332 16614 19228 22844 26404 29688 32074]; b=a-y; c=abs(b)./y; d=sum(c(1,:))/32 结果如下: d = 0.16981183704177 误差较大。 用四次多项式进行拟合: 设三次多项式为y=a0+a1*x+a2*x^2+a3*x^3,用最小二乘法求解多项式系数,程序如下: at long x=1:33; sumx1=sum(x(1,:)); %x中的元素相加% b=x.*x; %x中各元素的平方% sumx2=sum(b(1,:)); %x中各元素的平方相加% c=b.*x; %x中各元素的三次方% sumx3=sum(c(1,:)); %x中各元素的三次方相加% d=b.*b; %x中各元素的四次方% sumx4=sum(d(1,:)); %x中各元素的四次方相加% e=d.*x; %x中各元素的五次方% sumx5=sum(e(1,:)); %x中各元素的五次方相加% f=c.*c;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值