实验5线性代数方程组的数值解法.docx
《实验5线性代数方程组的数值解法.docx》由会员分享,可在线阅读,更多相关《实验5线性代数方程组的数值解法.docx(41页珍藏版)》请在冰豆网上搜索。
实验5线性代数方程组的数值解法
实验5线性代数方程组的数值解法
化工系毕啸天2010011811
【实验目的】
1.学会用MATLAB软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;
2.通过实例学习用线性代数方程组解决简化的实际问题。
【实验内容】
题目3
已知方程组Ax=b,其中A
,定义为
试通过迭代法求解此方程组,认识迭代法收敛的含义以及迭代初值和方程组系数矩阵性质对收敛速度的影响。
实验要求:
(1)选取不同的初始向量x(0)和不同的方程组右端项向量b,给定迭代误差要求,用雅可比迭代法和高斯-赛德尔迭代法计算,观测得到的迭代向量序列是否均收敛?
若收敛,记录迭代次数,分析计算结果并得出你的结论;
(2)取定右端向量b和初始向量x(0),将A的主对角线元素成倍增长若干次,非主对角线元素不变,每次用雅可比迭代法计算,要求迭代误差满足
,比较收敛速度,分析现象并得出你的结论。
3.1模型分析
选取初始向量x(0)=(1,1,…,1)T,b=(1,1,…,1)T,迭代要求为误差满足
,编写雅各比、高斯-赛德尔迭代法的函数,迭代求解。
3.2程序代码
functionx=Jacobi(x0,A,b,m)
D=diag(diag(A));
U=-triu(A,1);
L=-tril(A,-1);
B1=D\(L+U);
f1=D\b;
x(:
1)=x0;
x(:
2)=B1*x(:
1)+f1;
k=1;
whilenorm((x(:
k+1)-x(:
k)),inf)>m
x(:
k+2)=B1*x(:
k+1)+f1;
k=k+1;
end
end
functionx=Gauss(x0,A,b,m)
D=diag(diag(A));
U=-triu(A,1);
L=-tril(A,-1);
B2=(D-L)\U;
f2=(D-L)\b;
x(:
1)=x0;
x(:
2)=B2*x(:
1)+f2;
k=1;
whilenorm((x(:
k+1)-x(:
k)),inf)>m
x(:
k+2)=B2*x(:
k+1)+f2;
k=k+1;
end
end
A1=3.*eye(20,20);
A2=sparse(1:
19,2:
20,-1/2,20,20);
A3=sparse(1:
18,3:
20,-1/4,20,20);
AA=A1+A2+A3+A2'+A3';
A=full(AA);
b=ones(20,1);%输入自选右端项向量b
x0=ones(20,1);%输入自选初始向量x0
m=1e-5;
x1=Jacob(x0,A,b,m);
x2=Gauss(x0,A,b,m);
结果输出数据:
k
0
1
2
3
4
5
6
7
x各分量
1
0.583333
0.527778
0.499421
0.489583
0.485139
0.483239
0.482374
1
0.75
0.638889
0.602431
0.586034
0.579162
0.576046
0.574639
1
0.833333
0.715278
0.670139
0.649595
0.640545
0.636396
0.634487
1
0.833333
0.743056
0.693287
0.671586
0.661185
0.6564
0.654137
1
0.833333
0.75
0.704282
0.681713
0.670915
0.665718
0.663238
1
0.833333
0.75
0.707755
0.685571
0.674716
0.669367
0.666768
1
0.833333
0.75
0.708333
0.687066
0.676272
0.670924
0.668274
1
0.833333
0.75
0.708333
0.687452
0.67685
0.671535
0.668883
1
0.833333
0.75
0.708333
0.6875
0.677039
0.671767
0.669127
1
0.833333
0.75
0.708333
0.6875
0.677079
0.671844
0.66921
1
0.833333
0.75
0.708333
0.6875
0.677079
0.671844
0.66921
1
0.833333
0.75
0.708333
0.6875
0.677039
0.671767
0.669127
1
0.833333
0.75
0.708333
0.687452
0.67685
0.671535
0.668883
1
0.833333
0.75
0.708333
0.687066
0.676272
0.670924
0.668274
1
0.833333
0.75
0.707755
0.685571
0.674716
0.669367
0.666768
1
0.833333
0.75
0.704282
0.681713
0.670915
0.665718
0.663238
1
0.833333
0.743056
0.693287
0.671586
0.661185
0.6564
0.654137
1
0.833333
0.715278
0.670139
0.649595
0.640545
0.636396
0.634487
1
0.75
0.638889
0.602431
0.586034
0.579162
0.576046
0.574639
1
0.583333
0.527778
0.499421
0.489583
0.485139
0.483239
0.482374
k
8
9
10
11
12
13
14
15
x各分量值
0.48198
0.481798
0.481713
0.481672
0.481653
0.481644
0.48164
0.481638
0.573988
0.573686
0.573543
0.573476
0.573444
0.573429
0.573421
0.573418
0.633597
0.633179
0.632981
0.632887
0.632843
0.632821
0.632811
0.632806
0.653071
0.652565
0.652324
0.652208
0.652153
0.652126
0.652113
0.652107
0.662048
0.661477
0.661202
0.661069
0.661005
0.660974
0.660959
0.660952
0.665504
0.66489
0.664591
0.664446
0.664376
0.664341
0.664325
0.664316
0.666972
0.666333
0.666019
0.665865
0.66579
0.665753
0.665735
0.665727
0.667565
0.666913
0.66659
0.666431
0.666353
0.666314
0.666295
0.666286
0.667806
0.667148
0.666821
0.666659
0.666578
0.666539
0.666519
0.66651
0.66789
0.66723
0.666901
0.666738
0.666657
0.666617
0.666597
0.666587
0.66789
0.66723
0.666901
0.666738
0.666657
0.666617
0.666597
0.666587
0.667806
0.667148
0.666821
0.666659
0.666578
0.666539
0.666519
0.66651
0.667565
0.666913
0.66659
0.666431
0.666353
0.666314
0.666295
0.666286
0.666972
0.666333
0.666019
0.665865
0.66579
0.665753
0.665735
0.665727
0.665504
0.66489
0.664591
0.664446
0.664376
0.664341
0.664325
0.664316
0.662048
0.661477
0.661202
0.661069
0.661005
0.660974
0.660959
0.660952
0.653071
0.652565
0.652324
0.652208
0.652153
0.652126
0.652113
0.652107
0.633597
0.633179
0.632981
0.632887
0.632843
0.632821
0.632811
0.632806
0.573988
0.573686
0.573543
0.573476
0.573444
0.573429
0.573421
0.573418
0.48198
0.481798
0.481713
0.481672
0.481653
0.481644
0.48164
0.481638
3.3改变迭代初始值
3.3.1将x0各分量初值置为0
增加一句代码为:
x0=zeros(20,1);
k
0
1
2
3
4
5
6
x各分量值
0
0.333333
0.416667
0.453704
0.468943
0.475823
0.478928
0
0.333333
0.472222
0.527778
0.552662
0.563786
0.568911
0
0.333333
0.5
0.571759
0.604552
0.619567
0.626559
0
0.333333
0.5
0.581019
0.618441
0.636156
0.644499
0
0.333333
0.5
0.583333
0.62365
0.643004
0.652308
0
0.333333
0.5
0.583333
0.624807
0.645062
0.654947
0
0.333333
0.5
0.583333
0.625
0.645689
0.655883
0
0.333333
0.5
0.583333
0.625
0.645817
0.656162
0
0.333333
0.5
0.583333
0.625
0.645833
0.656235
0
0.333333
0.5
0.583333
0.625
0.645833
0.656249
0
0.333333
0.5
0.583333
0.625
0.645833
0.656249
0
0.333333
0.5
0.583333
0.625
0.645833
0.656235
0
0.333333
0.5
0.583333
0.625
0.645817
0.656162
0
0.333333
0.5
0.583333
0.625
0.645689
0.655883
0
0.333333
0.5
0.583333
0.624807
0.645062
0.654947
0
0.333333
0.5
0.583333
0.62365
0.643004
0.652308
0
0.333333
0.5
0.581019
0.618441
0.636156
0.644499
0
0.333333
0.5
0.571759
0.604552
0.619567
0.626559
0
0.333333
0.472222
0.527778
0.552662
0.563786
0.568911
0
0.333333
0.416667
0.453704
0.468943
0.475823
0.478928
k
7
8
9
10
11
12
13
x各分量值
0.480365
0.481035
0.48135
0.481499
0.48157
0.481604
0.481621
0.57129
0.572406
0.572933
0.573184
0.573304
0.573361
0.573389
0.629838
0.631388
0.632124
0.632476
0.632644
0.632725
0.632764
0.648466
0.650356
0.651261
0.651696
0.651905
0.652006
0.652055
0.656778
0.658931
0.65997
0.660472
0.660715
0.660833
0.660891
0.659753
0.662092
0.663229
0.663783
0.664052
0.664184
0.664248
0.660897
0.663356
0.664561
0.665152
0.665441
0.665582
0.665652
0.661286
0.663818
0.665067
0.665682
0.665985
0.666134
0.666207
0.661413
0.663984
0.665258
0.665888
0.666199
0.666352
0.666428
0.661447
0.664035
0.66532
0.665957
0.666272
0.666427
0.666504
0.661447
0.664035
0.66532
0.665957
0.666272
0.666427
0.666504
0.661413
0.663984
0.665258
0.665888
0.666199
0.666352
0.666428
0.661286
0.663818
0.665067
0.665682
0.665985
0.666134
0.666207
0.660897
0.663356
0.664561
0.665152
0.665441
0.665582
0.665652
0.659753
0.662092
0.663229
0.663783
0.664052
0.664184
0.664248
0.656778
0.658931
0.65997
0.660472
0.660715
0.660833
0.660891
0.648466
0.650356
0.651261
0.651696
0.651905
0.652006
0.652055
0.629838
0.631388
0.632124
0.632476
0.632644
0.632725
0.632764
0.57129
0.572406
0.572933
0.573184
0.573304
0.573361
0.573389
0.480365
0.481035
0.48135
0.481499
0.48157
0.481604
0.481621
k
14
15
16
x各分量值
0.481628
0.481632
0.481634
0.573402
0.573409
0.573412
0.632783
0.632792
0.632797
0.652079
0.65209
0.652096
0.660918
0.660932
0.660939
0.664279
0.664294
0.664302
0.665686
0.665702
0.66571
0.666242
0.66626
0.666269
0.666465
0.666483
0.666492
0.666541
0.66656
0.666569
0.666541
0.66656
0.666569
0.666465
0.666483
0.666492
0.666242
0.66626
0.666269
0.665686
0.665702
0.66571
0.664279
0.664294
0.664302
0.660918
0.660932
0.660939
0.652079
0.65209
0.652096
0.632783
0.632792
0.632797
0.573402
0.573409
0.573412
0.481628
0.481632
0.481634
【分析】
从数据中可以看出,当迭代的初值变化了,达到相同精度所需要的迭代次数也变化了。
3.3.2将各分量初始值置为10
直接在下面给出数据结果
k
0
1
2
3
4
5
6
x各分量值
10
2.833333
1.527778
0.91088
0.675347
0.568978
0.522036
10
4.5
2.138889
1.274306
0.886381
0.717544
0.640258
10
5.333333
2.652778
1.555556
1.054977
0.829347
0.724922
10
5.333333
2.930556
1.703704
1.149884
0.886445
0.763505
10
5.333333
3
1.792824
1.204282
0.922108
0.786414
10
5.333333
3
1.827546
1.232446
0.941607
0.799154
10
5.333333
3
1.833333
1.24566
0.951517
0.806292
10
5.333333
3
1.833333
1.249518
0.956147
0.809893
10
5.333333
3
1.833333
1.25
0.957891
0.811558
10
5.333333
3
1.833333
1.25
0.958293
0.812201
10
5.333333
3
1.833333
1.25
0.958293
0.812201
10
5.333333
3
1.833333
1.25
0.957891
0.811558
10
5.333333
3
1.833333
1.249518
0.956147
0.809893
10
5.333333
3
1.833333
1.24566
0.951517
0.806292
10
5.333333
3
1.827546
1.232446
0.941607
0.799154
10
5.333333
3
1.792824
1.204282
0.922108
0.786414
10
5.333333
2.930556
1.703704
1.149884
0.886445
0.763505
10
5.333333
2.652778
1.555556
1.054977
0.829347
0.724922
10
4.5
2.138889
1.274306
0.886381
0.717544
0.640258
10
2.833333
1.527778
0.91088
0.675347
0.568978
0.522036
k
7
8
9
10
11
12
13
x各分量值
0.500453
0.490492
0.485828
0.483632
0.48259
0.482094
0.481856
0.604785
0.588229
0.580454
0.576775
0.575025
0.574189
0.573788
0.676331
0.653479
0.642672
0.637531
0.635075
0.633897
0.633331
0.705174
0.677509
0.664299
0.657976
0.654937
0.653473
0.652766
0.721378
0.690096
0.675037
0.667768
0.664254
0.662552
0.661726
0.729901
0.696211
0.679836
0.67187
0.667994
0.666105
0.665185
0.734672
0.69952
0.682274
0.673825
0.669687
0.667661
0.666669
0.737255
0.701287
0.68352
0.67476
0.670446
0.668324
0.667282
0.738557
0.702202
0.684155
0.675215
0.670796
0.668615
0.66754
0.739081
0.70259
0.684423
0.675403
0.670934
0.668725
0.667635
0.739081
0.70259
0.684423
0.675403
0.670934
0.668725
0.667635
0.738557
0.702202
0.684155
0.675215
0.670796
0.668615
0.66754
0.737255
0.701287
0.68352
0.