- 94.50 KB
- 2021-05-17 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
实验6 线性代数方程组的数值解法
[实验目的]
1. 1. 学会用MATLAB软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;
2. 2. 通过实例学习用线性代数方程组解决简化的实际问题。
[实验内容]
5-5 输电网络:一种大型输电网络可简化为图5.5(见书)所示电路,其中R1,R2,…,Rn表示负载电阻,r1,r2,…,rn表示线路内阻,I1,I2,…,In表示负载上的电流。设电源电压为V。
(1)列出求各负载电阻R1,R2,…,Rn的方程;
(2)设I1=I2=…=In=I,r1=r2=…=rn=r,在r=1,I=0.5,V=18,n=10的情况下求R1,R2,…,Rn及总电阻R0。
[问题分析、模型建立及求解]
(1) 设电源负极为电势为0,电阻R1上对应节点电压为V1,对于任意节点,根据KCL定律列出方程:
而,可得:
k=2,3,……,n-1;
k=1时 ,为与上式形式一致,化为
k=m()时
k=n时
设以上方程组的矩阵形式为:
则
(2)代入参数:
,,V=18,n=10,
在命令窗口输入MATLAB程序如下:
clear all;
n=10; %由题目要求设定
A11=sparse(1:n-1,1:n-1,-1,n,n); %定义A的对角元素,除(n,n)
A12=sparse(n,n,-0.5,n,n); %定义(n,n)
A1=A11+A12; %对角元素
A2=sparse(1:n-1,2:n,0.5,n,n); %输入A的上次对角元素
A3=sparse(2:n,1:n-1,0.5,n,n); %输入A的下次对角元素
A=A1+A2+A3;
b1=0.5*ones(n,1); %b的除第一项元素
b2=sparse(1,1,18,n,1); %b的第一项元素
b=b1-b2;
R=Ab
输出结果如下:
R =
26.0000
17.0000
9.0000
2.0000
-4.0000
-9.0000
-13.0000
-16.0000
-18.0000
-19.0000
所以各阻值为
(R1,R2,…,R10)=(26,17,9,2,-4,-9,-13,-16,-18,-19)
总电阻R0(即输入等效电阻)为,又
得到
5-6 有5个反应器连接如图5.6(见书),各个Q表示外部输入、输出及反应器间的流量(m3/min),各个c表示外部输入及反应器内某物质的浓度
(mg/m3)。假定反应器内的浓度是均匀的,利用质量守恒准则建立模型,求出各反应器内的浓度c1~c5,并讨论反应器j外部输入改变1个单位(mg/min)所引起的反应器i浓度的变化。
[问题分析、模型建立及求解]
当反应容器中反应物浓度稳定时,输入物质质量与输出物质质量平衡,即输入物质质量等于输出物质质量。由此分析,分别对1~5容器列质量平衡方程,以输入物质为“+”,输出物质为“-”
,代入数据整理为
由矩阵表示:
,
编写MATLAB程序如下:
A=[-6,0,1,0,0
3,-3,0,0,0
0,1,-9,0,0
0,1,8,-11,2
3,1,0,0,-4];
b=[-50,0,-160,0,0]';
c=Ab %计算并输出c
pause;
dQc01=[1,0,0,0,0]';
dQc02=[0,0,1,0,0]';
c11=A(b+dQc01); %01的输入减少1个单位
dc11=c-c2;
c12=A(b-dQc01); %01的输入增加1个单位
dc12=c-c1;
c21=A(b+dQc02); %03的输入减少1个单位
dc21=c-c4;
c22=A(b-dQc02) ; %03的输入增加1个单位
dc22=c-c3;
[c,c11,dc11,c12,dc12,c21,dc21,c22,dc22]%外部输入改变引起的
%反应器浓度变化列表比较
MATLAB给出结果如下:
c =
11.5094
11.5094
19.0566
16.9983
11.5094
所以改变前各反应器浓度为
(c1,c2,c3,c4,c5)=( 11.5094,11.5094,19.0566,16.9983,11.5094)
改变容器01或容器03的外部输入,得到各容器平衡时浓度及其增量如下表:
浓度
原值C
001 减少1单位
001增加1单位
003 减少1单位
003增加1单位
C11
C12
C21
C22
C1
11.5094
11.3396
0.1698
11.6792
-0.1698
11.4906
0.0189
11.5283
-0.0189
C2
11.5094
11.3396
0.1698
11.6792
-0.1698
11.4906
0.0189
11.5283
-0.0189
C3
19.0566
19.0377
0.0189
19.0755
-0.0189
18.9434
0.1132
19.1698
-0.1132
C4
16.9983
16.9383
0.0600
17.0583
-0.0600
16.9108
0.0875
17.0858
-0.0875
C5
11.5094
11.3396
0.1698
11.6792
-0.1698
11.4906
0.0189
11.5283
-0.0189
[改进做法]
上面这种做法显得有些麻烦,由可得,表明容器平衡浓度c对外部输入b是线性的,所以当b增加1个单位(记作)时,c的增量为,若外部输入增加一个单位,时,为的第一列, 时,为的第三列。外部输入减少1个单位时,取其负值即可。故改用矩阵求逆的方法来计算:
A=[-6,0,1,0,0
3,-3,0,0,0
0,1,-9,0,0
0,1,8,-11,2
3,1,0,0,-4];
b=[-50,0,-160,0,0]';
dx=inv(A) %求A的逆矩阵
输出结果为:
dx =
-0.1698 -0.0063 -0.0189 0 0
-0.1698 -0.3396 -0.0189 0 0
-0.0189 -0.0377 -0.1132 0 0
-0.0600 -0.0746 -0.0875 -0.0909 -0.0455
-0.1698 -0.0896 -0.0189 0 -0.2500
红色部分显示为所求,此结果与前面的方法计算的一致,但工作量明显少了许多。
5-8 种群的繁殖与稳定收获:种群的数量因繁殖而增加,因自然死亡而减少,对于人工饲养的种群(比如家畜)而言,为了保证稳定的收获,各个年龄的种群数量应维持不变,种群因雌性个体的繁殖而改变,为方便起见以下种群数量均指其中的雌性。
种群年龄记作k=1,2,…,n,当年年龄k的种群数量记作xk,繁殖率记作bk(每个雌性个体1年繁殖的数量),自然存活率记作sk(sk=1-dk,dk为1年的死亡率),收获量记作hk,则来年年龄k的种群数量应为,要求各个年龄的种群数量每年维持不变就是要使。
(1)若已知bk,sk,给定收获量hk,建立求个年龄的稳定种群数量xk的模型(用矩阵、向量表示)。
(2)设n=5,b1=b2=b5=0,b3=5,b4=3,s1=s4=0.4,s2=s3=0.6,如果要求h1~h5为500,400,200,200,100,求
(3)要使h1~h5均为500, 如何达到?
[问题分析、模型建立及求解]
(1)要使各年龄种群数量每年维持不变即,
依题意得
用矩阵形式表示原方程组为:
,
(2)代入题中数据
,
编写MATLAB程序如下:
format bank;
A=[0.4,-1,0,0,0
0,0.6,-1,0,0
0,0,0.6,-1,0
0,0,0,0.4,-1
-1,0,5,3,0];
h=[500,400,200,100,0]';
x=Ah
MATLAB输出结果如下:
x =
8481.01
2892.41
1335.44
601.27
140.51
第5年龄段:x5=140.5>100=h5 ,说明收获量h5可以达到100。
(3)要使h1~h5均为500,则h变为:
其他参数不变,程序变为:
format bank;
A=[0.4,-1,0,0,0
0,0.6,-1,0,0
0,0,0.6,-1,0
0,0,0,0.4,-1
-1,0,5,3,0];
h=[500,500,500,500,0]';
x=Ah
MATLAB输出结果如下:
x =
10981.01
3892.41
1835.44
601.27
-259.49
从结果看出,x5为-259.49,但种群数量不可能为负数,在本题所给条件下,无法使h1~h5均为500。
为达到h1~h5均为500,对题中参数b1,b2,b3,b4,b5, s1,s2,s3,s 4的值作了一些改动。经过分析比较发现,当s1,s2,s3,s 4值较大,而b1=b2=b5=0,,b3,b4值较小时,可以达到。
例如,设s1=s4=0.6,s2=s3=0.8,b1=b2=b5=0,b3=1,b4=2,
输入:
format bank;
A=[0.6,-1,0,0,0
0,0.8,-1,0,0
0,0,0.8,-1,0
0,0,0,0.6,-1
-1,0,1,2,0];
h=[500,500,500,500,0]';
x=Ah
结果为:
x =
13467.74
7580.65
5564.52
3951.61
1870.97
x5=1870>500=h5,说明收获量h5可达到500,从而h1~h5均可达到500。
这里所设的参数只是满足条件的情况之一,但真正意义上来说参数的选取还得符合实际情况,如存活率不可能非常大,繁殖率也不可能只有1,所以要实现获得均为500是有一定困难的。
[结果分析]
第3问要求h1~h5均为500,但在本题所给参数下,结果出现负数,不符合实际。要维持种群的发展,就要有足够多的“年轻”种群数量;而要求各个年龄的种群数量每年维持不变,“年轻”种群有较高的获得时,老龄种群的获得就不会高,这是受到存活率和繁殖率等因素的影响。
[实验小结]
本次实验同前一次实验相比要容易解答,主要是有比较完备的公式模式,而且经过前几次作业,对题目的理解分析有所提高。当然,在解释一些问题时可能还存在一些不太合理或者不完善的地方,还请老师批评指正。