数值计算方法实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
差值法实验日志
实验题目:插值法
实验目的:
1.掌握拉格朗日插值、牛顿插值、分段低次插值和样条插值的方法。
2.对四种插值结果进行初步分析。
实验要求:
(1)写出算法设计思想;
(2)程序清单;
(3)运行的结果;
(4)所得图形;
(5)四种插值的比较;
(6)对运行情况所作的分析以及本次调试程序所取的经验。如果程序未通过,应分析其原因。
实验主要步骤:
1.已知函数)
f满足:
(x
x0.0 0.1 0.195 0.3 0.401
0.5
f(0.39894 0.39695 0.39142 0.38138 0.36812
x
)
0.35206
(1)用分段线性插值;
打开MATLAB,按以下程序输入:
x0=-5:5;
y0=1./(1+x0.^2);
x=-5:0.1:5;
y=1./(1+x.^2);
y1=lagr(x0,y0,x);
y2=interp1(x0,y0,x);
y3=spline(x0,y0,x);
for k=1:11
xx(k)=x(46+5*k);
yy(k)=y(46+5*k);
yy1(k)=y1(46+5*k);
yy2(k)=y2(46+5*k);
yy3(k)=y3(46+5*k); end
[xx;yy;yy2;yy3]'
z=0*x;
plot(x,z,x,y,'k--',x,y2,'r') plot(x,z,x,y,'k--',x,y1,'r') pause
plot(x,z,x,y,'k--',x,y3,'r') 回车得以下图形:
(2) 拉格朗日插值。
创建M 文件,建立lagr 函数:
function y=lagr1(x0,y0,x)
n=length(x0);m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
新建一个M 文件,输入:
x0=[0.0 0.1 0.195 0.3 0.401 0.5];
y0=[0.39894 0.39695 0.39142 0.38138 0.36812 0.35206];
x=0.0:0.01:0.5;
y1=lagr1(x0,y0,x);
00.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
[x',y1'];
plot(x0,y0,'k+',x,y1,'r')
得以下图形:
矩阵的特征值和特征向量实验日志
实验题目:矩阵的特征值和特征向量
实验目的:
1..掌握乘幂法、反幂法、雅可比方法和QR方法。
2.分析、比较四中求解矩阵特征值和特征向量的方法
实验要求:
(1)写出算法设计思想;
(2)程序清单;
(3)运行的结果;
(4)所得图形;
(5)四种插值的比较;
(6)对运行情况所作的分析以及本次调试程序所取的经验。如果程序
未通过,应分析其原因。
实验主要步骤:
1.用乘幂法求矩阵
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡-----=131********A 的按模最大的特征值及相应的特征向量,取T X )1,5.0,5.0(0=,要求至少
迭代6次。
用MATLAB 实现,程序如下:
A=[4,-1,1;16,-2,-2;16,-3,-1];
X=[0.5,0.5,1]';
for k=1:10;
Y=A*X;
m=max(abs(Y));
dc=abs(lambda-m);
Y=(1/m)*Y;
dv=norm(X-Y);
err(k)=max(dc,dv)
X=Y;
lambda=m;
end
max_lamdba=m ;
V=X;
plot(err);
结果:
err =5.5000
err =5.5000 1.9545
err =5.5000 1.9545 1.1469
err =5.5000 1.9545 1.1469 1.2442
err =5.5000 1.9545 1.1469 1.2442 1.2033
err =5.5000 1.9545 1.1469 1.2442 1.2033 1.2091
err =5.5000 1.9545 1.1469 1.2442 1.2033 1.2091 1.2066 err =
Columns 1 through 7
5.5000 1.9545 1.1469 1.2442 1.2033 1.2091 1.2066 Column 8
1.2069
err =
Columns 1 through 7
5.5000 1.9545 1.1469 1.2442 1.2033 1.2091 1.2066 Columns 8 through 9