1、实验与提高,一、Matlab的矩阵计算,1,二、利用矩阵解决问题实例,2,一、Matlab的矩阵计算,矩阵的基本运算、功能及其Matlab命令形式,见表II-1,3,4,矩阵都符合矩阵运算的规律,如果矩阵的行列数不符合运算符的要求,将,产生错误信息,5,例2-26 计算,解 Matlab命令为,ans=,3 6 5 -4 15 -8,6,例2-27 计算,解 Matlab命令为,5*A,5 10 15 15 25 5,ans=,7,的乘积,解 Matlab命令为, a+3*b+5*c,2*a+4*b+6*c,ans=,例2-28 求向量a,b,c与矩阵,8,的乘积,例2-29 求矩阵 与矩阵,
2、解 Matlab命令为,ans=,1 0 5 30 -1 0 0,9,例2-30 求矩阵 的逆.,解 Matlab命令为,ans=,22.0000 -6.0000 -26.0000 17.0000 -17.0000 5.0000 20.0000 -13.0000 -1.0000 -0.0000 2.0000 -1.00004.0000 -1.0000 -5.0000 3.0000,10,线性代数,例2-31 求矩阵 的逆.,解 Matlab命令为,d/(a*db*c),-b/(a*db*c) -c/(a*db*c),a/(a*db*c),ans=,11,线性代数,例2-32 求矩阵 的转置.,
3、解 Matlab命令为,ans=,1 2 3 2 3 4 3 4 5 4 5 6,12,线性代数,例2-33 已知矩阵 , 求A 的行列式.,解 Matlab命令为,ans=,adbc,13,线性代数,例2-34 求矩阵 的2次幂与3次幂,解 Matlab命令为,ans=,a2,2*a,1 0,a2,2*a 0, 0,a2,14,线性代数,ans=,a3,3*a2,3*a 0,a3,3*a2 0, 0,a3,15,线性代数,例2-35 求矩阵 的秩与行最简形,解 Matlab命令为,ans=,1 0 0 -2 0 1 0 2 0 0 1 5 0 0 0 0,ans= 3,16,线性代数,对于矩
4、阵方程AX=B(或XA=B),当A可逆时,可以利用Matlab的左除和右除运算方便地求出,其解 (或 ),二、利用矩阵解决问题实例,例2-36 有甲、乙、丙三种化肥,甲种化肥,每千克含氮70g、磷8g、钾2g;乙种化肥每千克含,氮64g、磷10g、钾0.6g; 丙种化肥每千克含氮70g,磷5g、钾1.4g。若把此三种化肥混合,要求总重量,23kg且含磷149g、钾30g,问三种化肥各需多少千克?,17,线性代数,解 设甲、乙、丙三种化肥分别需,千克,依题意得方程组:,用Matlab解方程组:,线性代数,X=,3.0000 5.0000 15.0000,结果分析:,方程组的解为:,则甲、乙、丙三
5、种化肥分别需3kg、5kg、15kg,线性代数,例2-37 某农场饲养的动物所能达到的最大年龄为15岁,将其分为三个年龄组:第一组,0 5岁;第二组6 10岁;第三组11 15岁。动物从第二年龄组起开始繁殖后代,经过长期统计,第二年龄组的动物在其年龄段平均繁殖4个后代,第三组在其年龄段平均繁殖3个后代,第一年龄组和第二年龄组的动物能顺利进入下一个年龄组的存活率分别为1/2和1/4。假设农场现有三个年龄段的动物各1000头,问15年后农场饲养的动物总数及农场三个年龄段的动物各将达到多少头?指出15年间,动物总增长多少头及总增长率.,20,线性代数,解 年龄组为5岁一段,故将时间周期也取5年。,1
6、5年经过3个周期。用k=1,2,3分别表示第一、,二、三个周期, 表示第i个年龄组在第k个周期,即,的数量。由题意,有如下矩阵递推关系:,21,线性代数,利用Matlab计算有,x3=(L3)*x0,x3=,14375 1375 875,22,线性代数,pie(x3) %绘出图形,不同年龄段动物所占百分比,23,线性代数,结果分析:,15年后,农场饲养的动物总数将达到16625头,其中0 5岁的有14375头,占总数的86.46%,6 10,岁的有1375头,占8.27%,11 15岁的有875头,占,5.226%,15年间,动物总增长13625头,总增长率为,13625/3000=454.1
7、6%。,24,线性代数,25,线性代数,Hill密码,是由L. S. Hill引进的.,先指定每一个明文字母和密文字母按它在字,最简单的Hill密码的编码,是将接连的明文字母,两两分组,各数组都构成2维明文向量,再选一个可,逆的整数值22矩阵,它将每个明文向量逐一转换,成密文向量.这样的Hill密码称为Hill-2密码.,26,线性代数,DYMATH这一信息,使用上表的对应,并按Hill-3码,一般地,可以有Hill-n密码.假如现在要发出STU,进行编码.首先查得的信息的数字依次是19,20,21,4,25,13,1,20,8,将它们组成下面三个明文向量:,选择可逆的三阶矩阵,例如,27,线
8、性代数,将上述信息变为如下三个密文向量:,因而我们发出密码122,81,62,93,55,51,65,37,36.,假如收到的回复信息是114,81,58,104,69,55,并且编码方法与上面相同.为了解译此码,将上述数,码分为2个3维向量,则有,28,线性代数,解得,按照对应表值得出的信息是WHY NOT.,29,线性代数,数码经矩阵转换后常回出现溢出表值(即超过,25)的情况.例中发出的信息就全都是这样的.对此,通常是将所得大于25的数以26去除后的余数代替,就能得到对应的字母.这种以余数进行处理的方法,用到所谓模算术,它在密码学中有着重要的作用.,用密码传出信息,通常也以字母形式出现.例,如上面收到的回复就是JCFZQC,从表面看就不知,所云了.,