当前位置:文档之家› 数值计算误差分析

数值计算误差分析

16.971132243131219
16.048274533412592
14.935355760260174
14.065272732694492
12.949055715498519
12.033449121964885
10.984041283443625
10.006059681252784
8.998394492431256
13.020900961381477 - 1.910007774372236i
11.005811621312578 + 1.079673691789552i
11.005811621312578 - 1.079673691789552i
9.534179533344050
9.149055842080687
10.579256123739048 + 1.731493063745254i
10.579256123739048 - 1.731493063745254i
9.043189086659933 + 0.627187731283113i
9.043189086659933 - 0.627187731283113i
18.089822319023433 - 1.934269493726627i
15.479395537226310 + 2.328584758063258i
15.479395537226310 - 2.328584758063258i
13.020900961381477 + 1.910007774372236i
ans =
20.000324878101402
18.997159990805148
18.011221676102622
16.971132243131219
16.048274533412592
14.935355760260174
14.065272732694492
12.949055715498519
12.033449121964885
10.984041283443625
10.006059681252784
8.998394492431256
8.000284343435283
6.999973481009383
5.999999755869895
5.000000341909659
3.999999967630562
3.000000001049189
5.000000252943546
3.999999986038213
3.000000000495274
1.999999999995120
1.000000000000041
>> ess=0.00001;
ve=zeros(1,21);
ve(3)=ess;
format long
roots(poly(1:20))
实验报告
实验课程名称数值计算
实验项目名称误差分析
年级13 1专ຫໍສະໝຸດ 数学与应用数学学生姓名袁蕊
学号1307010239
理学院
实验时间:2015年3月5日
学生所在学院:理学院专业:数学与应用数学班级:131
姓名
袁蕊
学号
1307010239
实验组
实验时间
2015.3.5
指导教师
成绩
实验项目名称
数值计算
实验目的及要求:
15.528641019538458 + 1.259636872700843i
15.528641019538458 - 1.259636872700843i
13.295792683399245 + 1.031450133955301i
13.295792683399245 - 1.031450133955301i
ve=zeros(1,21);
ve(4)=ess;
format long
roots(poly(1:20)+ve)
ans =
20.066780837716514 + 0.675621086192061i
20.066780837716514 - 0.675621086192061i
18.089822319023433 + 1.934269493726627i
11.322136148339125 + 0.396885402401486i
11.322136148339125 - 0.396885402401486i
9.925745234477496
9.013636596973937
7.998546981465636
7.000107828689729
5.999994506487728
ve=zeros(1,21);
ve(5)=ess;
format long
roots(poly(1:20)+ve)
ans =
19.935085237857809
19.308102969825914
17.762820351097801 + 0.891414459930495i
17.762820351097801 - 0.891414459930495i
1.999999999997379
0.999999999999841
>> ess=0.00001;
ve=zeros(1,21);
ve(4)=ess;
format long
roots(poly(1:20))
ans =
20.000324878101402
18.997159990805148
18.011221676102622
2将方程(1.2)中的扰动项改成 或其它形式,实验结果不大,但相差不大。
3去掉ve实验结果不再出现复数根,此时结果更接近于原方程的实根。
指导教师意见:
签名:年月日
上述简单的MATLAB程序便得到(1.2)的全部根,程序中的“ess”即是(1.2)中的 。
实验内容(包括实验具体内容、算法分析、源代码等等):
>> ess=0.00001;
ve=zeros(1,21);
ve(3)=ess;
format long
>> roots(poly(1:20)+ve)
ans =
实验硬件及软件平台:
计算机
实验内容:
为了实现方便,我们先介绍两个MATLAB函数:“roots”和“poly”。
其中若变量a存储n+1维的向量,则该函数的输出u为一个n维的向量。设a的元素依次为 ,则输出u的各分量是多项式方程
的全部根;而函数
的输出b是一个n+1维向量,它是以n维向量v的各分量为根的多项式的系数。可见“roots”和“poly”是两个互逆的运算函数。
5.000000341909659
3.999999967630562
3.000000001049189
1.999999999997379
0.999999999999841
实验结果与讨论:
1选择充分小的ess,反复进行上述实验。如果扰动项的系数 很小,我们自然感觉(1.1)和(1.2)的解应当相差很小。计算中误差减小。表明有些解关于如此的扰动敏感性高
14.065272732694492
12.949055715498519
12.033449121964885
10.984041283443625
10.006059681252784
8.998394492431256
8.000284343435283
6.999973481009383
5.999999755869895
实验(或算法)要求:
问题提出:考虑一个高次的代数多项式
显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动
其中 是一个非常小的数。这相当于是对(1.1)中 的系数作一个小的扰动。我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。
7.990840160726711
7.000516189580724
5.999985687217670
5.000000026742335
4.000000006902648
3.000000000087040
1.999999999997269
0.999999999999848
>> ess=0.00001;
算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。
数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。
ve=zeros(1,21);
ve(5)=ess;
format long
roots(poly(1:20))
ans =
20.000324878101402
18.997159990805148
18.011221676102622
16.971132243131219
16.048274533412592
14.935355760260174
7.936882322513345
7.003674605106630
5.999904970016421
5.000000890376402
4.000000023813566
相关主题