东南大学数值分析报告上机文档格式.docx
- 文档编号:22437663
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:25
- 大小:70.07KB
东南大学数值分析报告上机文档格式.docx
《东南大学数值分析报告上机文档格式.docx》由会员分享,可在线阅读,更多相关《东南大学数值分析报告上机文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
四、结果分析
可以得出,算法对误差的传播又一定的影响,在计算时选一种好的算法可以使结果更为精确。
从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数算所得到的结果才比较准确。
第二章
(1)给定初值
及容许误差
,编制牛顿法解方程f(x)=0的通用程序。
(2)给定方程
易知其有三个根
①由牛顿方法的局部收敛性可知存在
当
时,Newton迭代序列收敛于根x2*。
试确定尽可能大的
②试取若干初始值,观察当
时Newton序列的收敛性以及收敛于哪一个根。
(3)通过本上机题,你明白了什么?
文件fx.m
functionFx=fx(x)%%定义函数f(x)
Fx=x^3/3-x;
文件dfx.m
functionFx=dfx(x)%%定义导函数df(x)
Fx=x^2-1;
%%Newton法求方程的根%%
clear
ef=10^-6;
%这里取容许误差10^-6
k=0;
x0=input('
请输入Xo的值:
kXk'
%使用空格将其分隔开
0%f\n'
x0);
flag=1;
whileflag==1&
&
k<
=10^3
x1=x0-fx(x0)/dfx(x0);
ifabs(x1-x0)<
ef
flag=0;
end
k=k+1;
x0=x1;
%d%f\n'
k,x0);
end
%%寻找最大的delta值%%
%%
k=1;
x0=0;
whileflag==1
delta=k*10^-6;
%delta与k有关
x0=delta;
m=0;
flag1=1;
whileflag1==1&
m<
10^-6
flag1=0;
%给定容许误差
m=m+1;
end
ifflag1==1||abs(x0)>
=10^-6%未小于给定误差时停止循环
delta的最大值是%f\n'
delta);
1.运行search.m文件
结果为:
delta的最大值为0.774597
即得最大的
为0.774597,Newton迭代序列收敛于根
=0的最大区间为(-0.774597,0.774597)。
2.
(1)区间
上取-1000,-100,-50,-30,-10,-8,-7,-5,-3
kXk
0-10000.000000
1-6666.666733
2-4444.444589
3-2962.963209
4-1975.309031
5-1316.873025
6-877.915856
7-585.277997
8-390.186470
9-260.126022
10-173.419911
11-115.617118
12-77.083845
13-51.397880
14-34.278229
15-22.871618
16-15.276949
17-10.228459
18-6.884780
19-4.688772
20-3.274807
21-2.407714
22-1.939750
23-1.761259
24-1.732762
25-1.732051
26-1.732051
kXk
0-100.000000
1-66.673334
2-44.458891
3-29.654263
4-19.792016
5-13.228447
6-8.869651
7-5.989231
8-4.107324
9-2.910755
10-2.200189
11-1.848687
12-1.742235
13-1.732139
14-1.732051
15-1.732051
kXk
0-50.000000
1-33.346672
2-22.251125
3-14.864105
4-9.954458
5-6.703960
6-4.571013
7-3.200520
8-2.364515
9-1.919703
10-1.756405
11-1.732548
12-1.732051
0-30.000000
1-20.022247
2-13.381544
3-8.971129
4-6.056000
5-4.150503
6-2.937524
7-2.215046
8-1.854714
9-1.743236
10-1.732158
11-1.732051
0-10.000000
1-6.734007
2-4.590570
3-3.212840
4-2.371653
5-1.922981
6-1.757175
7-1.732580
8-1.732051
9-1.732051
0-8.000000
1-5.417989
2-3.739379
3-2.684934
4-2.078246
5-1.802928
6-1.736023
7-1.732064
0-7.000000
1-4.763889
2-3.322318
3-2.435533
4-1.952915
5-1.764630
6-1.732931
7-1.732051
0-5.000000
1-3.472222
2-2.524180
3-1.996068
4-1.776618
5-1.733674
6-1.732053
0-3.000000
1-2.250000
2-1.869231
3-1.745810
4-1.732212
5-1.732051
6-1.732051
结果显示,以上初值迭代序列均收敛于-1.732051,即根
(2)在区间
即区间(-1,-0.774597)上取-0.774598,-0.8,-0.85,-0.9,-0.99,计算结果如下:
0-0.774598
10.774605
2-0.774645
30.774884
4-0.776324
50.785049
6-0.840641
71.350187
81.993830
91.775963
101.733628
111.732053
121.732051
131.732051
0-0.800000
10.948148
2-5.625370
3-3.872625
4-2.766197
5-2.121367
6-1.818292
7-1.737822
8-1.732079
10-1.732051
00.850000
1-1.475375
2-1.819444
3-1.737969
4-1.732081
0-0.900000
12.557895
22.012915
31.781662
41.734049
51.732054
61.732051
71.732051
0-0.990000
132.505829
221.691081
314.491521
49.707238
56.540906
64.464966
73.133840
82.326075
91.902303
101.752478
111.732403
计算结果显示,迭代序列局部收敛于-1.732051,即根
,局部收敛于1.730251,即根
(3)有上题可知,在区间(-0.774597,0.774597)上,在整个区间上均收敛于0,即根
(4)在区间
即区间(0.774597,1)上取0.774598,0.8,0.85,0.9,0.99,计算结果如下:
00.774598
1-0.774605
20.774645
3-0.774884
40.776324
5-0.785049
60.840641
7-1.350187
8-1.993830
9-1.775963
10-1.733628
11-1.732053
13-1.732051
00.800000
1-0.948148
25.625370
33.872625
42.766197
52.121367
61.818292
71.737822
81.732079
91.732051
101.732051
00.900000
1-2.557895
2-2.012915
3-1.781662
4-1.734049
5-1.732054
00.990000
1-32.505829
2-21.691081
3-14.491521
4-9.707238
5-6.540906
6-4.464966
7-3.133840
8-2.326075
9-1.902303
10-1.752478
11-1.732403
(5)区间
上取100,60,20,10,7,6,4,3,1.5,计算结果如下:
0100.000000
166.673334
244.458891
329.654263
419.792016
513.228447
68.869651
75.989231
84.107324
92.910755
102.200189
111.848687
121.742235
131.732139
141.732051
151.732051
060.000000
140.011114
226.690749
317.818845
411.916762
58.000848
65.418546
73.739736
82.685151
92.078360
101.802967
111.736027
121.732064
020.000000
113.366750
28.961323
36.049547
44.146328
62.213605
71.854126
81.743136
91.732156
111.732051
010.000000
16.734007
24.590570
33.212840
42.371653
51.922981
61.757175
71.732580
81.732051
07.000000
14.763889
23.322318
32.435533
41.952915
51.764630
61.732931
06.000000
14.114286
22.915068
32.202578
41.849650
51.742392
61.732142
04.000000
12.844444
22.163724
31.834281
41.740007
51.732105
03.000000
12.250000
21.869231
31.745810
41.732212
51.732051
01.500000
11.800000
21.735714
31.732062
41.732051
结果显示,以上初值迭代序列均收敛于1.732051,即根
综上所述:
区间收敛于-1.73205,
区间局部收敛于1.73205,局部收敛于-1.73205,
区间收敛于0,
区间类似于
区间,
收敛于1.73205。
通过本上机题,明白了对于多根方程,Newton法求方程根时,迭代序列收敛于某一个根有一定的区间限制,在一个区间上,可能会局部收敛于不同的根。
第三章
列主元Gauss消去法对于某电路的分析,归结为求解线性方程组
其中
(1)编制解n阶线性方程组
的列主元高斯消去法的通用程序;
(2)用所编程序线性方程组
,并打印出解向量,保留5位有效数;
%%列主元Gauss消去法求解线性方程组%%
%%参数输入
n=input('
请输入矩阵A的阶数:
n='
%输入线性方程组阶数n
b=zeros(1,n);
A=input('
请输入矩阵A:
b(1,:
)=input('
请输入行向量b:
%输入行向量b
b=b'
;
%得到列向量b
C=[A,b];
%得到增广矩阵
%%列主元消去得上三角矩阵
fori=1:
n-1
[maximum,index]=max(abs(C(i:
n,i)));
%将最大元素位置放在index行中
index=index+i-1;
T=C(index,:
%T作为一个中转站,交换两行
C(index,:
)=C(i,:
C(i,:
)=T;
fork=i+1:
n%%列主元消去
ifC(k,i)~=0
C(k,:
)=C(k,:
)-C(k,i)/C(i,i)*C(i,:
%%回代求解%%
x=zeros(n,1);
x(n)=C(n,n+1)/C(n,n);
fori=n-1:
-1:
1
x(i)=(C(i,n+1)-C(i,i+1:
n)*x(i+1:
n,1))/C(i,i);
A=C(1:
n,1:
n);
上三角矩阵为:
fork=1:
n
fprintf('
%f'
A(k,:
));
\n'
方程的解为:
%.5g\n'
x);
%以5位有效数字输出结果
n=9
[31-13000-10000;
-1335-90-110000;
0-931-1000000;
00-1079-30000-9;
000-3057-70-50;
0000-747-3000;
00000-304100;
0000-50027-2;
000-9000-29]
[-1527-230-2012-7710]
31.000000-13.0000000.0000000.0000000.000000-10.0000000.0000000.0000000.000000
0.00000029.548387-9.0000000.000000-11.000000-4.1935480.0000000.0000000.000000
0.0000000.00000028.258734-10.000000-3.350437-1.2772930.0000000.0000000.000000
0.0000000.0000000.00000075.461271-31.185629-0.4519990.0000000.000000-9.000000
0.0000000.0000000.0000000.00000044.602000-7.1796950.000000-5.000000-3.577994
0.0000000.0000000.0000000.000000-0.00000045.873193-30.000000-0.784718-0.561543
0.0000000.0000000.0000000.000000-0.000000-0.00000021.380698-0.513187-0.367236
0.0000000.0000000.0000000.000000-0.000000-0.0000000.00000026.413085-2.419996
0.0000000.0000000.0000000.000000-0.000000-0.0000000.0000000.00000027.389504
-0.28923
0.34544
-0.71281
-0.22061
-0.4304
0.15431
-0.057823
0.20105
第四章:
多项式插值与函数最佳逼近
一、题目:
(1)编制求第一型3次样条插值函数的通用程序;
(2)已知汽车曲线型值点的数据如下:
2
3
4
5
6
7
8
9
10
2.51
3.30
4.04
4.70
5.22
5.54
5.78
5.40
5.57
5.70
5.80
端点条件为
,
用所编制程序求车门的3次样条插值函数
并打印出
Inputn:
%n=10
n=n+1;
x=zeros(1,n);
%x用来存储x
y=zeros(1,n);
%y用来存储y
x(1,:
输入x:
%分别输入x,y
y(1,:
输入y:
dy0=input('
输入y(0)的一阶导数:
%输入边界条件
dyn=input('
输入y(n)的一阶导数:
d=zeros(n,1);
h=zeros(1,n-1);
%h为两个点之间的距离
f1=zeros(1,n-1);
f2=zeros(1,n-2);
h(i)=x(i+1)-x(i);
f1(i)=(y(i+1)-y(i))/h(i);
%一阶差商
fori=2:
f2(i)=(f1(i)-f1(i-1))/(x(i+1)-x(i-1));
%求二阶差商
d(i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东南大学 数值 分析 报告 上机