付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数学实验矩阵的运算outhChinaUniversityofTechnology数学实验报告学院:班级:学号:姓名:完成日期:实验四矩阵的运算(一)投入产生分析一.实验目的1 .理解投入产生分析中的基本概念和模型;2 .从数学和投入产生理论的角度,理解矩阵乘法、逆矩阵等的含义。2 .问题描述设国民经济由农业、制造业和服务业三个部门构成,已知某年它们之间的投入产生关系、部需求、初始投入等如表1-1所75表1-1国民经济三产部门之间的投入产生表产生农业制造业服务业外部需求总产生投入农造业301045115200服务业2060070150初始投入3511075总投入1100
2、200150根据表回答下列问题:(1)如果农业、制造业、服务业外部需求为50,150,100,问三个部门总产生分别为多少?(2)如果三个部门的外部需求分别增加一个单位,问他们的总产生分别为多少?3 .实验过程1 .问题(1)的求解(1)求直接消耗矩阵A根据直接消耗的计算公式司二乂网和各部门中间需求;Xnn运行如下代码可得直接消耗系数表OX=152030;301045;20600;X_colsum=100200150;X_rep=repmat(X_colsum,3,1)A=X./X_rep运行结果为:A=0.15000.10000.20000.30000.05000.30000.20000.30
3、000(2)求解根据公式X=(I-A)-1y在运行如下代码y=50;150;100;n=size(y,1);W=eye(n)-A;X=Wy运行结果为X=139.2801267.6056208.1377即三个部门的总产生分别为139.2801,267.6056,208.1377亿元。2 .问题2求解设外部需求由y增加至y+Ay,则产生x的增量为Ax=(-A)-1(y+Ay)(I-A)-1y=(I-A)-1Ay利用问题(1)求得的I-A矩阵,再运行如下的MATLAB代码可得问题的结果:dx=inv(W)运行结果:dx=1.34590.25040.34430.56341.26760.49300.43
4、820.43041.2167根据上述结果可知,当农业的外部需求增加1个单位时,农业、制造业、服务业的总产生分别增加1.3459,0.5634,0.4382个单位;当制造业的外部需求增加1个单位时,农业、制造业、服务业的总产生分别增加0.2504,1.2676,0.4304个单位;当服务业的外部需求增加1个单位时,农业、制造业、服务业的总产生分别增加0.3443,0.4930,1.2167个单位。四.实验总结投入产生的理论依据,主要是矩阵运算和逆矩阵,投入和产生分析在编制和修订宏观计划、开展紧急预测和项目效果预测、研究价格水平及其变动影响,研究产业结构及其关联程度,投资对消费的带动分析等方面对会
5、有很重要的应用。(二)Hill密码的加密、解密与破译一、实验目的1 .复习线性代数,矩阵,线性空间与线性变换等概念和运算.2 .熟悉Hill密码体制的加密,解密和破译过程.3 .Hill密码体制的加密,解密和破译过程的MATLAB编程实践.二、问题描述对明文为“MrHillmadethiscode利运用不同的密匙矩阵加密矩阵,实现Hill加密与解密过程。三.实验过程(1)模型建立于问题分析简单起见,为了使明文参与矩阵运算,建立如下表格2-1:ABYZ空格句号122526027表2-126个英文字母、空格、句号与数字之间的对应关系设明文为M=(m1,m2,m)T,密匙矩阵为可逆的lxl的方阵,则
6、经过线性变换得到密文C=Ek(M)=(c1c2,cI)T,其中C1=(k11ml+k12m2+,+k11ml)mod28,C2=(k21m1+k22m2+k2lml)mod28,Cl=(kl1m1+kl2m2+kiml)mod28,或写成矩阵形式C=(KM)mod28,其中C=(C1C2,Cl)T,M=(m1,m2,m。T,K=(kij)lxl解密得明文M=(K-1C)mod28注意,明文、密文都是非负实数,故密匙矩阵K及其逆矩阵K-1的元素都应该是非负实数,不能是负整数、分数、或小数。当密匙矩阵K的行列式的值等于+1或-1,则逆矩阵K-1的元素是整数。若K-1的元素有负整数,再对矩阵K-1的
7、所有元素加28的若干倍,再取模28,可保证矩阵K-1的所有元素为正整数。密文解密后可得非负整数明文M,与原明文相同。(2)加密对明文为“MrHillmadethiscode。”按表2-1的规则映射为数集13,18,0,8,9,12,12,0,13,1,4,5,0,20,8,9,19,0,3,15,4,5,27,0,假设将消息从左到右,每4个字符分为一组,并将对应的四个整数排列成4维的列向量,加密后仍为4维的列向量,其分量仍为整数,要发生的消息可写为一个矩阵:139M=180813121200145194200839155270为求生合适的密匙矩阵Ki,在一个4x4阶矩阵中,任设二元函数的值为x
8、,y,其余元素给由具体的非负整数值,并令其行列式的值的绝对值为1,可得一个二元一次或二元二次不定方程,可求其正整数解,如取:Ki=12169,IKiI=1,364621138利用如下的MATLAB代码可求得密匙矩阵K1的行列symsxy;K=4,x,8,y;12,1,6,9;3,6,4,6;2,11,3,8;det_K=det(K)运行结果:det_K=-760-105*x+187*y可知二元一次方程为-760-150x+187y=1,即105x-187y=-761.下面利用辗转相除法求一整数解。设u=x,v=-y,得105u+187v=-761对上式辗转相除:187=1x105+82105=
9、1x82+2382=3x23+1313=1x10+310=3x3=13=3x3=0从而得到187=1113111r113110501,010101013O110:0=187571=Q11053200,即、1=Q1187=-32571870105105-187105也即105x57+187x(-32)=1两边同时乘以-761,得105x(-43377)+187x24352=-761故u=-43377,v=24352为一个特解,从而u=-43377-187t,v=24352+105t,t为整数故而x=-43377-187t,y=-24532-105t,t为整数不妨取t=-232,可得x=7,y=8
10、.从而密匙矩阵可取为4788K1=12169364621138一以上过程可采用如下的MATLAB代码实现;symst;Q=11;10*11;10*31;10*11;10*11;10*31;10*31;10S=187;105Q*1;0Q_inv=inv(Q)uv0=-761*Q_inv(1,2)-761*Q_inv(1,1)gs=gcd(S(1),S(2);u=uv0(1)-S(1)/gs*t;v=uv0(2)+S(2)/gs*t;u0=uv0(1)-S(1)/gs*(-232);v0=uv0(2)+S(2)/gs*(-232);x0=u0,;y0=-v0;于是将要发生的信息乘以Ki变成密码”后
11、发生:478(KiM)mod28=12053642113813913016918601248880-5919412120327J150182019242415C=2224291719277710191081858274LJ对照表2-1可知接受者接到的密文是"rv.htxgrsbgexijhxqs.osjd.(3)解密接收者收到信息”rv.htxgrsbgexijhxqs.osjd后,运用事先约定的密匙矩阵K1的逆矩阵K-1解密,从密码中恢复明文,当K-1得元素由现负整数,则加上28的若干倍数,使它的元素全为非负整数,再取模28可得解密的密匙矩阵K2根据表2-1,反过来查表,即可得明文
12、,解密正确。给定密匙矩阵,利用如下代码可求得问题的解:M=139130194;181212005;01248327;8059150;K1=4788;12169;3646;21138;det(K1)C=mod(K1*M,28)K1_inv=inv(K1)K1_inv=round(K1_inv);K2=mod(K1_inv,28)M=mod(K2*C,28)ans=1.0000C=1820192424152224291719277710191081858274K1_inv=- 112.0000-34.0000371.0000-128.0000- 105.0000-32.0000348.0000-1
13、20.0000- 39.0000-12.0000130.0000-45.0000187.000057.0000-620.0000214.0000K2=0227127241220171618111912418M=139130194181212005012483278059150此矩阵与原矩阵相符,解密成功。现依照上面步骤取另一个可逆矩阵K2,来作为密匙为求由合适的密钥矩阵K2,在一个4*4阶的矩阵中,任设二元素的值为x,y,其余元素给由具体的非负整数数字,并令其行列式的值等于1或-1,可得一个二元一次或二元二次不定方程,可求其正整数解,如取Ix2K2=3169,|K2|=1.3646(273/利
14、用如下的代码可求得密钥矩阵心行列式:symsxy;K=1,x,2,y;3,1,6,9;3,6,4,6;2,7,3,8;det_K=det(K)运行结果:det_K=21*x-23*y+62可知二元一次方程为21x-23y+62=1,即21x+61=23y下面利用枚举法求一整数解,代码如下:x=1;whilemod(21*x+61,23)=0x=x+1;endxy=(21*x+61)/23运行结果:x=19y=20故密钥矩阵(发送者和接受者事先都知道的矩阵)可取为厂1192A20K2=316936462738于是将要发生的信息(或矩阵)经乘以K2变成“密码”后发出:(K2M)mod28=1190
15、16171317272591411277710191020261122712=C对照表5-4可知接受者收到的密文是“kg.ti.gzygapijlqns.mkjl”.3.解密接受者收到信息“kg.ti.gzygapijlqns.mkjl”后,运用事先约定的密钥解密,即用K2-1=-112-54-271544211051-1028742211-423-23-11-56112从密文中恢复明文。由于K2-1的元素由现负整数,故把它的每一个元素加上28的若干倍数,使它的元素全为非负整数,再取模28.即取K=029122110231014152513(KC)mod28=1812171320194=M.1242715以上可有以下代码实现M=139130194;181212005;01248327;8059150;K1=119220;3169;3646;2738;det(K1)C=mod(K1*M,28)K1_inv=inv(K1)K1_inv=round(K1_inv);K=mod(K1_inv,28)M=mod(K2*C,28)运行结果ans=1.000C=119016171317272591411277710191020261122712K1_inv=-112-54-271544211051-1028742211-423-23-11-56112K=02
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全产业网络安全防护技术与应用推广计划
- 成长故事会:讲述我的校园生活小学主题班会课件
- 2026河北北方学院附属第二医院招聘聘用制人员3人考试参考题库及答案详解
- 订单履行期限变更通知函3篇范文
- 中小型企业财务管理风险控制策略手册
- VTE护理:心理支持与康复
- 警惕交通安全确保生命安全小学主题班会课件
- 2026中国能建陕西院咨询公司招聘考试参考题库及答案详解
- 2026四川大学华西公共卫生学院华西第四医院 泌尿外科盆底男科盆底治疗师招聘1人笔试备考试题及答案详解
- 2026年黑龙江省佳木斯市事业单位人员招聘考试备考题库及答案详解
- DB44∕T 2425-2023 燃气计量失准气量退补规范
- 北京qdlp管理办法
- 2025年公安院校招警考试题库(附答案)
- 《电气控制技术与应用》课件 单元一 课题3 电气图与电路接线
- 地理2024-2025学年湘教版地理七年级下册活动题参考答案
- NB/T 11316-2023变电站电能质量现场测试技术规范
- 2025年长江生态环保集团有限公司-企业报告(业主版)
- 农商行催收培训
- 星际航行概论钱学森著2008
- 污水处理厂施工方案与技术措施
- 医学科研人员存量论文自查样表
评论
0/150
提交评论