数值分析实验题和程序报告Word文档下载推荐.docx
《数值分析实验题和程序报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数值分析实验题和程序报告Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
functioncharpt2_1
%数值实验2.1:
多项式插值的震荡现象
%输入:
函数式选择,插值节点数
%输出:
拟合函数及原函数的图形
promps={'
选择实验函数,若选f(x),输入f,若选h(x),输入h,若选g(x),输
入g:
'
};
result=inputdlg(promps,'
charpt2_1'
1,{'
f'
});
Nb_f=char(result);
if(Nb_f~='
&
Nb_f~='
h'
g'
)
errordlg('
实验函数选择错误!
'
);
return;
end
result=inputdlg({'
请输入第一幅图插值节点数N>
=2:
},'
2'
Nd0=str2num(char(result));
if(Nd0<
2)
节点数输入错误!
请输入两幅图间插值节点数差值D:
},'
1'
D=str2num(char(result));
switchNb_f
case'
f=inline('
1./(1+25*x.A2)'
);
a=-1;
b=1;
x./(1+x.A4)'
a=-5;
b=5;
atan(x)'
fori=1:
6
Nd=Nd0+(i-1).*D;
x0=linspace(a,b,Nd+1);
y0=feval(f,x0);
x=a:
0.01:
b;
y=Lagrange(x0,y0,x);
subplot(2,3,i);
plot(x0,y0,'
*'
holdon;
fplot(f,[a,b],'
k'
plot(x,y,'
b--'
s1='
x(节点数N='
;
s2=num2str(Nd);
s3='
)'
s=[s1s2s3];
xlabel(s);
ylabel('
y=f(x)-andy=Ln(x)--'
end
%Lagrange插值函数
functiony=Lagrange(x0,y0,x)n=length(x0);
m=length(x);
mz=x(i);
s=0.0;
fork=1:
p=1.0;
forj=1:
nif(j~=k)p=p*(z-x0(j))/(x0(k)-x0(j));
endends=s+p*y0(k);
endy(i)=s;
2、实验结果
%g02
K(节N=2>
丄iu/=xPJn-主匕监
丄iua匕pjiE肯匕=<
-0.S0
x(节点如®
』.50
M[书点数HE
pun
丄卓-5Lpu牌mnl
电!
5«
阳
徨(节点5+N=T)
图1-1函数f(x)对应的Lagrange插值函数图形(节点数2〜7)
pus:
・
■1-0.500.S
mf节点ftM=a>
丄iIrlEpUE->
亘;
|ei
4S
.21.S.64.2
T.ao.Qa
•1-fl.6D06
胃M=9)
-04
丄MJnrlHXpuir・CIIIL
■051一
-1-0.5QD■丐
Xf节点數
丄壬Inlp羸・ETS
iK>
lrlLpuq■7T
!
/b
i/V
-0.50M
xf节点败讯酣
4
2.4丿-(I.
jpuH-〔«
}■=』
Ji{节点S*N=2>
丄xxnLpum-s'
x(节点Hhi=3>
04Q.-aQ丄X耳L乍
ipUE-R-H*n
05
覚「节点gSN=5>
丄昌UJLIB•iiH
D5
wC节点数M=6>
X•:
•节.^M=4;
mjRttN=7)
图1-3函数h(x)对应的Lagrange插值函数图形(节点数2〜7)
.<
511・SE-M5L■s」k
kf节ASSN=2>
51505d5I
1E5LP匚n宣I>
D&
*f节jft.^N=3>
古互虽pue■S-L
X(帯点■数N=5>
丄305LpugAiTA
xK节磁N"
图1-5函数g(x)对应的Lagrange插值函数图形(节点数2〜7)
xN=W>
=・j5aipu恒•iITE
fl
4-1
•丄昶百“土punj’il-^TiJi
xC书点HN=i2)
丄吕5L?
b•(工|耳
•am'
5」?
:
s兀
o
xf节点KSN=fl)
■-ujlJqLpUE-iMJ
-*弓」n?
_r』
x{节N=11>
3、结果分析
根据实验结果可以看出,无论是哪个函数在某个低次以下时,插值函数值与实际函数值差别很大。
随着次数上升,插值函数值越接近实际函数值,但是这只是在一定的区间上。
如果不在此区间上,随着次数上升,会出现插值结果突然偏离原函数的现象,次数越高,偏离现象越严重。
实验3.1三次多项式最小二乘拟合
-n
编制以函数:
xk?
为基的多项式最小二乘拟合程序,并用于对表k兰
3.11中的数据作三次多项式最小二乘拟合。
表3.11
Xi
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
yi
-4.447
-0.452
0.551
0.048
-0.447
0.549
4.552
取权数.=1,求拟合曲线:
-;
xk中的参数〕j、平方误差
k=0
-■2,并作离散数据认,的拟合函数y二*(x)的图形。
functioncharpt3_1
%数值实验3.1:
三次多项式最小二乘拟合
%输岀:
原函数及求得的插值多项式函数图形以及参数alph和误差r
x0=-1:
0.5:
2;
y0=[-4.447-0.4520.5510.048-0.4470.5494.552];
n=3;
%n为拟合阶次
alph=polyfit(x0,y0,n);
%参数'
■-<
k/
y=polyval(alph,x0);
%平方误差
r=(y0-y)*(y0-y)'
x=-1:
y=polyval(alph,x);
k--'
xlabel('
x'
ylabel('
yO*andpolyval.y--'
plot(xO,yO,'
title(离散数据的3次多项式最小二乘拟合'
gridon;
disp(['
参数alph:
num2str(alph)]);
平方误差:
num2str(r)]);
当取权数,=1时,所求离散数据认,yi[的3次多项式最小二乘拟合函数y=^(x)的图形如图2-1所示。
图2-1离散数据的3次多项式最小二乘拟合
3
拟合曲线0=送ot;
xk中的参数的值依次为:
k-Q
1.9991-2.9977-3.9683e-0050.54912
平方误差j.2为:
2.1762e-005。
最小二乘曲线拟合是在离散情形下的最佳平方逼近,拟合的曲线很光滑,而且所有的7个数值点均在曲线上,拟合效果很好,拟合的平方误差很小,为10-5量级。
实验5.1常微分方程性态和R-K法稳定性实验
实验目的:
考察下面微分方程右端项中函数y前面的参数对方程性态
的影响(它可使方程为好条件的或坏条件的)和研究计算步长对R-K法计
算稳定性的影响。
实验题目:
常微分方程初值问题
厂'
』y=cty—o(x+1,0CXC1,
』(0)=1,
其中,-50_50。
其精确解为y(x)=e〉Xx。
本实验题都用4阶经典R-K法计算。
(1)对参数:
-,分别取4个不同的数值:
一个大的正值,一个小的
正值,一个绝对值小的负值和一个绝对值大的负值。
取步长h=0.01,分别
用经典的R-K法计算,将四组计算结果画在同一张图上,进行比较并说明
相应初值问题的性态。
(2)取参数:
为一个绝对值不大的负值和两个计算步长,一个步长使参数在经典R-K法的稳定域内,另一个步长在经典R-K法的稳定域外。
分别用经典R-K法计算并比较计算结果。
取全域等距的10个点上的计算值,列表说明。
functioncharpt5_1
%数值实验5.1:
常微分方程性态和R-K法稳定性实验
参数a,步长h
%输出:
精确解和数值解图形对比
promps={'
若选择实验要求1,请输入1;
若选择实验要求2,请输入2:
result=inputdlg(promps,'
charpt5_1'
1,{'
Nb=str2num(char(result));
if(Nb~=1)&
(Nb~=2)
选择错误!
if(Nb==1)
result=inputdlg({'
请输入参数a的一个大的正值:
1,{'
40'
a=str2num(char(result));
result=inputdlg({'
请输入参数a的一个小的正值:
10'
b=str2num(char(result));
请输入参数a的一个绝对值小的负值:
1,{'
-10'
c=str2num(char(result));
请输入参数a的一个绝对值大的负值:
-40'
d=str2num(char(resu