您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > matlab基础PPT1精讲
MATLAB2020年4月26日2课程的内容MATLAB基础与应用2020年4月26日3教材和参考书MATLAB:有关书籍很多,不指定教材。建议的参考书:1.薛定宇教授编著的MATLAB书籍2.张志涌教授编著的MATLAB书籍3.电子课堂---matlab工程数学应用等等…MATLAB入门2020年4月26日5Matlab简介在欧美各高等院校,Matlab已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。2020年4月26日6Matlab简介Matlab:MatrixLaboratry矩阵实验室Matlab的发展1980年,CleveMoler教授用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。1984年,Moler、JackLittle、SteveBangert成立了MathWorks公司,用C语言完全改写Matlab,并推出第一个商业版。增添图形图像处理、符号运算、以及与其他流行软件的接口功能,使得Matlab的功能越来越强大。到九十年代,在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头。2020年4月26日7目前,Matlab已经成为国际上最流行的科学与工程计算的软件工具,是一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为“第四代”计算机语言。就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。Matlab简介Matlab的发行1984年,Matlab1.0(DOS版,182K,20多个函数)1992年,Matlab4.0(93年推出Windows版,加入simulink)1994年,Matlab4.2(得到广泛重视和应用)1999年,Matlab5.3(真正实现32位运算)2002年,Matlab6.5(采用JIT加速器)2004年,Matlab7.02006年,MatlabV7.2R2006a2008年,MatlabV7.6R2008a2020年4月26日8Matlab的特点与功能Matlab具有很强的数值计算功能Matlab以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数(动态定维)按照IEEE的数值计算标准进行计算提供十分丰富的数值计算函数,方便计算,提高效率Matlab命令与数学中的符号、公式非常接近,可读性强,容易掌握Matlab是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果2020年4月26日9Matlab的特点与功能Matlab符号计算功能Matlab和著名的符号计算语言Maple相结合Matlab的编程功能Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。通过Matlab提供的编程语言进行编程完成特定的任务Matlab的绘图功能Matlab提供丰富的绘图命令,很方便实现数据的可视化2020年4月26日10Matlab丰富的工具箱(toolbox)Matlab的特点与功能根据专门领域中的特殊需要而设计的各种可选工具箱Matlab的Simulink动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。SymbolicMathPDEOptimizationSignalprocessImageProcessStatisticsControlSystemSystemIdentification……2020年4月26日11Matlab的基本用法Matlab系统的启动使用Windows“开始”菜单运行Matlab系统启动程序matlab双击Matlab快捷图标Matlab系统的退出在Matlab主窗口File菜单中选择ExitMatlab命令在Matlab命令窗口输入exit或quit命令单击Matlab主窗口的“关闭”按钮2020年4月26日12Matlab的工作界面命令窗口当前工作目录当前工作空间输入命令的历史记录命令提示符2020年4月26日13数学运算符+加法Matlab数值运算-减法*乘法/和\除法(右除和左除)^幂运算2020年4月26日14系统预定义变量Matlab变量pi圆周率,其值为imag(log(-1))inf/Inf无穷大nan/NaNNot-a-Number,一个不定值,如0/0eps浮点运算相对精度特殊变量ansi/j虚部单位,即1应尽量避免给系统预定义变量重新赋值!2020年4月26日15输出格式Matlab的输出Matlab以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量“ans”。Matlab中数的输出格式可以通过format命令指定format只改变变量的输出格式,但不会影响变量的值!2020年4月26日16各种format格式格式解释例format短格式(缺省显示格式),同short3.1416formatshort短格式(缺省显示格式),只显示5位3.1416formatlong长格式,双精度数15位,单精度数7位3.14159265358979formatshorte短格式e方式(科学计数格式)3.1416e+000formatlonge长格式e方式3.141592653589793e+000formatshortg短格式g方式3.1416formatlongg长格式g方式3.14159265358979formatcompact压缩格式formatloose自由格式format+/formatbank/formatrat/formathex(详情查看联机帮助)2020年4月26日17几个小技巧Matlab的命令记忆功能:上下箭头键命令补全功能:Tab键可以先输入命令的前几个字符,再按上下键缩小搜索范围用Esc键删除命令行2020年4月26日18变量命名原则Matlab变量以字母开头后面可以跟字母、数字和下划线长度不超过63个字符(6.5版本以前为19个)变量名区分字母的大小写Matlab语句的通常形式变量=表达式表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号“=”左边的变量2020年4月26日19分号和续行符的作用Matlab变量►若不想在屏幕上输出结果,可以在语句最后加分号。►如果语句很长,可用续行符“…”(三个点)续行续行符的前面最好留一个空格。例:2020年4月26日20数与算术表达式Matlab数值运算Matlab中的数默认是双精度实数,表示方法同C语言3,-9,0.4,1.603e-12,3.23e+20浮点运算的相对误差为eps浮点数表示范围为:10-308~10308复数的输入z=3+4i(4与i之间不能有空格)z=3+4*i复数作为矩阵元素输入时,加号两边不能有空格!2020年4月26日21向量与矩阵的生成向量与矩阵的生成向量的生成直接输入:a=[1,2,3,4]或a=[1234]冒号运算符a=[1:4]==a=[1,2,3,4]b=[0:pi/3:pi]==b=[0,1.0472,2.0944,3.1416]c=[6:-2:0]==c=[6,4,2,0]例:从矩阵中抽取行或列2020年4月26日22向量与矩阵的生成(续)向量与矩阵运算矩阵的生成直接输入:矩阵用方括号“[]”括起例:A=[123;456;7,8,9]矩阵同一行中的元素之间用空格或逗号分隔矩阵行与行之间用分号分开直接输入法中,分号可以用回车代替例:2020年4月26日23向量与矩阵的生成(续)向量与矩阵运算矩阵的生成由向量生成由函数生成通过编写m文件生成例:x=[1,2,3];y=[2,3,4];A=[x,y],B=[x;y]A=123234B=123234例:C=magic(3)幻方矩阵行和,列和,对角线和等ans=8163574922020年4月26日24常见矩阵生成函数zeros(m,n)生成一个m行n列的零矩阵,m=n时可简写为zeros(n)ones(m,n)生成一个m行n列的元素全为1的矩阵,m=n时可写为ones(n)eye(m,n)生成一个主对角线全为1的m行n列矩阵,m=n时可简写为eye(n),即为n维单位矩阵diag(X)若X是矩阵,则diag(X)为X的主对角线向量若X是向量,diag(X)产生以X为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分(low)triu(A)提取一个矩阵的上三角部分(up)rand(m,n)产生0~1间均匀分布的随机矩阵m=n时简写为rand(n)randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵m=n时简写为randn(n)2020年4月26日25单个元素的引用例:A(2,3)矩阵元素的引用多个元素的引用:冒号的特殊用法利用小括弧和元素所在的位置(下标)x(i):向量x中的第i个元素A(i,j):矩阵A中的第i行,第j列元素a:b:c产生一个由等差序列组成的向量;a是首项,b是公差,c确定最后一项;若b=1,则b可以省略。例:x=1:2:5y=1:2:6x,y结果都是135例:x=2:1:5y=2:5上下结果一样例:x=3:-2:1x=312020年4月26日26多个元素的引用(续)例:x(1:3)矩阵元素的引用A(3,1:3)A(i:j,m:n)表示由矩阵A的第i到第j行和第m到第n列交叉线上的元素组成的子矩阵。可利用冒号提取矩阵的整行或整列。例:A(1,:)A(:,1:2)A(:,:)2020年4月26日27矩阵操作提取矩阵的部分元素:冒号运算符A(:)A的所有元素A(:,:)二维矩阵A的所有元素A(:,k)A的第k列,A(k,:)A的第k行A(k:m)A的第k到第m个元素A(:,k:m)A的第k到第m列组成的子矩阵A(:)与A(:,:)的区别?如何获得由A的第一、三行和第一、二列组成的子矩阵?自己动手2020年4月26日28矩阵操作矩阵的旋转fliplr(A)左右翻转flipud(A)上下翻转rot90(A)逆时针旋转90度;rot90(A,k)逆时针旋转k×90度例:A=[123;456]A=123456B=fliplr(A)B=321C=456654123C=flipud(A)D=rot90(A),E=rot90(A,-1)D=36E=41255214632020年4月26日29矩阵操作矩阵的转置与共轭转置’共轭转置.’转置,矩阵元素不取共轭例:A=[12;2i3i]B=A’B=1.00000-2.0000i2.00000-3.0000iB=1.00000+2.0000i2.00000+3.0000iC=A.’点与单引号之间不能有空格!2020年4月26日30矩阵操作改变矩阵的形状:reshapereshape(A,m,n):将矩阵元素按列方向进行重组重组后得到的新矩阵的元素个数必须与原矩阵元素个数相等!2020年4月26日31矩阵操作查看矩阵的大小:sizesize(A)列出矩阵A的行数和列数size(A,1)返回矩阵A的行数size(A,2)返回矩阵A的列数例:A=[123;456]size(A)ans=23size(A,1)ans=2size(A,2)ans=3length(x)返回向量X的长度length(A)等价于max(size(A))an
本文标题:matlab基础PPT1精讲
链接地址:https://www.777doc.com/doc-5067206 .html