计算方法实验报告.docx
《计算方法实验报告.docx》由会员分享,可在线阅读,更多相关《计算方法实验报告.docx(16页珍藏版)》请在冰点文库上搜索。
计算方法实验报告
江西科技师范学院
实验报告
课程计算方法
系别
班级________
学号_______
姓名_____
目录
实验一误差的传播与估计……………………………………
实验二拉格朗日插值多项式…………………………………
实验三变步长复合梯形求积公式……………………………
实验四解非线性方程二分法…………………………………
实验五一元非线性方程的迭代解法…………………………
实验六列主元高斯消去法……………………………………
每次实验课必须带上此本子,以便教师检查预习情况和记录实验原始数据。
实验时必须遵守实验规则。
用正确的理论指导实践袁必须人人亲自动手实验,但反对盲目乱动,更不能无故损坏仪器设备。
这是一份重要的不可多得的自我学习资料袁它将记录着你在大学生涯中的学习和学习成果。
请你保留下来,若干年后再翻阅仍将感到十分新鲜,记忆犹新。
它将推动你在人生奋斗的道路上永往直前!
实验一误差的传播与估计
一、实验课程名称数学实验
二、试验项目名称误差的传播与估计
三、实验目的和要求
理解误差在算术运算中的传播方式及如何在算术运算中控制误差的传播。
四、实验内容和原理
内容:
计算积分
原理:
算术运算中的舍入误差在运算过程中的传播常因算法而异,不同算法的数值稳定性往往差别很大。
五、主要仪器及耗材
计算机与Windows2000/XP系统;TurboC/Win-TC/VB等软件。
六、操作方法与实验步骤
步骤:
(1)由分部积分法建立两种递推公式:
(2)对这两种递推式进行程序实现,分别求出
的值。
1)fprintf('当n=%1.0f,E1=%1.15f\n',1/exp
(1))
En=1/exp
(1);
forn=2:
20
En=1-n*En;
fprintf('当n=%1.0f,E%1.0f=%1.15f\n',n,n,En)
end
结果:
当n=1,E1=0.367879441171442
当n=2,E2=0.264241117657115
当n=3,E3=0.207276647028654
当n=4,E4=0.170893411885385
当n=5,E5=0.145532940573073
当n=6,E6=0.126802356561559
当n=7,E7=0.112383504069084
当n=8,E8=0.100931967447330
当.0916********
当.0838********
当.0773********
当.0717********
当n=13,E13=0.066947434300630
当n=14,E14=0.062735919791180
当n=15,E15=0.058961203132299
当.0566********
当.0374********
当n=18,E18=0.325949464266159
当n=19,E19=-5.193039821057027
当n=20,E20=104.860796421140550
2)fprintf('当n=20,E1=%1.15f\n',1/21)
En=1/21;
forn=20:
-1:
2
En=(1-En)/n;
fprintf('当n=%1.0f,E%1.0f=%1.15f\n',n-1,n-1,En)
end
结果:
当.0476********
当.0476********
当n=18,E18=0.050125313283208
当n=17,E17=0.052770815928711
当.0557********
当n=15,E15=0.059017539764444
当n=14,E14=0.062732164015704
当n=13,E13=0.066947702570307
当.0717********
当.0773********
当.0838********
当.0916********
当n=8,E8=0.100931967445593
当n=7,E7=0.112383504069301
当n=6,E6=0.126802356561528
当n=5,E5=0.145532940573079
当n=4,E4=0.170893411885384
当n=3,E3=0.207276647028654
当n=2,E2=0.264241117657115
当n=1,E1=0.367879441171442
七:
分析:
算术运算中的舍入误差在运算过程中的传播常因算法而异,不同的算法的数值稳定性往往差别很大
实验二拉格朗日插值多项式
一、实验课程名称数学实验
二、实验项目名称拉格朗日插值多项式
三、实验目的和要求
理解插值函数的概念及插值多项式的唯一性,掌握代数插值中拉格朗日插值多项式的基本原理及程序实现。
四、实验内容和原理
内容:
从函数表:
0.0
0.1
0.195
0.3
0.401
0.5
0.39894
0.39695
0.39142
0.38138
0.36812
0.35206
出发,用拉格朗日插值多项式计算
的近似值。
原理:
利用
个插值节点可构造一个最高次数不超过
次的代数插值多项式,利用该代数插值多项式可做相应的函数逼近。
五、主要仪器及耗材
计算机与Windows2000/XP系统;TurboC/Win-TC/VB等软件。
六、操作方法与实验步骤
步骤:
(1)根据实验内容,给出问题的程序代码;
(2)上机输入和调试所编程序;
(3)调试成功后,整理出实验报告。
functionf=fun4(t)
formatlong
x=[0.00.10.1950.30.4010.5];
y=[0.398940.396950.391420.381380.368120.35206];
s=0;
fori=1:
6
s1=1;s2=1;
forj=1:
i-1
s1=s1*(t-x(j));
end
forj=i+1:
6
s2=s2*(t-x(j));
end
p=s1*s2;
s3=1;s4=1;
forj=1:
i-1
s3=s3*(x(i)-x(j));
end
forj=i+1:
6
s4=s4*(x(i)-x(j));
end
q=s3*s4;
r=p/q;
s=s+r*y(i);
end
f=s;
结果:
fun4(0.15)
ans=
0.394472803878061
fun4(0.31)
ans=
0.380219062454732
fun4(0.47)
ans=
0.357222112339485
七、实验结果与分析:
结果:
fun(o、15)=0.394472803878061fun(0、31)=0.380219062454732
Fun(0、47)=0.357222112339485
分析:
利用n+1个节点可构造不超过n次袋鼠插值多项式
实验三变步长复合梯形求积公式
一、实验课程名称数学实验
二、实验项目名称变步长复合梯形求积公式
三、实验目的和要求
理解积分数值计算方法的意义,明确数值积分中步长与精度的关系,掌握变步长复合梯形求积公式的程序实现。
四、实验内容和原理
内容:
用变步长复合梯形求积公式计算积分
的近似值,要求误差不超过
。
原理:
将积分区间逐次分半,每分一次就用同一个复合积分公式算出相应的积分近似值,并利用前后两次计算结果来判断误差是否达到精度要求。
五、主要仪器及耗材
计算机与WindowsXP系统;C/VB编译环境。
六、操作方法与实验步骤
步骤:
(1)根据实验内容,给出问题的程序代码;
(2)上机输入和调试所编程序;
(3)调试成功后,整理出实验报告。
1)functionf=fun2(x)
f=4/(1+x^2);
2)functionf=t(h)
a=0;b=1;n=(b-a)/h;s=0;
fork=0:
n-1
s=s+fun2(a+k*h);
end
f=h/2*(fun2(a)+fun2(b)+2*s);
3)clc
m=1;h=1;
t1=t(h);t2=t(h/2);
whileabs(t1-t2)>1/2*10^(-5)
m=m+1;
t1=t2;
t2=(4^(m-1)*t(h/2)-t(h))/(4^(m-1)-1);
h=h/2;
end
m
t2
double(int('4/(1+x^2)',0,1))
结果:
m=
23
t2=
3.141593607264110
ans=
3.141592653589793
七、实验结果与分析。
结果与分析:
m=23t2=3.141593607264110
ans=3.141592653589793
达到了精度要求。
实验四解非线性方程的二分法
一、实验课程名称数学实验
二、实验项目名称解非线性方程的二分法
三、实验目的和要求
理解二分法的基本思想,掌握二分法的程序实现。
四、实验内容和原理
内容:
用二分法计算方程
在区间
内根的近似值,要求误差不超过
。
原理:
将含根区间逐次分半,每分一次判断根所在的子区间,舍去无根区间,保留含根区间,依次类推,直至结果满足精度要求。
五、主要仪器及耗材
计算机与Windows2000/XP系统;TurboC/Win-TC/VB等软件。
六、操作方法与实验步骤
步骤:
(1)根据实验内容,给出问题的程序代码;
(2)上机输入和调试所编程序;
(3)调试成功后,整理出实验报告。
1、functionf=f(x)
f=x^3-x^2-1;
2、a=1;b=2;
whileabs(f(a)-f(b))>10^(-6)
c=(a+b)/2;
iff(a)*f(c)<0
a=a;
b=c;
else
a=c;
b=b;
end
end
alpha=(a+b)/2
double(solve('x^3-x^2-1'))
结果:
alpha=
1.465571284294128
ans=
1.465571231876768
-0.232785615938384+0.792551992515448i
-0.232785615938384-0.792551992515448i
七、实验结果与分析
结果与分析:
alpha=1.465571284294128
-0.232785615938384
0.792551992515448i
-0.232785615938384
0.792551992515448
实验五一元非线性方程的迭代解法
一、实验课程名称数学实验
二、实验项目名称一元非线性方程的迭代解法
三、实验目的和要求
通过该综合性实验的基本训练,使学生进一步掌握科学计算方法的基本知识;掌握使用常用计算机语言编程进行数值计算的方法;巩固学生对一元非线性方程的迭代解法的理解及对迭代解法收敛性及收敛速度的理解;提高学生对数值计算中误差分析的能力。
四、实验内容和原理
内容:
用单点迭代法及牛顿迭代法解一元非线性方程
在[1,3]内的根,要求误差不超过
。
原理:
迭代法是一种逐次逼近法,这种方法使用某个迭代公式反复校正根的近似值,使之逐步精确化,最后得到满足精度要求的结果。
五、主要仪器及耗材
计算机与Windows2000/XP系统;TurboC/Win-TC/VB等软件。
六、操作方法与实验步骤
步骤:
(1)建立迭代公式;
(2)选择合适的初值;
(3)编程计算;
(4)上机输入和调试所编程序;
(5)进行误差分析及收敛性分析;
(6)整理出实验报告。
a=1;b=3;
x=(a+b)/2;
y=x^3-x-1;z=3*x^2-1;
whileabs(y/z)>0.000001
x=x-y/z;
y=x^3-x-1;z=3*x^2-1;
end
x
结果:
x=
1.324717957245858
八、实验结果与分析
结果:
x=1.324717957245858
ans=1.32471795724746
分析:
这种迭代法仅用于某个迭代公式反复校正根的近似值,使之逐步精确化,最后得到满足精确度要求的结果
实验六列主元高斯消去法
一、实验课程名称数学实验
二、实验项目名称列主元高斯消去法
三、实验目的和要求
理解线性方程组直接解法的基本思想,理解列主元高斯消去法的稳定性条件,掌握列主元高斯消去法的程序实现,体会模块化结构程序设计方法的优点。
四、实验内容和原理
内容:
用列主元消去法求解方程组
要求输出:
计算解
;
原理:
在高斯消去法的每一次消元计算之前,在系数矩阵或消元后的低阶矩阵中按照一定的范围选取绝对值最大的数做为主元素,以减少计算过程中舍入误差对解的影响。
五、主要仪器及耗材
计算机与Windows2000/XP系统;TurboC/Win-TC/VB等软件。
六、操作方法与实验步骤
步骤:
(1)根据实验内容,给出问题的程序代码;
(2)上机输入和调试所编程序;
(3)调试成功后,整理出实验报告。
a=[11111117;
21111118;
321111110;
432111113;
543211117;
654321122;
765432128];
[m,n]=size(a);
x=zeros(m,1);
forj=1:
n-2
c=max(a(j:
m,j));
fori=j:
m
ifa(i,j)==c
t=a(j,:
);
a(j,:
)=a(i,:
);
a(i,:
)=t;
end
end
fori=j+1:
m
forp=j+1:
n
a(i,p)=a(i,p)-a(i,j)*a(j,p)/a(j,j);
end
end
fori=j+1:
m
a(i,j)=0;
end
end
a;
x(m)=a(m,n)/a(m,m);
fori=m-1:
-1:
1
s=0;
forj=i+1:
m
s=s+a(i,j)*x(j);
end
x(i)=(a(i,n)-s)/a(i,i);
end
X
A=[1111111;
2111111;
3211111;
4321111;
5432111;
6543211;
7654321];
B=[781013172228]';
X=A\B
七、实验结果与分析
结果与分析:
结果:
X=
11
12
13
14
15
16
17
18
19
110
X=
1.000000000000000
1.000000000000000
1.000000000000000
1.000000000000002
0.999999999999996
1.000000000000003
0.999999999999999