11【实验十】 线性代数中的有关运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
114
【实验十】 线性代数中的有关运算
【实验目的】
通过实验,学习在Mathematica 系统下建造表的基本方法;掌握行列式、矩阵的基本运算;了解线性方程组的解法以及建立和求解线性规划模型的一般方法. 【实验准备】
一、表(List )的建构方法 1.表的概念
表是存贮多个数、变量或算式等对象的一种数据结构,其数据类型是List .一个表用一对大括号表示,它的成员在括号内用逗号隔开,同一个表的成员可以有不同的数据类型.
表可以用来表示各种对象,如数据、规则、函数组、方程组、多维变量、集合、向量、矩阵,…等等.
表本身没有特定的含义,根据实际问题的实际背景,可以对表作出各种不同的解释. 例1 表的使用实例
81,
2< 数据表
81,2 x,Sin
@D < 函数组 8x ,
a < 变量x 及其变化范围 8x ®1,y
< 变量替换规则 @8a 1,a2,a3<,8b1,b2,
<D 矩阵 8a ,b
<
集合 2.表的结构 ● 表的成员称为元素.
● 表中元素的个数称为表的长度(Length ).
●
若表中的元素还是表,称其为子表.
表中的元素的操作命令(设t 是表):
}}},cos ,2{,{sin },,2{,3{a y x x t 问(1) t @1D ,t @2,1D ,t @3,2,D 分别表示表中的什么成份; (2)以表中的第三个子表组成一个新表. 解 In[1]:=
t =83,82,x <,8S in @x D ,82,Cos @x
D <<
定义表t
115
Out[1]:= 83,82,x <,8S in @x D ,82,Cos @x D <<
In[2]:= t
@D
Out[2]:= 表中的第一个元素
In[3]:= t @2,D Out[3]:= 第二个子表的第一个元素
In[4]:= t
@3,2,
D Out[4]:= 第三个子表中的第二个子表中的第一个元素
In[5]:= Part
@t D Out[5]:=
8S in @x D ,82,Cos
@D <
3.表的建构
在表的建构方法中,我们介绍最主要的两种建表函数:通用表的生成函数Table 与整数
表的生成函数Range .其调用格式如下:
例3 (1)构造一个1到10的立方表,步长取2;(2)构造一个1到10的整数表,步长取2. 解 (1)In[1]:= Table x ^3, x ,1,10, Out[1]:= 1,27,125,343,
(2)In[2]:= Range @1,10
D Out[2]:= 81,3,5,
7<
4.表的相互运算
以下命令可以进行表的运算,生成新表(原来的表不变).
例4 已知表}4,3,2,1{=a 与表}6,5,4,3{=b ,试完成下列操作:
116
(1) 取表a 与表b 的并集组成一个表; (2) 取表a 与表b 中的交集组成一个表; (3) 在表a 中去掉与表b 相同的元素; (4) 将表a 中的元素按2个一组生成子表; (5) 展开(4)中生成的子表. 解 In[1]:=
a =81,2,3,4<;
b =83,4,5,< (1)In[2]:= Union @a
D Out[2]:= 81,2,3,4,5< (2)In[3]:= Intersection @a D Out[3]:= 3< (3)In[4]:= Complement @a
D Out[4]:= 1
< (4)In[5]:= Partition
@a D Out[5]:= 81,2<,83,< (5)In[6]:=
Flatte
@D Out[6]:=
81,2,
3<
二、矩阵
在Mathematica 中矩阵就是一个表,下面讨论矩阵的输入与输出以及有关矩阵的运算. 1.矩阵的输入
(1)由模板直接输入矩阵
基本输入模板中有输入二阶方阵的模板,单击该模板则输入一个空白的二阶方阵.按Ctrl+“,”使矩阵增加一列,按Ctrl+Ente r 使矩阵增加一行.如果矩阵不大,此法较方便.
(2)由自制摸板输入矩阵 单击主菜单的input 项,弹出子菜单.选中子菜单中的Create T abel/Matrix/Palette (建立表、矩阵、模板)选项出现对话框.在对话框中,选中Make : Matrix ,键入行数和列数即可在窗口生成一个可编辑的矩阵模板.
(3)由数表生成矩阵
由于矩阵是一个表,因而表的一般操作对于矩阵是适用的,其格式如下:
例5 (1)已知j i ,的关系为j i -3,生成一个43⨯矩阵;(2) 生成一个24⨯a 矩阵;(3)生成一个以}4,3,2,1{为对角元素的矩阵.
117
解 (1)In[1]:= Table A i 3-j,8i ,3<,8j ,
<E Out[1]:=
80,-1,-2,-3<,87,6,5,4<,826,25,24,< (2)In[2]:=
Array @a ,84,
<D Out[2]:= 8a @1,1D ,a @1,2
D <,8a @2,1D ,a @2
,D < 8a @3,1D ,a @3,2D <,8a @4,1D ,a @4
,D < (3)In[3]:= DiagonalMatrix @81,2,3,
<D Out[3]:= 81,0,0,0<,80,2,0,0<,80,0,3,0<,80,0,0,
<
2.矩阵的输出
不管用何种方法输入矩阵,矩阵总是以表的形式输出.这既违背常规,又难以阅读,因 此,Mathematica 提供了以矩阵形式输出的函数MatrixForm ,其使用格式如下
例6 将例5中(1)生成的矩阵以矩阵的格式输出
解 In[1]:=
MatrixForm A T able A i 3-j,8i ,3<,8j
,<E Out[1]:=i k y {
3.矩阵的运算
下面介绍在Mathematica 系统下计算行列式、矩阵的数乘、同型矩阵的相加减、矩阵的 乘法、逆矩阵和转置矩阵所使用的函数.其格式如下: 例7 已知数表}}2,1,1{},6,4,2{},3,1,1{{1---=m ;
}}
1,3,2{},5,1,1{},1,2,2{{2---=m
求(1)212m m +; (2)1}3,2,1{m ⋅ ;(3)2m 的转置矩阵 ;(4)1m 的逆矩阵 ;并将上述计算以矩阵格式输出.
解In[1]:= MatrixForm @m1=
81,-1,3<,82,-4,6<,8-1,1,
<D Out[1]:=i k y {
118
In[2]:= MatrixForm @m2=
82,-2,1<,81,-1,5<,8-2,3,
<D Out[2]:=i k y {(1)In[3]:=
2 m1+m2
Matrix
Out[3]:=i y (2)In[4]:=
Out[4]:=k -
{
(3)In[5]:=
Transpose m2
Matrix
Out[5]:=i k y {(4)In[6]:=
Inverse @m 1
D
Matrix
Out[6]:=
i y 三、矩阵的秩与线性方程组 1.求矩阵的秩
由于矩阵的秩等于将该矩阵化为简化阶梯形矩阵的非零行的行数,在Mathematica 系统下将矩阵化为简化阶梯型矩阵的命令是duce
Re Row
,因此,利用duce
Re Row
命令将矩阵化
为简化阶梯型矩阵就可以直接求出矩阵的秩.
例8 求矩阵
⎥⎥⎥⎥⎦
⎤
⎢⎢⎢
⎢⎣⎡-------=54
4
7
4
2412113110410442A
的秩.
解 (1)利用模板输入矩阵
119
In[1]:=
(2)求简化阶梯形矩阵
In[2]:=
RowReduce @A
D Matrix
Out[2]:=
i y A 的秩是3,即3=)(A r . 2.解线性方程组
解线性方程组的方法是:利用基本输入模板直接输入增广矩阵,然后将其化成简化阶梯形矩阵,得到线性方程组的解.
例9 解线性方程组⎪⎩⎪
⎨⎧=+=-=+0
631
349221
3231x x x x x x .
解 (1)利用模板直接输入增广矩阵
In[1]:=
(2) 用duce
Re Row 命令将其化成简化阶梯形矩阵并以矩阵的格式输出
In[2]:=
Out[2]:=
解出该方程组的解是291-=x ,2
2=
x ,193=x .
120
四、线性规划问题
线性规划是现代科学管理的一种数学方法,它主要研究在一定的约束条件下,如何使目标最优化.它主要研究两类问题:一是在一定的资源条件下,如何合理安排,用最少的资源去完成某一任务;二是在已有的一定数量的资源条件下,如何最多的完成任务.这种问题的数学模型称为线性规划模型,用数学语言描述如下:
n
n x c x c x c Z +++= 2211min(max)
(st .):⎪⎪⎪⎩
⎪
⎪⎪
⎨
⎧≥≥=≤+++≥=≤+++≥=≤+++0
,,,212
2112
222212*********n m n mn m m n n n n x x x b x a x
a x a
b x a x a x a b x a x a x a
),或(或),或(或),或(或 .
说明:
(1)在解决实际问题时,用一组未知数(n
x x x ,,,21
)表示某一方案;这组未知数的
一组定值就代表一个具体的方案.通常要求这些未知数取值是非负的.
(2)存在一定的限制条件(称为约束条件),这些限制条件都可用一组线性等式或线性不等式来表示.
(3)都有一个目标要求,并且这个目标可表示为一组未知数的线性函数(即目标函数).按研究问题的不同,要求目标函数实现最小化或最大化.
Mathematica 系统中的内部命令dMax
Constraine
和dMin
Constraine
就是用来求目标函数
在约束条件下并且假设所有变量都大于、等于零时的最大值和最小值.
例10 求函数2
y x Z
+=
在约束条件⎪⎩
⎪
⎨⎧≤+≤+≤+12312
33056y x y x y x 下的最大值.
解 In[1]:=
ConstrainedMax
@H x +y
L
86 x +5 y £30,3 x +y £12,x +3 y £12<,8x ,
<D Out[1]:= :36
,:x ®
30
,y ®4
>
当13
30=x
,13
42=
y
时,函数Z 取得最大值13
36.
注:如果函数在限制条件下是无穷的,Mathematica 会提示一个警告信息.并输出无法求
出最大(小)值的结果.
例11 求函数y
x Z 33-=在约束条件⎩⎨
⎧≥+≤+-2
0y x y x 下的最大值.
解 In[1]:=ConstrainedMax 3x 3y, x y 0,x y 2 , x ,
ConstrainedMax::nbdd :Specified domain appears unboun
Out[1]:= , x Indeterminate,y Indetermina
121
例12 食谱问题:某公司饲养实验用动物以供出售.已知这些动物的生长对饲料中的三种营养成份:蛋白质、矿物质、维生素特别敏感,每个动物每天至少需要蛋白质g 70,矿物质g 3、维生素mg 10,该公司能买到5种不同的饲料,每种饲料kg 1所含营养成分如表1所示,每种饲料kg 1的成本如表2所示.
表1 五种饲料单位重量(kg 1)所含营养成分
表2 五种饲料单位重量(kg 1)的成本
求既能满足动物生长需要,又使总成本最低的饲料配方. (1)问题分析与建立模型
设i x )5,4,3,2,1(=i 表示混合饲料中所含的第i 种饲料的数量,且变量i x 非负.由于提供的蛋白质总数必须满足每天的最低需求量g 70,故应有
70
80.160.000.100.230.054321≥++++x x x x x 同理,考虑矿物质和维生素的需要,应有
3
05.020.002.005.010.054321≥++++x x x x x
1008.020.002.010.005.054321≥++++x x x x x
混合饲料成本的目标函数Z 为
5
43215.03.04.07.02.0x x x x x Z ++++= 由于希望调配出的混合饲料成本最低,所以该饲料的配比问题是一个线性规划模型.
5
43215.03.04.07.02.0min x x x x x Z ++++=
⎪⎪⎩
⎪⎪
⎨
⎧=≥≥++++≥++++≥++++5,,2,1,01008.020.002.010.005.0305.020.002.005.010.07080.160.000.100.230.0543215432154321 i x x x x x x x x x x x x x x x x i
(2)计算过程
In[1]:=
ConstrainedMin @0.2 x1+0.7 x2+0.4 x3+0.3 x4+0.5
80.3 x1+2.0 x2+1.0 x3+0.6 x4+1.8 x5
³ 0.1 x1+0.05 x2+0.02 x3+0.2 x4+0.05 x5
0.05 x1+0.1 x2+0.02 x3+0.2 x4+0.08 x5³
<
8x 1,x2,x3,x4,
<D
122
Out[1]:= 824.7436,8
x 1®0,x2®0,x3®0,x4®39.7436,x5®25.6
<
(3)结果分析
通过上面计算可知:该公司可分别购买第四种饲料)(74.39kg 和第五种饲料)(64.25kg 配成的混合饲料,所耗成本74.24(元)为满足营养条件下的最低成本.
这类线性规划模型还可以描述诸如最大利润、最小成本运输、合理分派任务等问题.
【实验任务】
一、求行列式3
9
8
5
652242104321
---=
A 的值.
二、求下列矩阵的逆矩阵和转置矩阵:
1.⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡--=60
4
313
136
A ; 2. ⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡-=62
1
12
53
143
A .
三、计算:
1.⎥⎦⎤⎢
⎣⎡--01
3
321
⎥⎥⎥⎦
⎤
⎢⎢
⎢⎣⎡---11
3
2
34052;
2.⎥⎥⎥⎦⎤
⎢⎢⎢⎣⎡--43
043202
⎥⎥⎥⎦⎤
⎢⎢⎢⎣⎡---15
402063
;
3. ⎥⎦⎤⎢
⎣⎡--21
121
⎥⎥⎥⎦
⎤⎢⎢
⎢⎣⎡--20
123411 +⎥⎦⎤⎢
⎣⎡-11
2
301
⎥⎥⎥⎦
⎤
⎢⎢
⎢⎣⎡--20
123411.
四、求下列各矩阵的秩:
1. ⎥⎥⎥⎥⎦
⎤⎢⎢⎢
⎢⎣⎡---1211451144213011
;
2. ⎥⎥⎥⎥⎦
⎤⎢⎢⎢
⎢⎣⎡14
3
1
2333
132112220110111102110111.
123
五、解下列线性方程组:
1. ⎪⎩⎪
⎨⎧=+---=-+-=-+-4
223123204321
43214321x x x x x x x x x x x x ;
2. ⎪⎪⎩⎪⎪
⎨⎧=+-+=+-+-=+-+=-+-2
87154034725321
2534321
43214321
4321x x x x x x x x x x x x x x x x .
六、某工厂生产1A 、2A 两种产品.已知制造产品1A 1万瓶要用原料1B 5kg ,原料2B 300kg ,
原料3B 12kg ,可得利润8000元;制造产品2A 1万瓶要用原料1B 3kg ,原料2B 80kg ,原料3B 4kg ,可得利润3000元.该厂现有原料1B 500kg ,2B 20000kg ,3B 900kg .问:在现有条件下,生产1A 、2A 各多少,才能使该厂的利润最大.
七、消费者甲要购买营养品,要求其中所含维生素C A 、分别不少于12单位和20单位,现有五种营养品可供选购,每种营养品所含维生素C A 、的含量,以及每种营养品的单价见下表,现问甲购买这五种营养品各多少,才能既满足了必要的维生素又花钱最少?
八、设有两个砖厂1A 、2A .其产量为23万块和27万块.它们生产的砖供应321B B B 、、三个工地.其需要量分别是17万块、18万块和15万块.自产地到各工地的运价见下表.
问:应如何调运,才能使总运费最省.。