当前位置:文档之家› 数学实验矩阵的运算doc资料

数学实验矩阵的运算doc资料

数学实验矩阵的运算doc资料
数学实验矩阵的运算doc资料

数学实验矩阵的运算

数学实验报告

学院:

班级:

学号:

姓名:

完成日期:

实验四矩阵的运算

(一)投入产出分析

一.实验目的

1.理解投入产出分析中的基本概念和模型;

2.从数学和投入产出理论的角度,理解矩阵乘法、逆

矩阵等的含义。

二.问题描述

设国民经济由农业、制造业和服务业三个部门构成,已知某年它们之间的投入产出关系、部需求、初始投入等如表1-1所示

表1-1国民经济三产部门之间的投入产出表

根据表回答下列问题:

(1)如果农业、制造业、服务业外部需求为

50,150,100,问三个部门总产出分别为多少?

(2)如果三个部门的外部需求分别增加一个单位,问他们的总产出分别为多少?

三.实验过程

1.问题(1)的求解

(1)求直接消耗矩阵A

根据直接消耗的计算公式

a ij=x ij/x j

和各部门中间需求;

x n a n

运行如下代码可得直接消耗系数表。

X=[15 20 30;30 10 45;20 60 0];

X_colsum=[100 200 150];

X_rep=repmat(X_colsum,3,1)

A=X./ X_rep

运行结果为:

A =

0.1500 0.1000 0.2000

0.3000 0.0500 0.3000

0.2000 0.3000 0

(2)求解

根据公式

X=(I-A)-1y

在运行如下代码

y=[50;150;100];

n=size(y,1);

W=eye(n)-A;

X=W\y

运行结果为

X =

139.2801

267.6056

208.1377

即三个部门的总产出分别为139.2801,267.6056, 208.1377亿元。

2.问题2求解

设外部需求由y增加至y+Δy,则产出x的增量为Δx=(I-A)-1(y+Δy)- (I-A)-1y=(I-A)-1Δy

利用问题(1)求得的I-A矩阵,再运行如下的MATLAB代码可得问题的结果:

dx=inv(W)

运行结果:

dx =

1.3459 0.2504 0.3443

0.5634 1.2676 0.4930

0.4382 0.4304 1.2167

根据上述结果可知,当农业的外部需求增加1个单位时,农业、制造业、服务业的总产出分别增加

1.3459,0.5634,0.4382个单位;当制造业的外部需求增加1个单位时,农业、制造业、服务业的总产出分别增加

0.2504,1.2676,0.4304个单位;当服务业的外部需求增加1个单位时,农业、制造业、服务业的总产出分别增加

0.3443,0.4930,1.2167个单位。

四.实验总结

投入产出的理论依据,主要是矩阵运算和逆矩阵,投入和产出分析在编制和修订宏观计划、开展紧急预测和项目效果预测、研究价格水平及其变动影响,研究产业结构及其关联程度,投资对消费的带动分析等方面对会有很重要的应用。

(二)Hill密码的加密、解密与破译

一、实验目的

1. 复习线性代数, 矩阵, 线性空间与线性变换等概念和

运算.

2. 熟悉Hill密码体制的加密, 解密和破译过程.

3. Hill密码体制的加密, 解密和破译过程的MATLAB

编程实践.

二、问题描述

对明文为“Mr Hill made this code”,利运用不同的密匙矩阵加密矩阵,实现Hill加密与解密过程。

三.实验过程

(1)模型建立于问题分析

简单起见,为了使明文参与矩阵运算,建立如下表格2-1:

表2-1 26个英文字母、空格、句号与数字之间的对应关系设明文为M=(m1, m2,…,m i)T,密匙矩阵为可逆的l x l的方阵,则经过线性变换得到密文C=E K(M)=

(c1c2…cI)T,其中

C1=(k11m1+ k12m2+…+ k1l m l)mod28,

C2=(k21m1+ k22m2+…+ k2l m l)mod28,

………….

C l=(k l1m1+ k l2m2+…+ k ll m l)mod28,

或写成矩阵形式

C=(KM)mod28,

其中

C=(C1,C2,…,C l)T ,M=(m1,m2,…,m l)T,

K=(k ij)lxl

解密得明文

M=(K-1C)mod28

注意,明文、密文都是非负实数,故密匙矩阵K及其逆矩阵K-1的元素都应该是非负实数,不能是负整数、分数、或小数。当密匙矩阵K的行列式的值等于+1或-1,则逆矩阵K-1的元素是整数。若K-1的元素有负整数,再对矩阵K-1的所有元素加28的若干倍,再取模28,可保证矩阵K-1的所有元素为正整数。密文解密后可得非负整数明文M,与原明文相同。

(2)加密

对明文为“Mr Hill made this code。”,按表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维的列向量,其分量仍为整数,要发出的消息可写为一个矩阵:

. 13 9 13 0 19 4

M= 18 12 1 20 0 5

0 12 4 8 3 27

8 0 5 9 15 0

为求出合适的密匙矩阵K1,在一个4x4阶矩阵中,任设二元函数的值为x,y,其余元素给出具体的非负整数值,并令其行列式的值的绝对值为1,可得一个二元一次或二元二次不定方程,可求其正整数解,如取:

4 x 8 y

K1 = 12 1 6 9 , I K1I=1,

3 6

4 6

2 11

3 8

利用如下的MATLAB代码可求得密匙矩阵K1的行列式:

syms x y;

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+82

105=1x82+23

82=3x23+13

13=1x10+3

10=3x3=1

3=3x3=0

从而得到

相关主题
文本预览
相关文档 最新文档