版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学MATLAB原理与应用课程设计课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目:Matlab矩阵操作设计要求完成的主要任务: 利用MATLABmathematics对矩阵操作进行设计,具体包括创建(普通、单位、 零)矩阵、矩阵加减、矩阵相乘、矩阵的乘方、矩阵除法、矩阵转置、矩阵点乘、求矩阵的特征值和特征向量、矩阵的变形(reshape)、验证如下函数的功能:all、any、find、isempty、isequal、xor。课程设计的目的:1理论目的 课程设计的目的是加深对matlab理论知识的掌握,并将知识学以致用,解决矩阵的一些基本操作问题。2实践目的 Mat
2、lab原理与应用课程应用实践的目的是为了让学生熟悉matlab语言,并且利用matlab语言或者函数族进行专业课程理论知识的再现,让学生体会matlab的强大功能,为今后使用matlab语言奠定基础。时间安排:序号阶段内容所需时间1方案设计1天2程序编写及调试3天3撰写报告2天4答辩1天合 计7天指导教师签名: 年 月 日系主任(或责任教师)签字: 年 月 日武汉理工大学MATLAB原理与应用课程设计目 录1 引言11.1Matlab介绍11.2矩阵简介12 Matlab矩阵操作使用的符号及函数简介23 Matlab中创建矩阵的方法33.1普通矩阵33.2特殊矩阵54 Matlab矩阵操作的要
3、求75 Matlab矩阵操作过程75.1矩阵加减75.2矩阵相乘95.3矩阵乘方105.4矩阵除法125.5矩阵转置135.6矩阵点乘145.7求矩阵特征值和特征向量17 5.8矩阵变形186 函数功能验证206.1 all函数206.2 any函数216.3 find函数226.4 isequal函数236.5 isempty函数256.6 xor函数267心得体会27参考文献2830摘 要矩阵是高等代数学中的常见工具,在自然学科各分支和经济管理等领域有很多的应用,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到
4、矩阵。 矩阵的运算是数值分析领域的重要问题。由此可见,学习矩阵的运算及应用是十分重要的。MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩展能力强等特点,MATLAB的矩阵处理程序具有强大的功能,可以解决很多矩阵的基本问题。本次设计就是基于MATLAB进行矩阵的简单操作。关键词: 矩阵 MATLABAbstrctMatrix is a common tool of higher algebra, there are a lot of applications in the field of natural scienc
5、e branch and economic management, also common in statistical analysis and application in mathematics. In physics, matrix in circuitry, mechanics, optics and quantum physics are applied; computer science, 3D animation also need to use matrix. Matrix operation is an important issue in the field of num
6、erical analysis. Therefore, learning algorithms and application of matrix is very important. MATLAB is a new science and engineering computing language, which combines numerical analysis, matrix computation, signal processing and graphical display in one, with high efficiency of programming, debuggi
7、ng means rich, strong expanding ability and other characteristics, matrix processing program MATLAB has a powerful function, can be the basic problem solving a lot of matrix.This design is based on the simple operation of MATLAB matrix.Key word: matrix. MATLAB1 引言1.1Matlab介绍MATLAB是矩阵实验室(Matrix Labor
8、atory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学
9、计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了
10、对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 1.2矩阵简介在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。矩阵是代数学的一个主要研究对象,也是数学研究及应用的一个重要工具。由mn个数排成的m行n列的数表 称为m×n矩阵,记作A或,也可记作()或。数称为矩阵的第i行第j列的元素。元全都是实数的矩阵称为实矩阵,元中有复数的矩阵称为复矩阵。当m=n时,矩阵A称为n阶矩阵或n阶方阵,此
11、时,称为n阶矩阵的对角线元素,当所有的非对角线元素ij(ij)均为零时,A就称为n阶对角矩阵,简称对角矩阵。当对角线下面(或上面)的所有元素均为0时,A就称为上(或下)三角矩阵。2 Matlab矩阵操作使用的符号及函数简介符号或函数名 功能描述 + 加 - 减 * 矩阵乘 矩阵乘方 矩阵转置 矩阵左除 / 矩阵右除 矩阵生成 all 测试向量中所用元素是否为真 any 测试向量中是否有真元 find 查找非零元素的下标 isempty 若是空阵则为真 isequal 若两数组相同则为真 xor 或非逻辑 ones 创建一个所有元素都为1的矩阵 zeros 创建一个所有元素都为0的矩阵 inv
12、矩阵的逆 dot 维数相同的两个向量的点乘 eig求矩阵特征值和特征向量3 Matlab中创建矩阵的方法3.1普通矩阵3.1.1直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例:(1)>> a=23 14 5;17 3 19;31 2 19 a = 23 14 5 17 3 19 31 2 19 (2)>> b=-12,9,23;5,13,21;15,6,27 b = -12 9 23 5 13 21 15 6273.1.2
13、利用m文件建立矩阵当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。例:(1)>> a=23 14 5;17 3 19;31 2 19 a = 23 14 5 17 3 19 31 2 19 (2)>> b=-12,9,23;5,13,21;15,6,27 b = -12 9 23 5 13 21 15 6273.2特殊矩阵3.2.1 单位矩阵ones()函数:产生全为1的矩阵。ones(n):产生n*n维的全1矩阵。ones(m,n):产生m*n维的全1矩阵。例:(1)>> c=one
14、s(4)c = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1(2)>> d=ones(4,2)d = 1 1 1 1 1 1 1 13.2.2 零矩阵zeros()函数:产生全为0的矩阵。zeros(n):产生n*n维的全0矩阵。zeros(m,n):产生m*n维的全0矩阵。例:(1)>> e=zeros(4) e = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0(2)>> f=zeros(5,2) f = 0 0 0 0 0 0 0 0 0 04 Matlab矩阵操作的要求利用MATLABmathematics对矩阵操作
15、进行设计,具体包括矩阵加减、矩阵相乘、矩阵的乘方、矩阵除法、矩阵转置、矩阵点乘、求矩阵的特征值和特征向量、矩阵的变形(reshape)以及验证如下函数的功能: any、all、find、isequal、isempty、xor。要求自己单独完成课程设计内容。5 Matlab矩阵操作过程5.1矩阵加减5.1.1 运算符号:+(加),(减)5.1.2 运算规则:设有两个m×n矩阵 A=()和B=(),那么矩阵A与矩阵B的和记作A+B, 规定为注:只有当两个矩阵是同型矩阵时,这两个矩阵才能进行加法运算设矩阵B=(),记B= (),B称为矩阵B的负矩阵,由此可规定矩阵的减法为 5.1.3程序设
16、计:>> a=23 14 5;17 3 19;31 2 19;>> b=-12,9,23;5,13,21;15,6,27;>> c=a+b,d=a-b5.1.4运行结果:c = 11 23 28 22 16 40 46 8 46d = 35 5 -18 12 -10 -2 16 -4 -85.2 矩阵相乘5.2.1运算符号:*5.2.1运算规则:设A=,B=,那么规定矩阵A与矩阵B的乘积是一个m×n矩阵C=,其中 并把此乘积记作C=AB。注意:只有当第一个矩阵(左矩阵)的列数等于第二个矩阵(右矩阵)的行数时,乘积AB才是有意义的;并且AB的行数等于
17、第一个矩阵A的行数, AB的列数等于第二个矩阵B的列数。此外,注意AB不一定等于BA。5.2.3程序设计:>> a=23 14 5;17 3 19;31 2 19;>> b=-12,9,23;5,13,21;15,6,27;>> e=a*b,f=b*a5.2.4运行结果:e = -131 419 958 96 306 967 -77 419 1268f = 590 -95 548 987 151 671 1284 282 7025.3 矩阵乘方5.3.1运算符号:5.3.2运算规则:(1)当A为方阵,P为大于0的整数时,AP表示A的P次方,即A自乘P次;P为
18、小于0的整数时,AP表示A-1的P次方。(2)标量的数组乘方P.A,标量的数组乘方定义为。(3)A.P:表示A的每个元素的P次乘方。5.3.3程序设计:>> a=2,5,1;3,2,6;1,4,3;>> b=a3,c=3.a,d=a.35.3.4运行结果:b = 147 288 269 198 308 375 143 271 269c = 9 243 3 27 9 729 3 81 27d = 8 125 1 27 8 216 1 64 275.4矩阵除法5.4.1 运算符号:(左除)、/(右除)5.4.2 运算规则:如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。
19、AB即A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。5.4.3程序设计:>> a=23 14 5;17 3 19;31 2 19;>> b=-12,9,23;5,13,21;15,6,27;>> c=ab,d=a/b5.4.4运行结果:c = 0.5838 -0.4271 0.4754 -1.8267 1.0212 0.6560 0.0292 0.9051 0.5763d = -1.4092 2.2043 -0.3288 -0.2523 -0.0289 0.9411 -0.8615 0.1354 1.3
20、3235.5矩阵转置5.5.1 运算符号:5.5.2 运算规则:把矩阵A的行换成同序数的列得到一个新的矩阵,叫做A的转置矩阵,记作或A。5.5.3程序设计:>> a=23 14 5;17 3 19;31 2 19;>> b=a'5.5.3-(2)运行结果:b = 23 17 31 14 3 2 5 19 195.6矩阵点乘5.6.1 运算符号:函数dot5.6.2 运算规则:(1)形式:dot(A,B):矩阵A与B有相同的维数,则A与B的点乘即为A的列与B的列的对应元素相乘然后再相加,得到新的一维行向量。(2)形式:dot(A,B,n):若n为1,则运算与形式(
21、1)相同;若n为2,则结果为A的行与B的行的对应元素相乘然后再相加,得到新的一维列向量。若n>2,则结果为A的元素与对应的B中的元素相乘,得到新的矩阵。5.6.3程序设计:>> a=1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20; 21 22 23 24 25;>> b=25 24 23 22 21; 20 19 18 17 16;15 14 13 12 11;10 9 8 7 6;5 4 3 2 1;>> c=dot(a,b),e=dot(a,b,1),f=dot(a,b,2),g=dot(a,b
22、,3),h=dot(a,b,4),i=dot(a,b,5)5.6.4运行结果:c = 575 590 595 590 575e = 575 590 595 590 575f = 335 710 835 710 335g = 25 48 69 88 105 120 133 144 153 160 165 168 169 168 165 160 153 144 133 120 105 88 69 48 25h = 25 48 69 88 105 120 133 144 153 160 165 168 169 168 165 160 153 144 133 120 105 88 69 48 25i
23、= 25 48 69 88 105 120 133 144 153 160 165 168 169 168 165 160 153 144 133 120 105 88 69 48 255.7求矩阵特征值和特征向量5.7.1运算符号:函数eig5.7.2运算规则:(1) E=eig(A):求矩阵A的全部特征值,构成向量E。(2) V,D=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。5.7.3程序设计:>> a=12,5,23;15,4,13;25,9,7;>> b=eig(a),V,D=eig(a)5.7.4运行结果:b = 39.
24、0802 -14.6147 -1.4655V = -0.6147 -0.6537 0.3364 -0.4915 -0.0018 -0.9417 -0.6169 0.7568 0.0078D = 39.0802 0 0 0 -14.6147 0 0 0 -1.46555.8矩阵变形5.8.1运算符号:函数Reshape5.8.2运算规则:reshape(A,m,n),将A变为m×n的矩阵,按列排列。5.8.3程序设计:>> a=1 2 3 4;5 6 7 8;9 10 11 12;>> b=reshape(a,3,4),c=reshape(a,4,3)5.8.4
25、运行结果:b = 1 2 3 4 5 6 7 8 9 10 11 12c = 1 6 11 5 10 4 9 3 8 2 7 126 函数功能验证6.1 all函数6.1.1功能介绍: 测试向量中所用元素是否为真 。B=all(a),设a为一向量,若a都为非0则返回逻辑值1。否则返回逻辑值0,对矩阵的话 ,分别考虑a的每列的值并返回逻辑值。B = all(A,dim),按照指定的标量dim沿着A的维数检验。all(A,1)表示按矩阵A的列向量判断,all(A,2)表示按矩阵A的行向量判断。6.1.2程序设计:>> a=0 1 3;0 0 0;9 2 5;>> b=all
26、(a),c=all(a,1),d=all(a,2)6.1.3运行结果:b = 0 0 0c = 0 0 0d = 0 0 16.2 any函数6.2.1功能介绍:测试向量中是否有真元素。B = any(A),如果A是向量,如果向量里有非0的数,则返回1(true),如果A是矩阵,则把矩阵的列当做向量来处理,函数返回每个列向量的逻辑值。B = any(A,dim) ,按照指定的标量dim沿着A的维数检验。any(A,1)表示按矩阵A的列向量判断,any(A,2)表示按矩阵A的行向量判断。6.2.2程序设计:>> a=0 1 3;0 0 0;9 2 5;>> b=any(a
27、),c=any(a,1),d=any(a,2)6.2.3运行结果:b = 1 1 1c = 1 1 1d = 1 0 16.3 find函数6.3.1功能介绍:查找非零元素的下标。i,j=find(A),运行的结果中i表示非零元素的行索引值,j表示非零元素的列索引值。6.3.2程序设计:>> a=0 1 3;0 0 0;9 2 5;>> b=find(a),i,j=find(a)6.3.3运行结果:b = 3 4 6 7 9i = 3 1 3 1 3j = 1 2 2 3 36.4 isequal函数6.4.1功能介绍:判断若干个给定的数组容量是否是相等的。对于矩阵,判
28、断的是若干个矩阵对应的元素是否全部相等。若相等,则输出1,否则输出0。6.4.2程序设计:>> a=0 1 3;6 2 8;9 2 5;>> b=0 1 3;6 2 8;9 2 5;>> c=0 0 0;0 1 2;6 3 7;>> d=isequal(a,b),e=isequal(a,c)6.4.3运行结果:d = 1e = 06.5 isempty函数6.5.1功能介绍:若是空阵则为真。 判断一个数组是否是空的(没有任何元素)。对于矩阵,则是判断矩阵中是否有元素,若没有,则输出1,否则输出0。6.5.2程序设计:>> a=0 1 3;6 2 8;9 2 5;>> b=;>> c=zeros(2);>> d=isempty(a),e=isempty(b),f=isempty(c)6.5.3运行结果:d = 0e = 1f = 06.6 xor函数6.6.1功能介绍:C = xor(A, B) ,对矩阵A和B对应元素执行异或操作。若返回元素
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中九年级历史中考单元复习导学案:资产阶级革命与改革的全球浪潮
- 2026年铁路线路防沙工程考核试卷
- 2026年肠道传染病培训试题(附答案)
- 某塑料厂能耗管理规范
- 某纺织厂安全生产
- 某制药厂质量检验办法
- 2026年山西大同市中小学教师招聘考试试题题库及答案解析(教育综合知识)
- 初中数学七年级上册(北师大版2024)核心知识清单:有理数加减混合运算
- 高中地理必修第二册(鲁教版)核心素养知识清单:人口迁移
- 人教版二年级数学上册《数学广角-搭配(一)》核心素养导向教案
- 雨课堂学堂在线学堂云《中医特色文化( 南京中医)》单元测试考核答案
- 生物专业英语题库及答案
- 手术室无菌操作原则课件
- 货代角色扮演培训大纲
- 中国外汇交易中心考试题库
- 2024~2025学年广东省广州市下学期七年级历史期末综合测试卷
- 2024年宁波象山县卫生健康系统招聘考试真题
- 2025初中英语词汇表1600词分类记忆
- 2025年下半年广东省阳江阳西总医院招聘278人(综合岗22人)易考易错模拟试题(共500题)试卷后附参考答案
- 【历史】八年级历史上册复习资料2025-2026学年统编版八年级历史上册
- 快递包装回收创新创业项目商业计划书
评论
0/150
提交评论