1 / 52

数 学 实 验

数 学 实 验. —— 用计算机解决和发现数学问题 数值模拟 , 符号计算 , 符号推理. 第五讲 矩阵计算及其应用. 【 主要内容 】 矩阵计算的基本函数和矩阵应用的数学试验 . 【 主要目的 】 学会用 Mathematic 软件完成矩阵的计算 , 了解矩阵应用问题的解决方法. 矩阵生成的有关函数. 1. Table 可以生成多层表 , 一层表是行向量 ( 行矩阵 ), 二层表是矩阵 . Table[i^2,{i,10}] {1,4,9,16,25,36,49,64,81,100}

Download Presentation

数 学 实 验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数 学 实 验 ——用计算机解决和发现数学问题 数值模拟,符号计算,符号推理

  2. 第五讲 矩阵计算及其应用 【主要内容】矩阵计算的基本函数和矩阵应用的数学试验. 【主要目的】学会用Mathematic软件完成矩阵的计算,了解矩阵应用问题的解决方法.

  3. 矩阵生成的有关函数 1. Table可以生成多层表,一层表是行向量(行矩阵),二层表是矩阵. Table[i^2,{i,10}] {1,4,9,16,25,36,49,64,81,100} TableForm[Table[Binomial[i,j],{i,0,8},{j,0,8}]]

  4. 矩阵生成的有关函数 2. Array具有和Table相似的用途. Array[a,3] {a[1],a[2],a[3]} Array[a,{2,3},0] {{a[0,0],a[0,1],a[0,2]},{a[1,0],a[1,1],a[1,2]}} Array[a,{2,3}] {{a[1,1],a[1,2],a[1,3]},{a[2,1],a[2,2],a[2,3]}}

  5. 矩阵生成的有关函数 3. DiagonalMatrix 生成对角矩阵 L1={1,-2,3,4};A=DiagonalMatrix[L1] {{1,0,0,0},{0,-2,0,0},{0,0,3,0},{0,0,0,4}} 4. IdentityMatrix[3] {{1,0,0},{0,1,0},{0,0,1}}

  6. 矩阵生成的有关函数 5. RandomSquare函数可以自动生成一个随机方阵. Unprotect[RandomSquare]; Clear[RandomSquare]; RandomSquare[dim_Integer:3,max_:5,detmax_Integer:3,del_List:{0}]:=Module[{t,tt,i,j},tt=Table[m,{m,-detmax,detmax}]~Complement~del; t=Table[Random[Integer,{-max,max}],{dim},{dim}]; While[FreeQ[tt,Det[t]],i=Random[Integer,{1,dim}]; j=Random[Integer,{1,dim}]; t[[i,j]]=Random[Integer,{-max,max}]]; t]/;Positive[dim]&&NumberQ[max]&&Positive[max]&&Positive[detmax] Protect[RandomSquare]; RandomSquare[3] {{5,4,2},{2,5,4},{3,-2,-3}}

  7. 矩阵生成的有关函数 6. LinearAlgebra扩展程序中包括: MatrixManipulation,Orthogonalization,Tridiagonal等. <<LinearAlgebra`MatrixManipulation` MatrixPlot[Table[Random[Integer],{50},{50}], MaxMatrixSize->20,ColorFunction->(GrayLevel[1-#]&), ColorFunctionScaling->True]

  8. 矩阵生成的有关函数

  9. 矩阵运算 1. 矩阵加法 (MatrixForm有三种使用方法) A={{5,-2,1},{3,4,-1}};B={{1,x},{a,-1}}; {MatrixForm@B,MatrixForm[B+IdentityMatrix[2]]} x+A//MatrixForm

  10. 矩阵运算 2. 数和矩阵的乘法、矩阵与矩阵的的乘法 M=Array[a,{2,2}]; k M//MatrixForm A={{1,2},{3,4}};A+M//MatrixForm A*M//MatrixForm

  11. A.M//MatrixForm MatrixPower[A,5]//MatrixForm A.A.A.A.A//MatrixForm A^5//MatrixForm

  12. 矩阵运算 3. 矩阵的转置和求逆 M={{a,b},{c,d}}; Transpose@M//MatrixForm Inverse@M//MatrixForm

  13. 矩阵运算 4. 初等行变换化矩阵为最简阶梯形

  14. 矩阵运算 5. 方阵的特征值与特征向量 Eigenvalues[{{2.3, 4.5}, {6.7, -1.2}} ] {6.31303,-5.21303} Eigenvectors[{{2.3, 4.5}, {6.7, -1.2}} ] {{0.746335,0.66557},{-0.513839,0.857886}} Eigenvalues[{{23/10,45/10},{67/10,-12/10}}]

  15. 数学试验 1 循环矩阵的性质 1. 写出循环矩阵 按Shift+Ctrl+C,调出矩阵模板

  16. 数学试验 1 循环矩阵的性质 2. 循环矩阵的逆矩阵还是循环矩阵吗? Inverse[A]//MatrixForm 结论:可逆循环矩阵是循环矩阵

  17. 数学试验 1 循环矩阵的性质 3. 循环矩阵的方幂仍是循环矩阵吗? MatrixPower[A,2]//MatrixForm 结论:循环矩阵的方幂是循环矩阵

  18. 数学试验 1 循环矩阵的性质 作业: 1. 随机生成可逆循环矩阵,求逆.(Y) 2. 随机生成两个循环矩阵,求其和.(Y) 3. 随机生成两个循环矩阵,求其乘积.(N) 4. 循环矩阵的和是循环矩阵吗?循环矩阵的积是循环矩阵吗?你还能发现和研究循环矩阵其它的性质吗 ? 5. 能证明你所得到的结论吗?(先证幂,再证逆)

  19. 数学试验 2 航线连接问题 1. 一个航空公司为8个城市服务的航空路线如下图

  20. 数学试验 2 航线连接问题 从城市i到城市j有直接的航线,则(i,j)元为 1,否则为0(邻接矩阵),得到下面的矩阵

  21. 数学试验 2 航线连接问题 2. 用恰好两个航班有可能从C2到达C4吗? 3. 用恰好两个航班有可能从C5到达C1吗? 4. 求A2 , 并说明它与上面的结论有什么联系? MatrixPower[A,2]//MatrixForm

  22. 数学试验 2 航线连接问题 5. 求 A+A2+ A3, 并说明A+A2+ A3的意义 (A+MatrixPower[A,2]+MatrixPower[A,3])//MatrixForm

  23. 数学试验 3生物群体模型 问题:令Fi是在时刻某地区狐狸的数目,Ci 是同一地区鸡的数目.假设在没有狐狸骚扰 的情况下,鸡的出生率高于死亡率,使得 Ci+1= 1.2Ci .而在没有鸡供狐狸食用的情况下, 狐狸的死亡率超过出生率,使得Fi+1 = 0.6Fi .

  24. 数学试验 3生物群体模型 实际情况为狐狸和鸡的数目是相互制约的. 我们假定对i=1,2,…Fi= 0.6Fi-1+0.5Ci-1.另一方面,由于狐狸的侵袭,鸡的群体必有损耗,假定狐狸对鸡的捕杀率为k,于是Ci = 1.2Ci-1-kFi-1.

  25. 数学试验 3生物群体模型 令 从而 F0和C0为开始观察时狐狸和鸡的数目. 假定F0=100,C0=1000

  26. 数学试验 3生物群体模型 k =0.1的情形 n=99; A={{3/5,1/2},{-1/10,6/5}}; a=Transpose[{{100,1000}}]; For[i=1,i<n+1,Print[IntegerPart[ MatrixPower[A,i].a]];i++];

  27. 数学试验 3生物群体模型 {{560},{1190}} {{931},{1372}} {{1244},{1553}} {{1523},{1739}} {{1783},{1935}} {{2037},{2143}} {{2294},{2368}} {{2561},{2612}} {{2843},{2879}} {{3145},{3170}} {{3472},{3490}} {{3829},{3841}} {{4218},{4226}} {{4644},{4650}} {{5111},{5116}} {{5625},{5628}} {{6189},{6191}} {{6809},{6810}} {{7490},{7491}} {{8240},{8241}} {{9064},{9065}} {{9971},{9971}} {{10968},{10968}}{{12065},{12065}}

  28. 数学试验 3生物群体模型 {{13272},{13272}} {{14599},{14599}} {{16059},{16059}} {{17665},{17665}} {{19432},{19432}} {{21375},{21375}} {{23513},{23513}} {{25864},{25864}} {{28450},{28450}} {{31295},{31295}} {{34425},{34425}} {{37868},{37868}} {{41654},{41654}} {{45820},{45820}} {{50402},{50402}} {{55442},{55442}} {{60986},{60986}} {{67085},{67085}} {{73794},{73794}} {{81173},{81173}} {{89290},{89290}} {{98219},{98219}} {{108041},{108041}} {{118846},{118846}} {{130730},{130730}} {{143803},{143803}} {{158184},{158184}} {{174002},{174002}} {{191402},{191402}} {{210543},{210543}} {{231597},{231597}}

  29. 数学试验 3生物群体模型 {{254757},{254757}} {{280232},{280232}} {{308256},{308256}} {{339081},{339081}} {{372990},{372990}} {{410289},{410289}} {{451317},{451317}} {{496449},{496449}} {{546094},{546094}} {{600704},{600704}} {{660774},{660774}} {{726852},{726852}} {{799537},{799537}} {{879490},{879490}} {{967440},{967440}} {{1064184},{1064184}} {{1170602},{1170602}} {{1287662},{1287662}} {{1416428},{1416428}} {{1558071},{1558071}} {{1713879},{1713879}} {{1885266},{1885266}} {{2073793},{2073793}} {{2281172},{2281172}}

  30. 数学试验 3生物群体模型 {{2509290},{2509290}} {{2760219},{2760219}} {{3036241},{3036241}} {{3339865},{3339865}} {{3673851},{3673851}} {{4041237},{4041237}} {{4445360},{4445360}} {{4889896},{4889896}} {{5378886},{5378886}} {{5916775},{5916775}} {{6508452},{6508452}} {{7159297},{7159297}} {{7875227},{7875227}} {{8662750},{8662750}} {{9529025},{9529025}} {{10481928},{10481928}} {{11530120},{11530120}} {{12683133},{12683133}} {{13951446},{13951446}} {{15346591},{15346591}}

  31. 数学试验 3生物群体模型 k=0.18的情形 n=104; A={{3/5,1/2},{-9/50,6/5}}; a=Transpose[{{100,1000}}]; For[i=1,i<n+1,Print[IntegerPart[ MatrixPower[A,i].a]];i++];

  32. 数学试验 3生物群体模型 {{560},{1182}} {{927},{1317}} {{1215},{1414}} {{1436},{1478}} {{1600},{1515}} {{1718},{1530}} {{1796},{1527}} {{1841},{1509}} {{1859},{1479}} {{1855},{1441}} {{1834},{1395}} {{1798},{1344}} {{1751},{1289}} {{1695},{1232}} {{1633},{1173}} {{1566},{1114}} {{1497},{1055}} {{1425},{996}} {{1353},{939}} {{1281},{883}} {{1210},{829}} {{1141},{777}} {{1073},{727}} {{1007},{679}} {{944},{634}} {{883},{590}} {{825},{550}} {{770},{511}} {{718},{475}} {{668},{440}}

  33. 数学试验 3生物群体模型 {{621},{408}} {{577},{378}} {{535},{350}} {{496},{324}} {{460},{299}} {{425},{276}} {{393},{255}} {{363},{235}} {{336},{217}} {{310},{200}} {{286},{184}} {{263},{169}} {{243},{155}} {{223},{143}} {{205},{131}} {{189},{121}} {{174},{111}} {{160},{102}} {{147},{93}} {{135},{85}} {{123},{78}} {{113},{72}} {{104},{66}} {{95},{60}} {{87},{55}} {{80},{50}} {{73},{46}} {{67},{42}} {{61},{38}} {{56},{35}} {{51},{32}} {{47},{29}} {{43},{27}} {{39},{24}} {{36},{22}} {{33},{20}}

  34. 数学试验 3生物群体模型 {{30},{18}} {{27},{17}} {{25},{15}} {{22},{14}} {{20},{13}} {{19},{11}} {{17},{10}} {{15},{9}} {{14},{9}} {{13},{8}} {{12},{7}} {{11},{6}} {{10},{6}} {{9},{5}} {{8},{5}} {{7},{4}} {{6},{4}} {{6},{3}} {{5},{3}} {{5},{3}} {{4},{2}} {{4},{2}} {{3},{2}} {{3},{2}} {{3},{2}} {{2},{1}} {{2},{1}} {{2},{1}} {{2},{1}} {{2},{1}} {{1},{1}} {{1},{1}} {{1},{0}} {{1},{0}} {{1},{0}} {{1},{0}} {{1},{0}} {{0},{0}}

  35. 数学试验 3生物群体模型 • 从上面两张表可以看出,若狐狸对鸡的捕杀率足够低(k=0.1),鸡的群体将无限发展,这使得狐狸的群体也无限发展;而捕杀率较大(k=0.18),鸡将被消灭,那么狐狸也将自行消灭. • 作业: 1.能否求的临界值(0.16)和能看到效果的观察次数? 2. 证明你的结论.

  36. 数学试验 4加密、解密与破译 1. HILL密码的加密与解密: (1) 假设要加密的明文是由26个字母所构成 (2) 将每个明文字母与 0 – 25 的一个数字建立 1–1对应关系,称为明文字母的表值

  37. 数学试验 4加密、解密与破译 (3) 选择一个加密矩阵 A(二阶非负整数值的矩阵) . 例如 (4) 将明文字母依次按每两个字母一组查出其表 值,得到一组二维向量

  38. 数学试验 4加密、解密与破译 (5) 通过加密矩阵得到 而 (6) 查向量 的字母表值,即得到密文 (7)利用加密矩阵的逆矩阵,由此得到明文

  39. 数学试验 4加密、解密与破译 2. 一个简单实例 明 文: Our marshal was shot 分 组: ou rm ar sh al wa ss ho tt(补充一字母) 对应向量:

  40. 数学试验 4加密、解密与破译 加 密:每个向量左乘加密矩阵 直接结果: 对26求模得到密文向量:

  41. 数学试验 4加密、解密与破译 密 文: ek rm kb ix yj yc ee ls hh 解 密:只要将 解密矩阵左乘 密文向量即可求得明文向量,从而查出明文 结 论: 使用Hill密码时的加密矩阵应该模26 可逆

  42. 数学试验 4加密、解密与破译 3. HILL密码的破译 关键是求得加密矩阵的逆—解密矩阵, 只要分析出两个明文向量(线性无关)与相应的密文向量.

  43. 数学试验 4加密、解密与破译 一个破译例子 甲方截获了一段密文: OJWPISWAZUXAUUISEABAUCRSIPL BHAAMMLPJJOTENH (1) 经分析这段密文是用HILL密码编译的, 且这段密文的字母UCRS依次代表了字母 TACO,若明文字母的表值如前,试破译这 密文的内容?

  44. 数学试验 4加密、解密与破译 关 系 其中 其中

  45. 数学试验 4加密、解密与破译 (2) 计算A-1 B=Mod[{{20,3},{1,15}}.Inverse[{{21,18}, {3,19}}, Modulus ->26] ,26] {{1,17},{0,9}}

  46. 数学试验 4加密、解密与破译 (3) 破 译 X={O,J,W,P,I,S,W,A,Z,U,X,A,U,U,I,S,E,A,B,A,U,C,R,S,I,P,L,B,H,A,A,M,M,L,P,J,J,O,T,E,N,H}//.{A->1,a->1,B->2,b->2,C->3,c->3,D->4,d->4,E->5,e->5,F->6,f->6,G->7,g->7,H->8,h->8,I->9,i->9,J->10,j->10,K->11,k->11,L->12,l->12,M->13,m->13,N->14,n->14,O->15,o->15,P->16,p->16,Q->17,q->17,R->18,r->18,S->19,s->19,T->20,t->20,U->21,u->21,V->22,v->22,W->23,w->23,X->24,x->24,Y->25,y->25,Z->0,z->0}

  47. 数学试验 4加密、解密与破译 {15,10,23,16,9,19,23,1,0,21,24,1,21,21,9,19,5,1,2,1,21,3,18,19,9,16,12,2,8,1,1,13,13,12,16,10,10,15,20,5,14,8} 求密文 Clear[Y]; Y=Table[f,{i,2},{j,Length[X]/2}]; For[i=1,i<Length[X]/2+1,Y[[1,i]]=X[[2i-1]];i++]; For[i=1,i<Length[X]/2+1,Y[[2,i]]=X[[2i]];i++]; Y

  48. 数学试验 4加密、解密与破译 {{15,23,9,23,0,24,21,9,5,2,21,18,9,12,8,1,13,16,10,20,14},{10,16,19,1,21,1,21,19,1,1,3,19,16,2,1,13,12,10,15,5,8}} 这就是密文向量. 下面求明文向量 Z=Mod[B.Y,26] {{3,9,20,14,19,15,14,20,22,19,20,3,21,20,25,14,9,4,5,1,20},{12,14,15,9,7,9,7,15,9,9,1,15,14,18,9,13,4,12,5,19,20}} 这是明文向量.

  49. 数学试验 4加密、解密与破译 把明文向量还原为明文. Flatten[Table[{Z[[1,i]],Z[[2,i]]},{i,Length[X]/2}]]//.{1->a,2->b,3->c,4->d,5->e,6->f,7->g,8->h,9->i,10->j,11->k,12->l,13->m,14->n,15->o,16->p,17->q,18->r,19->s,20->t,21->u,22->v,23->w,24->x,25->y,0->z} {c,l,v,n,t,o,n,v,s,g,o,v,n,g,t,o,v,v,s,v,t,a,c,o,u,n,t,r,y,v,n,m,v,d,d,l,e,e,a,s,t,t}

  50. 数学试验 4加密、解密与破译 由于26不是素数,有时候解是不惟一的,比如 2x=4 Mod26有两个解x=2, x=15.因此只能基本 确定有意义的词. {c,l,v,n,t,o,n,v,s,g,o,v,n,g,t,o,v,v,s,v,t,a,c,o,u,n,t,r,y,v,n,m,v,d,d,l,e,e,a,s,t,t} 明文:Clinton is going to visit a country in Middle East 作业:对加密所列举的例子用软件实现.

More Related