资源描述
第三章作业
练习题1:设两点边值问题
的精确解为
现以h为步长划分区间为100等份,用差分近似代替微分,将微分方程离散化为线性方程组,代入初始条件后,得到如下的方程组问题
其中,,。
(1) 分别用J迭代法,G-S迭代法和SOR迭代法求解,并与精确解进行比较;
(2) 如果,,再求解该问题
解:输出结果为
精确值 J迭代值 GS迭代值 sor迭代值
0.0526 0.0501 0.0500 0.0504
0.1006 0.0961 0.0960 0.0966
0.1446 0.1384 0.1382 0.1391
0.1848 0.1774 0.1771 0.1782
0.2217 0.2132 0.2129 0.2142
0.2556 0.2462 0.2458 0.2474
0.2867 0.2767 0.2763 0.2780
0.3153 0.3049 0.3044 0.3063
0.3417 0.3309 0.3305 0.3325
0.3661 0.3551 0.3546 0.3568
0.3886 0.3775 0.3770 0.3793
0.4094 0.3984 0.3979 0.4002
0.4288 0.4178 0.4173 0.4197
0.4467 0.4359 0.4354 0.4379
0.4635 0.4528 0.4523 0.4548
0.4791 0.4687 0.4682 0.4707
0.4937 0.4836 0.4830 0.4856
0.5074 0.4976 0.4970 0.4996
0.5202 0.5107 0.5102 0.5128
0.5324 0.5232 0.5227 0.5252
0.5438 0.5349 0.5344 0.5370
0.5546 0.5461 0.5456 0.5481
0.5649 0.5567 0.5562 0.5587
0.5747 0.5668 0.5663 0.5688
0.5840 0.5765 0.5760 0.5784
0.5929 0.5857 0.5853 0.5876
0.6014 0.5946 0.5941 0.5965
0.6096 0.6031 0.6027 0.6049
0.6175 0.6113 0.6109 0.6131
0.6251 0.6192 0.6188 0.6210
0.6325 0.6269 0.6265 0.6286
0.6396 0.6343 0.6339 0.6360
0.6466 0.6415 0.6411 0.6432
0.6533 0.6485 0.6482 0.6501
0.6599 0.6554 0.6550 0.6569
0.6664 0.6620 0.6617 0.6636
0.6727 0.6686 0.6683 0.6700
0.6788 0.6750 0.6747 0.6764
0.6849 0.6812 0.6810 0.6826
0.6909 0.6874 0.6871 0.6887
0.6967 0.6935 0.6932 0.6947
0.7025 0.6994 0.6992 0.7007
0.7082 0.7053 0.7051 0.7065
0.7139 0.7111 0.7109 0.7123
0.7195 0.7169 0.7167 0.7180
0.7250 0.7226 0.7224 0.7236
0.7305 0.7282 0.7280 0.7292
0.7359 0.7337 0.7336 0.7347
0.7413 0.7393 0.7391 0.7402
0.7467 0.7447 0.7446 0.7456
0.7520 0.7502 0.7500 0.7510
0.7573 0.7556 0.7554 0.7564
0.7625 0.7609 0.7608 0.7617
0.7678 0.7663 0.7662 0.7670
0.7730 0.7716 0.7715 0.7723
0.7782 0.7769 0.7768 0.7775
0.7833 0.7821 0.7820 0.7828
0.7885 0.7874 0.7873 0.7880
0.7937 0.7926 0.7925 0.7931
0.7988 0.7978 0.7977 0.7983
0.8039 0.8030 0.8029 0.8035
0.8090 0.8081 0.8081 0.8086
0.8141 0.8133 0.8132 0.8137
0.8192 0.8184 0.8184 0.8189
0.8243 0.8236 0.8235 0.8240
0.8293 0.8287 0.8286 0.8291
0.8344 0.8338 0.8337 0.8341
0.8395 0.8389 0.8389 0.8392
0.8445 0.8440 0.8440 0.8443
0.8496 0.8491 0.8490 0.8494
0.8546 0.8542 0.8541 0.8544
0.8596 0.8592 0.8592 0.8595
0.8647 0.8643 0.8643 0.8645
0.8697 0.8694 0.8693 0.8696
0.8747 0.8744 0.8744 0.8746
0.8798 0.8795 0.8795 0.8797
0.8848 0.8845 0.8845 0.8847
0.8898 0.8896 0.8895 0.8897
0.8948 0.8946 0.8946 0.8947
0.8999 0.8996 0.8996 0.8998
0.9049 0.9047 0.9047 0.9048
0.9099 0.9097 0.9097 0.9098
0.9149 0.9147 0.9147 0.9148
0.9199 0.9198 0.9198 0.9199
0.9249 0.9248 0.9248 0.9249
0.9299 0.9298 0.9298 0.9299
0.9349 0.9348 0.9348 0.9349
0.9399 0.9399 0.9399 0.9399
0.9450 0.9449 0.9449 0.9449
0.9500 0.9499 0.9499 0.9499
0.9550 0.9549 0.9549 0.9549
0.9600 0.9599 0.9599 0.9600
0.9650 0.9649 0.9649 0.9650
0.9700 0.9699 0.9699 0.9700
0.9750 0.9750 0.9750 0.9750
0.9800 0.9800 0.9800 0.9800
0.9850 0.9850 0.9850 0.9850
0.9900 0.9900 0.9900 0.9900
0.9950 0.9950 0.9950 0.9950
达到相同精度J迭代的迭代次数为: 4024
达到相同精度G-S迭代的迭代次数为:2000
达到相同精度sor迭代的迭代次数为: 478
sor迭代最佳松弛因子:1.7000
由结果可见对于此题达到相同精度迭代次数sor迭代<G-S迭代<J迭代
练习题2:设,对于线性方程组建立迭代法
(1)求出的范围使迭代法收敛,(2)求出最优使迭代法的渐进收敛速度最大。
解:迭代矩阵 B=
记 (=1,2,3,…,n)为A的特征值, 为A的最大和最小的特征值
∵A对称正定,∴其特征值为正,>0
又B=
所以B的特征值为
所以﹤1
解得0﹤﹤
又为A的最大特征值
所以使迭代法收敛的的范围是
0﹤﹤
(2)因为迭代矩阵的谱半径越小,迭代收敛越快.
所以
使迭代法的渐进收敛速度最大,最优松弛因子
练习题3:对某电路的分析,可以归结为下面的线性方程组,其中
R(1,1)=31;R(1,2)=-13;R(1,6)=-10;
R(2,1)=-13;R(2,2)=35;R(2,3)=-9;R(2,5)=-11;
R(3,2)=-9;R(3,3)=31;R(3,4)=-10;
R(4,3)=-10;R(4,4)=79;R(4,5)=-30;R(4,9)=-9;
R(5,4)=-30;R(5,5)=57;R(5,6)=-7;R(5,8)=-5;
R(6,5)=-7;R(6,6)=47;R(6,7)=-30;
R(7,6)=-30;R(7,7)=41;
R(8,5)=-5;R(8,8)=27;R(8,9)=-2;
R(9,4)=-9;R(9,8)=-2;R(9,9)=29;
V=(-15, 27, -23, 0, -20, 12, -7, 7, 10)T
其余元素为零。
要求:(1)用高斯列主元消去法求解该方程组;(2)用SOR方法迭代求解该方程组,误差,近似最佳松弛因子由试算法确定,设
解:输出结果为
SOR方法迭代法近似最佳松弛因子为w=1.18,迭代次数为n=12
高斯列主元消去法与SOR方法迭代比较:
高斯法值 SOR法值
-0.2892 -0.2892
0.3454 0.3454
-0.7128 -0.7128
-0.2206 -0.2206
-0.4304 -0.4304
0.1543 0.1543
-0.0578 -0.0578
0.2011 0.2011
0.2902 0.2902
第四章作业
练习题1:分别用不动点迭代法和牛顿迭代法求解方程
其中初值,计算精度为。
解:不动点迭代法使用进行迭代
f=inline('-0.9*x^2+1.7*x+2.5','x');
df=inline('-1.8*x+1.7','x');x0=5;e=1e-6;
n1=0;x1=17/9+25/9/x0;n1=n1+1;
while (norm(x1-x0)>=e)&(n1<=1000)
x0=x1; disp([n1,x1]); x1=17/9+25/9/x0;
n1=n1+1;
end
x_b=x1
x0=5;e=1e-6;n=0;x1=x0-feval(f,x0)/feval(df,x0);n=n+1;
while (norm(x1-x0)>=e)&(n<=1000)
x0=x1;x1=x0-feval(f,x0)/feval(df,x0);n=n+1;
end
%输出结果
clc;fprintf('不动点迭代次数为n=%g',n1);fprintf('结果为x=%g\n',x_b);
fprintf('牛顿迭代迭代次数为n=%g,结果为',n);fprintf('x=%g\n',x1);
结果:
不动点迭代次数为n=15结果为x=2.8601
牛顿迭代迭代次数为n=5,结果为x=2.8601
练习题2:分别用不动点迭代法、牛顿迭代法和逆Broyden秩1方法求解方程组
并对结果进行比较。其中逆Broyden秩1方法的初始矩阵分别取I和,取初值,计算精度。
解:
迭代次数
x1
x2
x3
不动点迭代
17.0000
0.9055
1.0852
0.6722
牛顿迭代
4.0000
0.9055
1.0852
0.6722
逆Broyden秩1方法
(H0=I)
16.0000
0.9055
1.0852
0.6722
逆Broyden秩1方法
(H0=F’(x0)’)
9.0000
0.9055
1.0852
0.6722
练习题3:理想与非理想气体定律
考虑固定容器中一定量的气体的压强、体积和温度之间,有如下定律:
理想气体定律
其中p为压强,V为体积,n为摩尔数,R为普适气体常数,T为绝对温度;
非理想气体的van der Waals方程
其中称为摩尔体积,a, b是与具体气体有关的经验常数。
在某化工设计中,需要精确估计二氧化碳和氧气在不同温度和压强下的摩尔体积,以选择适当的容器,其中各参数分别为
R=0.082054 L atm/(mol K);
二氧化碳:a=3.592,b=0.04267;
氧 气:a=1.360,b=0.03183;
设计压强分别为1,10,50,100 atm;温度分别为400,600,800 K。
(1) 用van der Waals方程计算在不同条件下的摩尔体积;
(2) 将上述计算结果与理想气体的计算结果进行比较。
解:根据题意,利用牛顿迭代法求解问题(1),对于不同的气体,分别输出结果:
clc;clear;
disp('结果输出4*3矩阵,1到4行压力分别为1、10、50、100atm,1至3列温度分别为400、600、800K')
disp('用van der Waals方程计算得到的摩尔体积v(单位为mol/L)结果为:')
for m=1:2;
if m==1
a=1.360;b=0.03183;
else
a=3.592;b=0.04267;
end
P=[1,10,50,100];
R=0.082054;
T=[400,600,800];
x0=1;e=1e-8;
v=zeros(4,3);
for i=1:4
for j=1:3
f=inline('(p+a/x^2)*(x-b)-R*t','x','a','b','p','R','t');
df=inline('p-a/x^2+2*a*b/x^3','x','a','b','p');
p=P(i);a=a;b=b;t=T(j);R=R;
n=0;
x1=x0-f(x0,a,b,p,R,t)/df(x0,a,b,p);
n=n+1;
while (norm(x1-x0)>=e)&(n<=1000)
x0=x1;
x1=x0-f(x0,a,b,p,R,t)/df(x0,a,b,p);
n=n+1;
end
r=sqrt(norm(f(x1,a,b,p,R,t)));
v(i,j)=x1;
end
end
v_n=v;
if m==1
disp('气体为氧气')
else
disp('气体为二氧化碳')
end
disp(v_n)
end
disp('输出摩尔体积v(单位为mol/L)理想值:')
T=[400 600 800];p=[1 10 50 100];
v_i=zeros(4,3);
for i=1:4;
for j=1:3;
v_i(i,j)=R*T(j)/p(i);
end
end
disp(v_i);
结果:
结果输出4*3矩阵,1到4行压力分别为1、10、50、100atm,1至3列温度分别为400、600、800K
用van der Waals方程计算得到的摩尔体积v(单位为mol/L)结果为:
气体为氧气
32.8120 49.2366 65.6543
3.2728 4.9276 6.5756
0.6484 0.9899 1.3247
0.3220 0.4986 0.6689
气体为二氧化碳
32.7547 49.2021 65.6312
3.2146 4.8931 6.5525
0.5853 0.9555 1.3022
0.2528 0.4648 0.6473
输出摩尔体积v(单位为mol/L)理想值:
32.8216 49.2324 65.6432
3.2822 4.9232 6.5643
0.6564 0.9846 1.3129
0.3282 0.4923 0.6564
展开阅读全文