- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析实验和题程序
一、实验3.1
编制以函数危机的多项式最小二乘拟合程序,并用于对表3.11中的数据作3次多项式最小拟合。
-1.0 -.05 0.0 0.5 1.0 1.5 2.0 -4.447 -0.452 0.551 0.048 -0.447 0.549 4.552 取权数,求拟合曲线中的参数、平方误差,并作离散数据的拟合曲线的图形。
程序代码:
x0=-1:0.5:2;
y0=[-4.447 -0.452 0.551 0.048 -0.447 0.549 4.552];
n=3;
alph=polyfit(x0,y0,n) %参数{ak}
y=polyval(alph,x0);
r=(y0-y)*(y0-y) %平方误差=r
y=polyval(alph,x);
x=-1:0.01:2;
y=plot(x,y,k--);
xlabel(x);
ylabel(y0 * and polyfit.y--);
hold on;
plot(x0,y0,*);
title(离散数据的3项拟合)
grid on;
实验结果:
拟合函数的图形:
拟合曲线中的参数中依次为alph中的四个数值。
alph =
1.9991 -2.9977 -0.0000 0.5491
平方误差=r。
r =
2.1762e-005
实验分析:
最小二乘曲线拟合是在离散情形下的最佳平方逼近,拟合的曲线很光滑,而且所有的7个数值点均在曲线上,拟合效果很好;拟合的平方误差很小,为10-5量级。
二、实验3.2
编制正交化多项式最小二乘拟合程序,并用于求解上题中的3次多项式最小二乘拟合问题,作拟合曲线的图形,计算平方误差,并与上题结果进行比较。
程序代码:
x=-1:0.5:2;
y=[-4.447 -0.452 0.551 0.048 -0.447 0.549 4.552];
n=3;
result=inputdlg({请输入权向量w:},charpt-3,1,{[1 1 1 1 1 1 1]});
w=str2num(char(result));
m=length(x)-1;
s1=0;s2=ones(1,m+1);v2=sum(w);
d(1)=y*w;c(1)=d(1)/v2;
for k=1:n
xs=x.*s2.^2*w;a(k)=xs/v2;
if(k==1)
b(k)=0;
else
b(k)=v2/v1;
end
s3=(x-a(k)).*s2-b(k)*s1;
v3=s3.^2*w;
d(k+1)=y.*s3*w;c(k+1)=d(k+1)/v3;
s1=s2;s2=s3;v1=v2;v2=v3;
end
r=y.*y*w-c*d
alph=zeros(1,n+1)
T=zeros(n+1,n+2);
T(:,2)=ones(n+1,1);T(2,3)=-a(1);
if(n=2)
for k=3:n+1
for i=3:k+1
T(k,i)=T(k-1,i)-a(k-1)*T(k-1,i-1)-b(k-1)*T(k-2,i-2);
end
end
end
for i=1:n+1
for k=i:n+1
alph(n+2-i)=alph(n+2-i)+c(k)*T(k,k+2-i);
end
end
xmin=min(x);xmax=max(x);dx=(xmax-xmin)/(25*m);
t=(xmin-dx):dx:(xmax+dx);
s=alph(1);
for k=2:n+1
s=s.*t+alph(k);
end
plot(x,y,x,t,s,-);
xlabel(x);
ylabel(y);
grid on;
disp(alph);
disp(r);
实验结果:
拟合曲线图形:
参数中依次为alph中的四个数值:1.9991 -2.9977 -0.0000 0.5491
平方误差=r:2.1762e-005
实验分析:
比较实验3.1和3.2的结果发现:对于同一个数据表,两种方法的拟合参数、误差均是相等的,表示这两种方法的拟合效果是一样的。因为这个数据表不是病态的法方程组,所以没有体现出正交多项式曲线拟合的优点。根据这两个实验代码和运算时间来看,我们在做曲线拟合时可以先初步判断数据点是否病态,若否,就直接用最小二乘法拟合。以避免不必要的程序复杂化。
三、实验5.1 常微分方程性态和R-K法稳定性试验
实验目的:考察下面微分方程右端项中函数y前面的参数对方
文档评论(0)