版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数学软件MATLAB学习报告信计1002班41064053赵小跑在这个小学期里我们用了为期一周的时间学习了作为“三大数学软件”之一的MATLAB。现在,我就此次学习作个简单的报告。MATLAB是矩阵实验室(MatrixLaboratory)的简称,是主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它的基本数据单位是矩阵,并将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,因此在各个领域都有很广泛的应用。所以,对于数学系的我们,学好这个软件,对我们将来进一步的学习和研究有很重要的意义。接下来,我就矩阵运算来谈谈这次学习的收获。1、矩阵的建立(1)直接输入法。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例:A=[1,2,3,;4,5,6;7,8,9]A=123456789(2)利用M文件建立矩阵。对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。下面通过一个简单例子来说明如何利用M文件创建矩阵。例:利用M文件建立MYMAT矩阵。具体步骤如下:eq\o\ac(○,1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵:eq\o\ac(○,2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。eq\o\ac(○,3)在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。(3)利用冒号表达式建立一个向量。冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3其中e1为初始值,e2为步长,e3为终止值。在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。linspace(a,b,n)与a:(b-a)/(n-1):b等价。(4)建立大矩阵。大矩阵可由方括号中的小矩阵或向量建立起来。2、矩阵的拆分(1)矩阵元素。eq\o\ac(○,1)通过下标引用矩阵的元素。例:>>A=[3,5,8,7;6,12,5,9;5,8,9,18;3,8,4,16]:A=3587612595891838416>>A(3,2)ans=8eq\o\ac(○,2)采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例:>>A=[1,2,3;4,5,6];A(3)ans=2显然,序号(Index)与下标(Subscript)是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。(2)矩阵拆分。eq\o\ac(○,1)利用冒号表达式获得子矩阵。A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素;A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。eq\o\ac(○,2)利用空矩阵删除矩阵的元素。在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意:X=[]与clearX不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。3、特殊矩阵。(1)通用的特殊矩阵。常用的产生通用特殊矩阵的函数有:zeros:产生全0矩阵(零矩阵)。ones:产生全1矩阵(幺矩阵)。eye:产生单位矩阵。rand:产生0~1间均匀分布的随机矩阵。randn:产生均值为0,方差为1的标准正态分布随机矩阵。例1:eq\o\ac(○,1)建立一个3×3零矩阵。>>zeros(3)ans=000000000eq\o\ac(○,2)建立一个3×2零矩阵。>>zeros(3,2)ans=000000eq\o\ac(○,3)设A为2×3矩阵,则可以用zeros(size(A))建立一个与矩阵A同样大小零矩阵。>>A=[123;456];>>zeros(size(A))ans=000000例2:建立随机矩阵。eq\o\ac(○,1)在区间[20,50]内均匀分布的5阶随机矩阵。>>x=20+(50-20)*rand(5)x=48.503942.862938.463032.171221.736726.934233.694043.758148.064130.586038.205320.555147.654447.507144.395034.579544.642242.146232.308120.295846.739033.341125.288046.809524.1667eq\o\ac(○,2)均值为0.6、方差为0.1的5阶正态分布随机矩阵。>>y=0.6+sqrt(0.1)*randn(5)y=0.46320.97660.54100.63600.69310.07330.97600.82950.93730.17750.63960.58810.41400.61870.82590.69100.70351.29040.56981.11340.23750.65520.55690.33680.3812(2)用于专门学科的特殊矩阵。eq\o\ac(○,1)范得蒙矩阵。范得蒙矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。例:>>A=vander([1;2;3;5])A=11118421279311252551eq\o\ac(○,2)伴随矩阵。MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。例:求多项式的x3-7x+6的伴随矩阵。>>p=[1,0,-7,6];compan(p)ans=07-6100010eq\o\ac(○,3)帕斯卡矩阵。我们知道,二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形由杨辉三角形表组成的矩阵称为帕斯卡矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。例:求(x+y)4的展开式。>>pascal(5)ans=111111234513610151410203515153570矩阵次对角线上的元素1,4,6,4,1即为展开式的系数。4、矩阵的MATLAB运算。(1)矩阵的基本运算。假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。其他运算如下:数乘k*A(K是一个数,A是一个矩阵)矩阵的左除A\B(AX=B,X=A-1B,A必须是方阵)矩阵的右除A/B(XB=A,X=AB-1,B必须是方阵)行列式的秩det(A)(A必须为方阵)矩阵的逆Inv(A)(A必须为方阵,|A|‡0)矩阵的乘幂A^n(A必须为方阵,n是正整数)矩阵行变换化简rref(A)(求A阶梯形的行最简形式)例1:求方程组的解。法一:求逆法>>A=[2,3;1,-1];b=[4;1]X=inv(A)*bb=41X=1.40000.4000法二:左除与右除法>>A=[2,3;1,-1];>>b=[4;1]b=41>>X=A\bX=1.40000.4000例2:求齐次线性方程组的通解。>>A=[1-8102;245-1;386-2];>>rref(A)ans=1.000004.0000001.0000-0.7500-0.25000000分析:将0=0的一行去掉,则原方程组等价于,方程的个数<未知量个数,有无穷多个解例3:求非齐次方程的解。>>A=[42-1;3-12;1130];>>b=[2;10;8];>>B=([A,b])B=42-123-121011308>>rref(B)ans=1.000000.3000001.0000-1.100000001.0000结果分析:行最简形式中最后一行出现了零等于非零的情况,故方程组无解。(2)矩阵的特征值、特征向量、特征多项式。p=poly(A)若A为矩阵,则p为A的特征多项式系数;若A为行向量,则p为以A为根的特征多项式系数poly2str(p,’x’)特征多项式。例1:>>A=[1,-1;2,4];>>p=poly(A)p=1-56>>poly2str(p,'x')ans=x^2-5x+6例2:>>A=[1,-1;2,4];[V,D]=eig(A)V=方阵A的特征向量矩阵-0.70710.44720.7071-0.8944D=方阵A的特征值矩阵2003例3:产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。eq\o\ac(○,1)生成5阶随机方阵A。>>A=fix((90-10+1)*rand(5)+10)A=86715942142846748538591184847549766943108246248221eq\o\ac(○,2)判断A的元素是否可以被3整除。>>P=rem(A,3)==0P=0001000000001110010000101则为1的位置对应在原矩阵中的数字即为能被3整除的数字。(3)矩阵的逻辑运算。MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。逻辑运算的运算法则为:eq\o\ac(○,1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。eq\o\ac(○,2)设参与逻辑运算的是两个标量a和b,那么,a&ba,b全为非零时,运算结果为1,否则为0。a|ba,b中只要有一个非零,运算结果为1。~a当a是零时,运算结果为1;当a非零时,运算结果为0。eq\o\ac(○,3)若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。eq\o\ac(○,4)若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。eq\o\ac(○,5)逻辑非是单目运算符,也服从矩阵运算规则。eq\o\ac(○,6)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。例:建立矩阵A,然后找出大于4的元素的位置。>>A=[4,-65,-54,0,6;56,0,67,-45,0]A=4-65-540656067-450>>find(A>4)ans=2695、矩阵分析。(1)对角阵。eq\o\ac(○,1)提取矩阵的对角线元素设A为m×n矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。eq\o\ac(○,2)构造对角矩阵。设V为具有m个元素的向量,diag(V)将产生一个m×m对角矩阵,其主对角线元素即为向量V的元素。例:先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。>>A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19]D=diag(1:5);D*AA=1701015235714164013022101219213111825219ans=1701015461014283212039066404876841255901251095(2)三角阵。eq\o\ac(○,1)上三角矩阵。求矩阵A的上三角阵的MATLAB函数是triu(A)。triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素。例如,提取矩阵A的第2条对角线以上的元素,形成新的矩阵B。eq\o\ac(○,2)下三角矩阵在MATLAB中,提取矩阵A的下三角矩阵的函数是tril(A)和tril(A,k),其用法与提取上三角矩阵的函数triu(A)和triu(A,k)完全相同。例:创建一个5×5矩阵,提取主对角线以上的部分。>>rand(6)ans=0.20280.74680.52520.37950.18970.69790.19870.44510.20260.83180.19340.37840.60380.93180.67210.50280.68220.86000.27220.46600.83810.70950.30280.85370.19880.41860.01960.42890.54170.59360.01530.84620.68130.30460.15090.4966>>triu(rand(6))ans=0.89980.28970.56810.62130.97970.011800.34120.37040.79480.27140.8939000.70270.95680.25230.19910000.52260.87570.298700000.73730.6614000000.2844(3)矩阵的转置。转置运算符是单撇号(‘)。例:>>A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19]A=1701015235714164013022101219213111825219A'ans=17234101105012181713192501402121
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年卸荷阀组项目可行性研究报告
- 2025年度新媒体品牌形象塑造及推广合同2篇
- 2024年医生凳项目可行性研究报告
- 2025年度信用借款利率调整及还款条款合同3篇
- 2025年度弱电智能化系统集成与调试合同书2篇
- 2021年高考语文考点总动员专题74-评价文章的思想内容和作者的观点态度之借古讽今(解析版)
- 2024年武汉市蔡甸区中医医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 长大后的心酸的句子
- 2024年武威市妇幼保健院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 农产品品牌化的文化内涵与传播
- 消防管道施工合同
- 大学生计算与信息化素养-北京林业大学中国大学mooc课后章节答案期末考试题库2023年
- 2023年中国社会科学院外国文学研究所专业技术人员招聘3人(共500题含答案解析)笔试历年难、易错考点试题含答案附详解
- 2023年广东石油化工学院公开招聘部分新机制合同工20名高频考点题库(共500题含答案解析)模拟练习试卷
- 2023年国开大学期末考复习题-3987《Web开发基础》
- 《骆驼祥子》1-24章每章练习题及答案
- 《伊利乳业集团盈利能力研究》文献综述3000字
- 减盐防控高血压培训课件
- 2023年百一测评-房地产企业岗位招聘工程副总经理笔试试题
- 英语课presentation中国麻将-Chinese-mahjong
- GB/T 8571-2008复混肥料实验室样品制备
评论
0/150
提交评论