验理工数学实验
线性代数
基础实验 1 矩阵的基本运算 基础实验 2 矩阵的初等变换
基础实验 3 行列式的运算 基础实验 4 求解方程组
基础实验 5 特征值、特征向量
专题实验 1 工资问题 专题实验 2 动物繁殖问题
专题实验 3 作物育种方案的预测问题
专题实验 4 食谱问题






—— 矩阵的基本运算
线性代数基础实验 1
理工数学实验





验一、实验内容
矩阵的运算(加法、数乘、乘法、转置、逆)
二、实验目的
熟悉 Mathematica软件中关于矩阵运算的各
种命令





验三、常用命令
1,MatrixForm[A]
功能,把矩阵 A屏幕输入,
2,Transpose[ A]
功能,乘矩阵 A的转置矩阵,
3,A+B
功能,求矩阵 A与 B的和运算,
4,A-B
功能,求矩阵 A与 B的减运算,
5,K*A
功能,求常数 K乘以矩阵 A.
6,A*B
功能,求矩阵 A与矩阵 B的对应元素相乘,
7,Inverse[ A]
功能,求矩阵 A的 逆 矩阵,





验四、例子
求:( 1)屏幕输出 A与 B;( 2) A的转置 A′ ;
( 3)求 A+B的值;( 4)求 A-B的值;( 5)
求 4A;( 6)求 A× B;( 7)求 A-1.
已知矩阵
?
?
?
?
?
?
?
?
?
?
?
321
212
113
A
?
?
?
?
?
?
?
?
?
?
?
?
?
101
012
111
B






In[1]:=A={{3,1,1},{2,1,2},{1,2,3}}
MatrixForm[A]
Out[1]:={{3,1,1},{2,1,2},{1,2,3}}
Out[2]//MatrixForm=
简单操作步骤
??
?
?
?
??
?
?
?
321
212
113
In[3]:=B={{1,1,-1},{2,-1,0},{1,0,1}}
MatrixForm[B]
Out[3]:={{1,1,-1},{2,-1,0},{1,0,1}}
Out[4]//MatrixForm=
??
?
?
?
??
?
?
?
?
?
101
012
111
四、例子






In[5]:=Transpose[A]
Out[5]:={{3,2,1},{1,1,2},{1,2,3}}
In[6]:=X={{3,2,1},{1,1,2},{1,2,3}}
MatrixForm[X]
Out[6]:={{3,2,1},{1,1,2},{1,2,3}}
Out[7]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
321
211
123
In[8]:=Z=A+B
MatrixForm[Z]
Out[8]:={{4,2,0},{4,0,2},{2,2,4}}
Out[9]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
422
204
024
四、例子






In[10]:=W=A-B
MatrixForm[W]
Out[10]={{2,0,2},{0,2,2},{0,2,2}}
Out[11]//MatrixForm=
??
?
?
?
??
?
?
?
220
220
202
In[12]:=K=4
V=K*A
MatrixForm[V]
Out[12]:=4
Out[13]:={{12,4,4},{8,4,8},{4,8,12}}
Out[14]//MatrixForm= ???
?
?
??
?
?
?
1284
848
4412
In[15]:=U=A*B
MatrixForm[U]
Out[15]:={{3,1,-1},{4,-1,0},{1,0,3}
四、例子






Out[16]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
301
014
113
In[17]:=P=Inverse[A]
MatrixForm[P]
Out[17]:=
Out[18]//MatrixForm=
}}41,45,43{},1,2,1{},41,41,41{{ ????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
4
1
4
5
4
3
121
4
1
4
1
4
1
Out[20]:= }}
4
3,
2
5,
4
3{},2,2,2{},
4
1,
4
1,
4
3{{ ????
四、例子





验五、思考与练习
已知矩阵
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
???
???
?
?
?
031948
118763
8126542
861741
1647056
1091143
A
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
503642
23725361912
9113281510
55120118
7851697
236421
B
求:( 1) A'; ( 2)A -1 ;(3)A *B.






—— 矩阵初等变换
线性代数基础实验 2
理工数学实验





验一、实验内容
对矩阵作各种变化,初等变换
二、实验目的
1.复习并掌握矩阵初等变换的方法,
2.掌握 Mathematic软件中关于矩阵初等变
换的相关命令.





验三、常用命令
1,U[[ i,j]] 或 a[ i,j]
功能:列出 U=Array[ a,{m,n}] 的第 i行, 第 j列元素,
2,U[[ i]]
功能:列出 U的第 i行的 n个元素,
3,Transpose[ U] [[ j]]
功能:列出 U的第 j列的 m个元素,
4,U[[ {i1,i2,2…,ip},{j1,j2,…,jq}]]
功能:由行 {i1,i2,…,ip}和列 {j1,j2,…,jq}组成的矩
阵,
5,U[[ Range[ {i0,i1}],Range[ {j0,j1}]]
功能:求行从 i0到 i1,列从 j0到 j1组成的子矩阵,
6,MatrixQ[ expr]
功能:判别 expr是否为矩阵, 若是则其值为 True,否
则为 False.
7,Dimension[ expr]
功能:给出矩阵 expr的维数,





验四、例子
已知一个 3行, 4列的矩阵 U,它的元素为
a(i,j);
求,(1)给 1行 1列元素赋值 11,1行, 2列
元素赋值 12;
(2)取 U的第 1行元素, 以及 U转置以
后的第 1列元素;
(3)判断 {{x,y,z},{1,2}}是否为矩
阵,






简单操作过程
In[ 1],=a[ 1,1] =11( *给位于矩阵第 1行, 第 1列的元素赋值 *)
In[ 2],=U[ 1,2] =12( *表示给矩阵赋值, 其中 U[[ 1,2]] 与 a[ 1,2]
表示同一个矩阵元素 )
In[ 3],=U[[ 1]] ( *U的第 1行元素 *)
Out[ 3],={11,12,a[ 1,3] }( *对没有赋值的 a[ 1,3] 按原样显示 )
In[ 4],=Transpose[ U] [[ 1]] ( *U的第 1列元素, Transpost[ U] 是
U的转置矩阵 *)
Out[ 4], {11,a[ 2,1],a{3,1}}
In[ 5], U[[ {1,3},{2,3}]] ( *取 U的 1,3行和 2,3列组成于矩阵 *)
Out[ 5],={{12,a[ 1,3] },{a[ 3,2],a[ 3,3] }}
In[ 8],=MatrixQ[ {x,y,z},{1,2}]
Out[ 8],=False( *同一矩阵中每行元素个数相同)
四、例子





验五、思考与练习
1.已知矩阵;
3
0
2
150
311
101
??
?
?
?
??
?
?
?
?
?
?
?A
(1)求 A的行向量组 a1,a2,a3,以及列向量组 b1,b2,b3,b4
(2)求 A的一,三,五行,二,三,四列交叉点上的元素做出
子矩阵.
2,判断下列向量组是否线性相关
?
?
?
?
?
?
?
?
?
?
??
1
2
1
1a
?
?
?
?
?
?
?
?
?
?
?
?
1
3
0
2a
?
?
?
?
?
?
?
?
?
?
??
3
1
2
3a
?
?
?
?
?
?
?
?
?
?
??
1
1
1
2a
?
?
?
?
?
?
?
?
?
??
?
1
1
2
1a
?
?
?
?
?
?
?
?
?
??
?
1
3
5
3a






—— 行列式运算
线性代数基础实验 3
理工数学实验





验一、实验内容
行列式的计算
二、实验目的
1,复习矩阵的行列式的求法, 矩阵初等变
换方法,
2,熟悉 Mathematic软件中关于求一个矩阵
的行列式的命令把矩阵进行初等变换的





验三、常用命令
1,MatrixForm[ A]
功能:把矩阵 A屏幕输出,
2,Det[ A]
功能:求矩阵 A的行列式,
3,A.B
功能,A左乘以 B或 B右乘以 A.





验四、例子
的行列式的值,1.求矩阵
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
??
?
10782
5513
71391
3152
A
2.已知 B=A ′,求A × B,以及B × A,
3.利用 Cramer法则求解方程组
?
?
?
?
?
?
?
????
???
????
????
522
963
0674
852
432
421
4321
4321
xxx
xxx
xxxx
xxxx






简单操作过程
1.In[1]:=A={{-2,5,-1,3},{1,-9,13,7},{3,-1,5,-5},{2,8,-7,-10}}
MatrixForm[A]
Out[1]:={{-2,5,-1,3},{1,-9,13,7},{3,-1,5,-5},{2,8,-7,-10}}
Out[2]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
??
10782
5513
71391
3152
2.In[4],B=Transpose[A]
MatrixForm[B]
Out[4]:={{-2,1,3,2},{5,-9,-1,8},{-1,13,5,-7},{3,7,-5,-10}}
Out[5]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
??
??
??
?
10573
75131
8195
2312
In[3]:=Det[A]
Out[3]:=312
四、例子






In[6]:=X=A.B
MatrixForm[X]
Out[6]:={{39,-39,-31,13},{-39,300,42,-231},
{-31,42,60,13},{13,-231,13,217}}
Out[7]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
2171323113
13604231
2314230039
13313939
In[8]:=Y=B.A
MatrixForm[Y]
Out[8]:={{18,-6,16,-34},{-6,171,-183,-123},
{16,-183,244,133},{-34,-123,133,183}}
Out[9]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
??
?
???
??
1 8 31 3 31 2 334
1 3 32 4 41 8 316
1 2 31 8 31 7 16
3416618
四、例子






3.In[10]:=a={{2,1,-5,1},{1,4,-7,6},{1,-3,0,-6},{0,2,-1,2}}
MatrixForm[a]
Det[a]
Out[10]:={{2,1,-5,1},{1,4,-7,6},{1,-3,0,-6},{0,2,-1,2}}
Out[11]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
2120
6031
6741
1512
Out[12]:=27
In[13],d1={{8,1,-5,1},{0,4,-7,6},{9,-3,0,-6},{-5,2,-1,2}}
MatrixForm[d1]
Det[d1]
Out[13]:={{8,1,-5,1},{0,4,-7,6},{9,-3,0,-6},{-5,2,-1,2}}
Out[14]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
?
2125
6039
6740
1518
四、例子






Out[15]:=81
In[16]:=d2={[2,8,-5,1],{1,0,-7,6},{1,9,0,-6},{0,-5,-1,2}}
MatrixForm[d2]
Det[d2]
Out[16]:={{2,8,-5,1},{1,0,-7,6},{1,9,0,-6},{0,-5,-1,2}}
Out[17]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
2150
6091
6701
1582
Out[18]:=-108
In[19]:=d3={{2,1,8,1},{1,4,0,6},{1,-3,9,-6},{0,2,-5,2}}
MatrixForm[d3]
Det[d3]
Out[19]:={{2,1,8,1},{1,4,0,6},{1,-3,9,-6},{0,2,-5,2}}
Out[20]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
?
??
2520
6931
6041
1812
四、例子






Out[21]:=-27
In[22]:=d4={{2,1,-5,8},{1,4,-7,0},{1,-3,0,9},{0,2,-3,-5}}
MatrixForm[d4]
Det[d4]
Out[22]:={{2,1,-5,8},{1,4,-7,0},{1,-3,0,9},{0,2,-3,-5}}
Out[23]//MatrixForm=
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
5320
9031
0741
8512
Out[24]:=41
In[25],x1=Det[d1]/Det[a]
Out[25]:=3
In[26]:=x2=Det[d2]/Det[a]
Out[26]:=-4
In[27]:=x3=Det[d3]/Det[a]
Out[27]:=-1
In[28]:=x4=Det[d4]/Det[a]
Out[28]:=
2741
四、例子





验五、思考与练习
2.利用克莱姆法则求解下列线性方程组
1,求行列式 (共 10阶 )的值
??
????
????
?
?
?
1000
001
000
?
??????
?
?
(1)
?
?
?
?
??
?
?
?
??????
?????
?????
?????
??????
332
222434
323
82432
1422
54321
54321
54321
54221
53321
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
(2)
?
?
?
?
??
?
?
?
??
???
???
???
??
15
065
065
065
165
54
543
432
321
21
xx
xxx
xxx
xxx
xx






2.已知,
验证:|A × B| =|A| × |B|,
?
?
?
?
?
?
?
?
?
?
?
??
?
?
876
174
114
A
?
?
?
?
?
?
?
?
?
?
??
?
?
614
475
914
B
五、思考与练习






—— 求解方程组
线性代数基础实验 4
理工数学实验





验一、实验内容
求 AX=B的通解
二、实验目的
通过本实验,使学生认识到虽然在, 线性代
数, 中求 AX=B 的通解比较繁, 但在
Mathematica软件中却是比较简单的,





验三、常用命令
(1) RowReduce[ A]
功能:作行的线性组合化简 A,A为 m行, n
列矩阵,
(2) Linearsolve[ A,B]
功能:计算满足 AX=B的一个解, A为方阵,
(3) Nullspace[ A]
功能:计算方程组 AX=0的基础解系的向量
表, A为方阵,





验四、例子
1,已知 计算 A的秩, 并计算 AX=0的基础解系,
?
?
?
?
?
?
?
?
?
?
?
?
?
??
3123
3113
1101
1111
A
2,解方程组
??
?
?
?
????
????
????
6895
4433
13
4321
4321
4321
xxxx
xxxx
xxxx






简单操作过程
1.In[1]:=A={{1,1,1,1},{1,0,-1,1},{3,1,-1,3},{3,2,1,3}};
In[2]:=RowReduce[A]
Out[2]:={{1,0,-1,1},{0,1,2,0},{0,0,0,0},{0,0,0,0}}
( *显然, A的秩是 2*)
In[3]:=NullSpace[A]
Out[3]:={{-1,0,0,1},{1,-2,1,0}( *A的两个线性无关解 *)
2.In[4]:=M={{1,-3,-1,1},{3,-1,-3,4},{1,5,-9,-8}};
In[5]:=B={1,4,6};
In[6]:=LinearSolve[M.B]
Out[6]:= ( *方程组 MX=B的一个特解 *)
In[7]:=NullSpace[M]
Out[7]:= ( *解向量组成一个矩阵, M只有一个解 *)
}0,21,81,87{ ?
}}11,45,81,821{{ ???
四、例子






In[8]:=x=c%[[1]]+%% ( *x为 MX=B的全部解 *)
Out[8]:= ( *c为任意实数 *) },
4
5
2
1,
88
1
8
21
8
7{ cccc ????
四、例子





验五、思考与练习
1.求下列矩阵的秩,
(1)
( 2)
??
?
?
?
??
?
?
?
??
??
?
?
25341
43123
11112
A
??
?
?
?
??
?
?
?
??
?
??
?
18951
34113
14311
B
2.解下列线性方程组,
(1)
( 2)
??
?
?
?
??
?
?
?
?
??
?
5121
1121
1121
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
5
5
1
4
3
2
1
x
x
x
x
?
?
?
?
?
?
?
?
?
?
?
?
?
???
1111
1452
1214
2121
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3/1
0
3
2
4
3
2
1
x
x
x
x






—— 特征值, 特征向量
线性代数基础实验 5
理工数学实验





验一、实验内容
计算已知矩阵的特征值和属于每一个特征值
的特征向量
二、实验目的
1.复习线代中的特征值与特征向量的求法,
2.比较 Mathematic软件与普通方法的异同
之处,





验三、常用命令
(1) Eigenvalues[ A]
功能:求矩阵 A的特征值表,
(2) Eigenvectors[ A]
功能:求矩阵 A的特征向量表,
(3) Eigensystem[ A]
功能:求 A的所有特征值, 特征向量组成的表,





验四、例子
已知矩阵,
求 (1)矩阵 A的特征值表;
(2)求矩阵 A的特征向量表;
(3)求 A的所有特征值,特征向量组成的表,
?
?
?
?
?
?
?
?
?
?
??
240
121
121
A






简单操作过程
1.In[1]:=A={{1,2,1},{0,4,2}};
In[2]:=A=Eigenvalues[A]
Out[2]:={0,2,3}
2.In[3]:=Eigenvectors[A]
Out[3]:={{0,-1,2},{1,0,1},{3,1,4}
3.In[4]:=Eigensystem[A]
Out[4]:={{0,2,3},{{0,-1,2},{1,0,1},{3,1,4}}}
四、例子





验五、思考与练习
求出下列矩阵的全部特征值与特征向量,
1.
??
?
??
?
?? 0
0
a
aA
2.
?
?
?
?
?
?
?
?
?
?
?
001
010
100
B
3,
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
1111
1111
1111
1111
C






—— 工资问题
线性代数专题实验 1
理工数学实验





验一、实验内容
现有一个木工, 一个电工和一个油漆工, 三人相互同意彼此装修他们自
己的房子, 在装修之前, 他们达成了如下协议,( 1) 每人总共工作 10
天 ( 包括给自己家干活在内 ) ; ( 2) 每人的日工资根据一般的市价
60~80元之间; ( 3) 每人的日工资数应使得每人的总收入与总支出相
等, 表 1是他们协商后制定出的工作天数的分配方案, 如何计算出他们
每人应得的工资?
表 1
工种
天数
木工 电工 油漆工
在木工家的工作天数 2 1 6
在电工家的工作天数 4 5 1
在油漆工家的工作天数 4 4 3





验二、实验目的
从实际问题出发, 建立线性代数方程组, 应用求齐次方程组
通解方法, 寻求符合实际情况的答案,
三、预备知识
线性代数方程组理论,齐次方程组有非零解的条件及基础解
系求解的方法.





验四、实验内容与要求
1,建立线性代数方程组描述问题, 以 x1表示木工的
日工资; x2表示电工的日工资; x3表示油漆工的日工
资, 根据协议中每人总支出与总收入相等的原则, 分
别考虑木工, 电工及油漆工的总收入和总支出, 木工
的日工资为 x1,则木工的 10个工作日总收入为 10x1,
而木工, 电工及油漆工三人在木工家工作的天数分别
为,2 天, 1 天, 6 天, 则木工的总支出为
2x1+x2+6x3,于是木工的收支平衡关系可描述为:
2x1+x2+6x3=10x1,依照上面木工收支平衡关系建立的
过程, 试建立描述电工, 油漆工各自的收支平衡关系
的另外两个等式, 以补充完善成描述实际问题的三个
方程的方程组,






2,整理描述收支平衡关系的三个等式为三元一次齐次线性方程组,
写出齐次方程组的系数矩阵如下:
??
?
?
?
??
?
?
?
?
333231
232221
131211
aaa
aaa
aaa
A
3,在 Matlab环境下输入 A,键入
其中 aij为矩阵 A的元素具体数据, 利用 RowReduce[A]求解线性方程组的解,
? ?333231232221131211 ;; aaaaaaaaaA ?

四、实验内容与要求
4,若你所填写上面 A的的第一行第三列元素数据为 a13,第二行第三列元
素为 a23根据齐次方程组基础解系的理论, 在 ( 2) 中的列出齐次方程组的
通解可以表示为
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
23
13
3
2
1
a
a
k
x
x
x
X
其中 k为任意实数
最后,请你选择适当的 k以确定木工、电工及油漆工每人每天的日工
资 60~80元.





验五、练习内容
考虑有一个木工, 一个电工, 一个油漆工, 以及一个
装修工四人相互同意彼此装修他们自己的房子, 在装
修之前, 他们约定每人总共工作 13天 ( 包括给自己家
干活在内 ) ;每人的日工资根据一般的市价不超过 100
元;每人的日工资数应使得每人的总收入与总支出相
等, 请为他们制定出一张工作天数的分配方案表, 并
根据分配方案表确定他们的日工资,






—— 动物繁殖问题
线性代数专题实验 2
理工数学实验





验一、实验内容
某农场饲养的某种动物所能达到的最大年龄为 15岁, 将
其分成三个年龄组:第一组, 0~5岁;第二组, 6~10岁;第
三组, 11~15岁, 动物从第二年龄组起开始繁殖后代, 经过
长期统计, 第二年龄组的动物在其年龄平均繁殖 4个后代,
第三年龄组的动物在其年龄段平均繁殖 3个后代, 第一年龄
组和第二年龄组的动物能顺利进入下一个年龄组的存活率分
别为 1/2和 1/4,假设农场现有三个年龄段的动物各 1000头,
问 15年后农场三个年龄段的动物各有多少头?





验二、实验目的
巩固线性代数的有关知识, 培养学生用矩阵知识解
决实际问题的能力,
三、预备知识
线性代数的矩阵知识.





验四、实验内容与要求
1.建立动物各年龄段数量预测模型,
2.利用所建模型, 用数学软件计算 15年后各年龄段动
物数量,






1.研究本问题中当时间无限长时各年龄段动物数量比
例的极限状况,
2.将此模型推广到研究关于年龄分布的人口预测模
型,
五, 思考问题






—— 作物育种方案的预测问题
线性代数专题实验 3
理工数学实验





验一、实验内容
假定一个植物园要培育一片作物, 它由三种可能基因型 AA,Aa及 aa的某
种分布组成, 植物园的管理者要求采用的育种方案是:子代总体中的每
种作物总是用基因型 AA的作物来授粉, 子代的基因型的分布如表 1,问:
在任何一个子代总体中三种可能基因型的分布表达式如何表示?
表 1
亲代的基因型
AA-AA AA-Aa AA-aa Aa-Aa Aa-aa aa-aa
子代
的基
因型
AA 1 1/2 0 1/4 0 0
Aa 0 1/2 1 1/2 1/2 0
aa 0 0 0 1/4 1/2 1





验二、实验目的
通过本实验进一步巩固, 线性代数, 中关于矩阵特征值, 特征向量
及矩阵对角化的知识, 培养学生把实际问题转化为数学问题来求解的能
力, 三、预备知识
1.特征值, 特征向量的概述,
2.特征值, 特征向量的解法,
3.生物遗传规律,
若亲代的基因型为 AA,Aa及 aa( 其中 A为显性基因, a为隐性基因 )
,而产生子代时, 都用 AA型亲代去配对, 则子代的基因型就有如下分布:
AA与 AA配对, 子代中只有 AA型
AA与 Aa配对, 子代中有 AA,Aa两种基因型, 且出现的概率都为 1/2
AA与 aa配对, 子代中只有 Aa型
4.在实际计算中, 我们采用数值计算方法, 这类计算方法有很多,
如幂法, 雅可比方法等, Mathmatica软件提供了现成的软件包:
函数 Eigenvalues[A]该函数的结果为矩阵 A的特征值组成的表,
函数 Eigenvectors[A]该函数的结果为矩阵 A的特征向量组成的表,





验四、实验内容与要求
1.建立第 n代基因型的分布表达式,
本实验是利用遗传规律及所给的表, 写出第 n代和第 n— 1
代的基因关系, 然后通过矩阵知识, 找到第 n代基因型与
初始基因型的直接关系, 最后由初始基因型求第 n代基因
型的分布表达式,
不妨令 an,bn,cn分别表示在第 n代中 AA,Aa,aa基因作物
所占的分数; a0,b0,c0表示对应基因型的初始分布, 则






验四、实验内容与要求
由上递推式可求出 an,bn,cn与 a0,b0,c0的关系.
2.利用矩阵的特征值, 特征向量的知识,
3.编写 Mathematica程序,
?
?
?
?
??
?
?
?
?
??
??
??
??
0
2
1
2
1
11
11
n
nnn
nnn
c
bcb
baa






假设一片作物是由 AA,Aa及 aa基因型的某种分布组成,
且作物总体中每种作物不是全部都用基因型 AA授粉,而
是用每种作物自身的基因型来授粉.求任何一个后代总
体中三种可能基因型的分布表达式.
五, 思考问题






—— 食谱问题
线性代数专题实验 4
理工数学实验





验一、实验内容
某公司饲养实验用的动物以供出售, 已知这些动物的生
长对饲料中三种营养成分:蛋白质, 矿物质, 维生素特别敏
感, 每个动物每天至少需要蛋白质 70g,矿物质 3g,维生维
10mg,该公司能买到 5种不同的饲料, 每种饲料 1kg所含营养
成分如表 1所示, 每种饲料 1kg的成本如表 2所示 。 求既能
满足动物生长需要, 又使总成本最低的饲料配方 。






表 2 五种饲料单位重量 (1kg)成本
饲料 A1 A2 A3 A4 A5
成本(元) 0.2 0.7 0.4 0.3 0.5
表 1 五种饲料单位重量 (1kg)所含营养成分
饲料 蛋白质 (g) 矿物质 (g) 维生素 (mg)
A1 0.30 0.10 0.05
A2 2.00 0.05 0.10
A3 1.00 0.02 0.02
A4 0.60 0.20 0.20
A5 1.80 0.05 0.08
一、实验内容





验二、问题分析
模型评述
设有 n种食物, 每种食物中含有 m种营养成分,用 aij表示一个单位的第 j种食
物中含有第 i种营养的数量, 用 bi表示每人每天对第 i种营养的最低需求量, cj表
示第 j种食品的单价, xj表示所用的第 j种食品的数量, 一方面满足 m种营养成分
的需要同时使事物的总成本最低,
一般的食谱问题的线性规划模型为
??? nj jj xcf 1m in
??
?
?
?
??
???
?
njx
mibxa
ts
j
n
j
ijij
,,2,1,0
,,2,1,
.,1
?
?
)5,4,3,2,1( ?jx j设 表示混合饲料中所含的第种饲料的数量,由于提供的蛋白质总数必须满足每天的最低需求量 70g,故应有
7080.160.000.100.230.0 54321 ????? xxxxx





验二、问题分析
同理, 考虑矿物质和维生素的需要, 应有
305.020.002.005.010.0 54321 ????? xxxxx
1008.020.002.010.005.0 54321 ????? xxxxx
f混合饲料成本的目标函数 为
54321 5.03.04.07.02.0 xxxxxf ?????
决策变量 非负, jx
由于希望调配出来的混合饲料成本最低, 所以该饲料配比问题是一个线性规划模
型:
54321 5.03.04.07.02.0m i n xxxxxf ?????
?
?
?
?
?
?
?
??
?????
?????
?????
5,2,1,0
1008.020.002.010.005.0
305.020.002.005.010.0
7080.160.000.100.230.0
..
54321
54321
54321
?jx
xxxxx
xxxxx
xxxxx
ts
j





验三、问题解答
In[1]:=c={0.2,0.7,0.4,0.3,0.5}
A={{0.30,2.00,1.00,0.60,1.80},
{0.10,0.05,0.02,0.20,0.05},
{0.05,0.10,0.02,0.20,0.08}};
b={70,3,10};
result=LinearProgramming[c,A,b]
f=c.result
Out[4]:={0,0,0,39.7436,25.641}
Out[5]:=24.7436

In[1]:=ConstrainedMin[0.2x1+0.7x2+0.4x3+0.3x4+0.5x5,
{0.3x1+2.0x2+1.0x3+0.6x4+1.8x5>=70,
0.1x1+0.05x2+0.02x3+0.2x4+0.05x5>=3,
0.05x1+0.1x2+0.02x3+0.2x4+0.08x5>=10},
{x1,x2,x3,x4,x5}]
Out[1]:={24.7436,{x1?0,x2?0,x3?0,X4?39.7436,x5?25.641}}





验四、结果分析
可以看出, 用两个不同函数 LinearProgramming 和
ConstrainedMin求得相同的解, 即:该公司可分别购买第四
种饲料 39.74(kg)和第五种饲料 25.64(kg)配成混合饲料;所耗
成本 24.74(元 )为满足营养条件下的最低成本,





验五, 思考问题
某工厂生产四种不同型号的产品, 而每件产品的生产要经过三个车间
的加工, 根据该厂现有设备和劳动力等生产条件, 可以确定各车间每日
的生产能力 (我们把它们折合成有效工时数来表示 ).各车间每日可利用的有
效工时数, 每个产品在各车间加工时所花费的工时数以及每件产品可获
得的利润见表 3问每种产品每季度各应该生产多少, 才能使这个工厂每季
度生产总值最大?
表 3
车间 每件产品所需的加工工时 有效工时 (h/d)
1# 2# 3# 4#
I 0.8 0.8 1.1 1.2 160
II 0.6 0.8 0.7 0.8 120
III 0.4 0.5 0.7 0.7 100
利润 (元 /件 ) 6 8 9 10