《第1章_基础准备及入门100923.ppt》由会员分享,可在线阅读,更多相关《第1章_基础准备及入门100923.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB 编程与应用编程与应用朱增宝、朱增宝、邓邓海海顺顺、李、李宪华宪华机械工程学院机械工程学院安徽理工大学安徽理工大学1/24/20231MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门联系方式:联系方式:李宪华: 电话:136256211931/24/20232MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB课程介绍定位:基础选修课定位:基础选修课目标:了解目标:了解MATLABMATLAB,能够熟练掌握基能够熟练掌握基本的矩阵运算和数组运算,简单
2、编程,本的矩阵运算和数组运算,简单编程,基本图形绘制,交互式仿真基本图形绘制,交互式仿真1/24/20233MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB课时安排J学时学时:24学时学时J安排:授课安排:授课16学时学时,上机上机8学时学时,笔试笔试(期末期末)。J考核要求:不得缺勤,实验报告必须齐备,报考核要求:不得缺勤,实验报告必须齐备,报告只写实验标题、目的、练习题部分。告只写实验标题、目的、练习题部分。J考核方式考核方式:闭卷笔试和上机开卷考试闭卷笔试和上机开卷考试1/24/20234MATLAB 2011 教程教程 第第1章章 基础准备及入门基
3、础准备及入门第第1章章 MATLAB基础准备及入门基础准备及入门第第2 2章章 符号计算符号计算第第3章章 数值数组及向量化运算数值数组及向量化运算第第4 4章章 数值计算数值计算第第5 5章章 数据和函数的可视化数据和函数的可视化第第6 6章章 M M文件和函数句柄文件和函数句柄第第7 7章章 SIMULINKSIMULINK交互式仿真集成环境交互式仿真集成环境第第8 8章章 图形用户界面图形用户界面GUIGUI 第第9 9章章 NotebookNotebook课程内容安排1/24/20235MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门引言MATLAB语言概述1
4、.MATLAB语言的发展语言的发展 MATLAB语言是由美国的语言是由美国的Clever Moler博博士于上世纪士于上世纪70年代开始开发的年代开始开发的 设计者的初衷是为解决设计者的初衷是为解决“线性代数线性代数”课程课程的矩阵运算问题的矩阵运算问题 取名取名MATLAB即即Matrix Laboratory 矩阵矩阵实验室的意思实验室的意思1/24/20236MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门引言MATLAB语言概述1.MATLAB语言的发展语言的发展 1983年春,由于C1eveMoler对斯坦福大学的访问,JohnLittle受到了MATLAB
5、的影响。作为工程师的Little觉察到MATLAB潜在的应用天地在工程领域。同年,他与Moler、SteveBangert一起合作开发第二代专业版MATLAB。从这一代开始,MATLAB的核心就采用c语言编写。也是从这一代开始MATLAB不仅具有数值计算能力,而且具有了数据图视功能。1984年Mathworks公司成立,并将Matlab推向市场。1/24/20237MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB的发展简表版本版本建造建造编号号发布布时间MATLAB1.0(DOS版)1984MATALB2.01986MATLAB3.01987MATLAB4
6、.01992MATLAB4.2cR71994MATLAB5.0R81996MATLAB5.1R91997MATLAB5.2R101998MATLAB5.3R111999MATLAB6.0R122000MATLAB6.5R1320021/24/20238MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB的发展简表版本版本建造建造编号号发布布时间MATLAB7R142004MATLAB7.2R2006a2006MATLAB7.3R2006b2006MATLAB7.4R2007a2007MATLAB7.5R2007b2007MATLAB7.6R2008a2008M
7、ATLAB7.7R2008b2008MATLAB7.8R2009a2009.3MATLAB7.9R2009b2009.9MATLAB7.10R2010a2010.3MATLAB7.11R2010b2010.91/24/20239MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB将一个优秀软件的易用性与可靠性、通用性与专业性、一般目的的应用与高深的科学技术应用有机的相结合MATLAB是一种直译式的高级语言,比其它程序设计语言容易1/24/202310MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB语言与其它语言的关系仿语言
8、与其它语言的关系仿佛佛C语言与汇编语言的关系一样语言与汇编语言的关系一样计算机语言的发展数值运算解析运算管理、可视化智能化标志着计算机语言向标志着计算机语言向“智能化智能化”方方向发展,被称为第四代编程语言。向发展,被称为第四代编程语言。1/24/202311MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理;声音处理于一身,并提供了丰富的Windows图形界面设计方法MATLAB语言是功能强大的计算机高级语言,它以超群的风格与性能风靡全世界,成功地应用于各工程学科的研究领域1/24/202312MAT
9、LAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB在美国已经作为大学工科学生必修的计算机语言之一(C,FORTRAN,MATLAB)近年来,MATLAB语言已在我国推广使用,现在已应用于各学科研究部门和许多高等院校MATLAB语言根据安装工具箱多少确定硬盘使用空间大小,30多个工具箱全部安装需要占用几个G左右。1/24/202313MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门工业研究与开发数学教学,特别是线性代数 数值分析和科学计算方面的教学与研究 电子学、控制理论和物理学等工程和科学 学科方面的教学与研究 经济学、化学和生物学等计算
10、问题的所有其他领域中的教学与研究2.MATLAB应用领域应用领域1/24/202314MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门l易于学习、使用方便易于学习、使用方便l面向数组设计的运算面向数组设计的运算;面向复数设计的运算面向复数设计的运算l 运算符、库函数丰富运算符、库函数丰富l强大的图形和符号功能强大的图形和符号功能l与其他软件和语言有良好的对接性与其他软件和语言有良好的对接性3.MATLAB语言的特点语言的特点1/24/202315MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门强大的数值(矩阵)运算功能强大的数值(矩阵)运算功
11、能广泛的符号运算功能广泛的符号运算功能高级与低级兼备的图形功能(计算结果的可高级与低级兼备的图形功能(计算结果的可视化功能)视化功能)可靠的容错功能可靠的容错功能应用灵活的兼容与接口功能应用灵活的兼容与接口功能信息量丰富的联机检索功能信息量丰富的联机检索功能4.MATLAB语言的功能语言的功能1/24/202316MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门(1)矩阵(数组)运算功能MATLAB对以数组形式存储的数据设计了对以数组形式存储的数据设计了两种基本运算两种基本运算:数组运算和矩阵运算数组运算和矩阵运算。变量变量 矩阵(数组)矩阵(数组)运算运算 矩阵(数
12、组)的运算矩阵(数组)的运算例例 C=A*B,A,B,C为矩阵为矩阵,矩阵乘法矩阵乘法 D=A.*B,数组乘法数组乘法即使一个常数即使一个常数(标量标量),Y=5,MATLAB也看也看做是一个做是一个1 1的矩阵(数组)的矩阵(数组)1/24/202317MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门3x1+x2-x3=3.6x1+2x2+4x3=2.1-x1+4x2+5x3=-1.4对于线性系统有对于线性系统有Ax=bA=3 1-1;1 2 4;-1 4 5b=3.6;2.1;-1.4x=Ab例1用一个简单命令求解线性系统x=1.4818 -0.4606 0.38
13、48A=3 1 -1 1 2 4 -1 4 5b=3.6000 2.1000 -1.40001/24/202318MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MATLAB与符号计算语言与符号计算语言MuPAD 相结合相结合(在在2008b以前为以前为Maple),使其具有符号计算功能。,使其具有符号计算功能。符号运算即用字符串进行数学表达式的数学分符号运算即用字符串进行数学表达式的数学分析、推理、演绎,获得解析结果;析、推理、演绎,获得解析结果;允许变量不赋值而参与运算。允许变量不赋值而参与运算。用于解代数方程、微积分、复合导数、积分、用于解代数方程、微积分、复合
14、导数、积分、二重积分、有理函数、微分方程、泰勒级数展二重积分、有理函数、微分方程、泰勒级数展开、寻优等等,可求得解析符号解。开、寻优等等,可求得解析符号解。(2)强大的符号运算功能强大的符号运算功能1/24/202319MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门例2求 syms x;limit(sin(x)/x,0)ans=1 例3求 f=sin(s+2*x)int(f,pi/2,pi)ans=-cos(s)1/24/202320MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门(3)丰富的绘图功能与计算结果的可视化丰富的绘图功能与计算结
15、果的可视化具有高层绘图功能具有高层绘图功能两维、三维绘图两维、三维绘图具有底层绘图功能具有底层绘图功能句柄绘图句柄绘图使用使用plot函数可随时将计算结果可视化函数可随时将计算结果可视化1/24/202321MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门 画出衰减振荡曲线画出衰减振荡曲线y=e-(t/3)sin3t,t:0,4t=0:200*pi/50;y=exp(-t/3).*sin(3*t);plot(t,y,-r,LineWidth,2)axis(0,4*pi,-1,1),xlabel(t),ylabel(y)例4:1/24/202322MATLAB 2011
16、 教程教程 第第1章章 基础准备及入门基础准备及入门用四种方法描述cos(x)*sin(y)图形例5:1/24/202323MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MatLab 三维云图三维云图l考虑一个二元函数如何用三如何用三维图形的方式表形的方式表现出出这个曲面?个曲面?x,y=meshgrid(-3:1/8:3);z=3*(1-x).2.*exp(-(x.2)-(y+1).2)-10*(x/5-x.3-y.5).*exp(-x.2-y.2)-1/3*exp(-(x+1).2-y.2);surf(x,y,z),shadinginterp;colorbar1
17、/24/202324MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MatLab 三维云图三维云图1/24/202325MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门MatLab 绘图绘图透视效果透视效果X0,Y0,Z0=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interp;hold on,mesh(X,Y,Z),colormap(hot),hold off;hidden off;axis equal,axis off透视效果1/24/202326MATLAB 2011
18、教程教程 第第1章章 基础准备及入门基础准备及入门MatLab绘图绘图镂空效果镂空效果镂空效果t=linspace(0,2*pi,100);r=1-exp(-t/2).*cos(4*t);X,Y,Z=cylinder(r,60);ii=find(X0&Y(12+2*(7-4)/32 ans=2【例例1.3-2】“续行输入续行输入”法。法。S=1-1/2+1/3-1/4+.1/5-1/6+1/7-1/8 S=0.63451.3.2最简单的计算器使用法1/24/202339MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门1.3.3 数值、变量和表达式数值、变量和表达式1.
19、MATLAB的数值的数值 采用习惯的十进制表示,可以带采用习惯的十进制表示,可以带小数点或负号。以下记述都合法。小数点或负号。以下记述都合法。3 -99 0.001 9.456 1.3e-3 4.5e332.变量名、函数名变量名、函数名 是对字母大小写敏感的。如变量是对字母大小写敏感的。如变量myvar和和MyVar表示两个不同的变量。表示两个不同的变量。sin是是MATLAB定义的正弦函数名,但定义的正弦函数名,但SIN,Sin等都不是。等都不是。1/24/202340MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门变量名变量名的第一个字符必须是英文字母,最多可包的
20、第一个字符必须是英文字母,最多可包含含63个字符(英文、数字和下连符)。如个字符(英文、数字和下连符)。如myvar201是合法的变量名。是合法的变量名。变量名变量名中不得包含空格、标点、运算符,但可以中不得包含空格、标点、运算符,但可以包含下连符。如变量名包含下连符。如变量名my_var_201是合法的,且读是合法的,且读起来更方便。而起来更方便。而my,var201由于逗号的分隔,表示的由于逗号的分隔,表示的就不是一个变量名。就不是一个变量名。2.变量名、函数名变量名、函数名1/24/202341MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门3.MATLAB默认
21、的预定义变量默认的预定义变量eps是从是从1到下一个刚好比到下一个刚好比1大的双精度类型数之间的距离。大的双精度类型数之间的距离。【例例1.3-3】运用以下指令,以便初步了解预定义变量。运用以下指令,以便初步了解预定义变量。e1=eps%双精度类型时的相对精度双精度类型时的相对精度 e1=2.2204e-016 e2=eps(2)e2=4.4409e-016 e3=eps(0.1)e3=1.3878e-017 1/24/202342MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门4.运算符和表达式运算符和表达式l因为因为MATLAB面向复数设计,其所有运算定义在复数域
22、上。所面向复数设计,其所有运算定义在复数域上。所以对于方根问题,运算只返还一个以对于方根问题,运算只返还一个“主解主解”。要得复数的全部。要得复数的全部方根,必须专门编写程序(见例方根,必须专门编写程序(见例1.3-6)。)。a=-8;r_a=a(1/3)%求求3次根次根 r_a=1.0000+1.7321i(1)直接计算时,得到处于第一象限的方直接计算时,得到处于第一象限的方根。根。1/24/202343MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门4.运算符和表达式运算符和表达式(2)全部方根计算如下)全部方根计算如下%先构造一个多项式先构造一个多项式p=1,0
23、,0,-a;%p是多项式的系数向量是多项式的系数向量%指令末尾的指令末尾的“英文状态分号英文状态分号”使该指令运行后,不显示结果。使该指令运行后,不显示结果。R=roots(p)%求多项式的根求多项式的根R=-2.00001.0000+1.7321i1.0000-1.7321i(3)图形表示)图形表示MR=abs(R(1);t=0:pi/20:2*pi;x=MR*sin(t);y=MR*cos(t);plot(x,y,b:),grid onhold onplot(R(2),.,MarkerSize,30,Color,r)plot(R(1,3),o,MarkerSize,15,Color,b)a
24、xis(-3,3,-3,3),axis squarehold off 1/24/202344MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门lMATLAB用左斜杠或右斜杠分别表示用左斜杠或右斜杠分别表示“左除左除”“”或或“右除右除”“/”运算。运算。l对标量而言,对标量而言,“左除左除”和和“右除右除”的作用结果的作用结果相同相同。l右除为常规的除法,而左除的意义为:右除为常规的除法,而左除的意义为:ab=b/a。l对矩阵来说,对矩阵来说,“左除左除”和和“右除右除”将产生将产生不同不同的结果。的结果。l 即即 ABB/A l因为因为MATLAB面向矩阵面向矩阵/数
25、组设计,标量被看作的数组设计,标量被看作的矩阵矩阵/数组。数组。l无论矩阵还是标量,一般地:无论矩阵还是标量,一般地:aba/b。1/24/202345MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门lMATLAB书写表达式的规则与书写表达式的规则与“手写算式手写算式”几乎完全相几乎完全相同同 l表达式由变量名、运算符和函数名组成。表达式由变量名、运算符和函数名组成。l表达式将按与常规相同的优先级自左至右执行运算。表达式将按与常规相同的优先级自左至右执行运算。l优先级的规定是:指数运算级别最高,乘除运算次优先级的规定是:指数运算级别最高,乘除运算次之,加减运算级别最低
26、。之,加减运算级别最低。l括号可以改变运算的次序。括号可以改变运算的次序。l书写表达式时,赋值符书写表达式时,赋值符“=”和运算符两侧允许有和运算符两侧允许有空格,以增加可读性。空格,以增加可读性。1/24/202346MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门5.面向复数设计的运算面向复数设计的运算MATLAB特点之一特点之一MATLAB的所有运算都是定义在复数域上的。好处是:的所有运算都是定义在复数域上的。好处是:在进行运算时,不必像其他程序语言那样把实部、虚部在进行运算时,不必像其他程序语言那样把实部、虚部分开处理。分开处理。为描述复数,虚数单位用预定义变
27、量为描述复数,虚数单位用预定义变量 i 或或 j 表示。表示。复数复数 直角坐标表示和极坐标表示直角坐标表示和极坐标表示之间转换的之间转换的MATLAB指令如下。指令如下。real(z)给出复数的实部给出复数的实部 。imag(z)给出复数的虚部给出复数的虚部 。abs(z)给出复数的模给出复数的模 。angle(z)以弧度为单位给出复数的幅角以弧度为单位给出复数的幅角 。1/24/202347MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门5.面向复数设计的运算面向复数设计的运算MATLAB特点之一特点之一采用运算符构成的直角坐标表示法和极坐标表示法采用运算符构成的
28、直角坐标表示法和极坐标表示法.z1=4+3iz2=1+2*i%运算符构成的直角坐标表示法运算符构成的直角坐标表示法z3=2*exp(i*pi/6)%运算符构成的极坐标表示法运算符构成的极坐标表示法z=z1*z2/z3复数的实虚部、模和幅角计算复数的实虚部、模和幅角计算real_z=real(z)image_z=imag(z)magnitude_z=abs(z)angle_z_radian=angle(z)%弧度单位弧度单位angle_z_degree=angle(z)*180/pi%度数单位度数单位z=1.8840+5.2631i1/24/202348MATLAB 2011 教程教程 第第1章
29、章 基础准备及入门基础准备及入门5.面向复数设计的运算面向复数设计的运算MATLAB特点之一特点之一lz1=4+3*i;z2=1+2*i;%在一个物理行中,允许输入多条指令。在一个物理行中,允许输入多条指令。l%但各指令间要用但各指令间要用“分号分号”或或“逗号逗号”分开。分开。lz12=z1+z2l%以下用于绘图以下用于绘图lclf,hold on%clf清空图形窗。逗号用来分隔两个指令。清空图形窗。逗号用来分隔两个指令。lplot(0,z1,z12,-b,LineWidth,3)lplot(0,z12,-r,LineWidth,3)lplot(z1,z12,ob,MarkerSize,8)
30、lhold off,grid on,laxis equal;axis(0,6,0,6)ltext(3.5,2.3,z1);text(5,4.5,z2)ltext(2.5,3.5,z12);xlabel(real);ylabel(image)z12=5.0000+5.0000i1/24/202349MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门6.面向数组设计的运算面向数组设计的运算MATLAB特点之二特点之二l在在MATLAB中中,标量数据被看作标量数据被看作 的数组(的数组(Array)数据。所有的数据都被存放在适当大小的数组中。数据。所有的数据都被存放在适当大小
31、的数组中。l为加快计算速度(运算的向量化处理),为加快计算速度(运算的向量化处理),MATLAB对对以数组形式存储的数据设计了两种基本运算:以数组形式存储的数据设计了两种基本运算:一种是所谓的数组运算;一种是所谓的数组运算;另一种是所谓的矩阵运算。另一种是所谓的矩阵运算。1/24/202350MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门6.面向数组设计的运算面向数组设计的运算MATLAB特点之二特点之二l二维数组输入的三大要素:数组标识符二维数组输入的三大要素:数组标识符“”;元素;元素分隔符分隔符空格空格或或逗号逗号“,”;数组行间分隔符;数组行间分隔符分号分号
32、“;”或或“回车键回车键”。注意:所有标点符号都是注意:所有标点符号都是“英文状态英文状态的符号的符号”。AR=1,3;2,4 AI=5 7 6 8 1/24/202351MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门l函数函数real,imag,abs,angle是同时、并行地作用于数组的每个元是同时、并行地作用于数组的每个元素。对素。对4个元素运算所需的时间大致与对单个元素所需时间相同。个元素运算所需的时间大致与对单个元素所需时间相同。这有利于运算速度的提高。这是这有利于运算速度的提高。这是“向量化向量化”运算的一种形式。运算的一种形式。l本例给出了循环法求各元
33、素模和幅角的指令。这是很不有效的计本例给出了循环法求各元素模和幅角的指令。这是很不有效的计算方法。对于算方法。对于MATLAB以外的许多编程语言来说,可能不得不采以外的许多编程语言来说,可能不得不采用用“循环循环”处理方式来解本例。处理方式来解本例。记住:对于记住:对于MATLAB来说,应该来说,应该尽量摒弃尽量摒弃“循环循环”处理,而采用处理,而采用“向量化向量化”处理方式。处理方式。(2)求实部、虚部、模和幅角)求实部、虚部、模和幅角 A_real=real(A);A_image=imag(A)Am2=abs(A);Aa2=angle(A)*180/pi(1)创建复数数组)创建复数数组AR
34、=1,3;2,4;AI=5,7;6,8;A=AR-AI*i%形成复数矩阵形成复数矩阵1/24/202352MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门l本例第二条指令中的本例第二条指令中的“.*”符号表示乘法是在两个数组相同位符号表示乘法是在两个数组相同位置上的元素间进行的。本书把这种乘法称为置上的元素间进行的。本书把这种乘法称为“数组乘数组乘”。数组。数组乘的引入,不但使得程序简洁自然,而且避免了耗费机时的乘的引入,不但使得程序简洁自然,而且避免了耗费机时的“循环计算循环计算”。关于数组运算的详细叙述请见第。关于数组运算的详细叙述请见第3章。章。l本例第二条指令
35、是典型的本例第二条指令是典型的“向量化向量化”处理形式。处理形式。t=0:pi/50:4*pi;%定义自变量定义自变量t的取值数组的取值数组y=exp(-t/3).*sin(3*t);%计算计算y数组。注意乘法符前面小黑点。数组。注意乘法符前面小黑点。plot(t,y,-r,LineWidth,2)%绘制曲线绘制曲线axis(0,4*pi,-1,1)xlabel(t),ylabel(y)1/24/202353MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门l只有当两个矩阵的只有当两个矩阵的“内维大小相等内维大小相等”时,矩阵乘法才能进行。时,矩阵乘法才能进行。本例中,
36、本例中,矩阵矩阵A的列数与矩阵的列数与矩阵B的行数相等的行数相等,所以可以进行,所以可以进行A乘乘B。l从表达方式看,从表达方式看,“矩阵相乘矩阵相乘”的指令格式与的指令格式与“标量相乘标量相乘”指令指令格式一样。在其他编程语言中,矩阵乘法不得不依赖格式一样。在其他编程语言中,矩阵乘法不得不依赖“循环循环”进行。进行。lMATLAB之所以能把矩阵运算表达得像标准之所以能把矩阵运算表达得像标准“线性代数线性代数”那样那样简洁易读、自然流畅,那是由于简洁易读、自然流畅,那是由于MATLAB的设计者采用了的设计者采用了“面面向对象向对象”编程技术。编程技术。B=3+2i,2+6i;5+3*i,4-2
37、*i%复数数组的又一种输入方式复数数组的又一种输入方式%注意标点符号的作用注意标点符号的作用C=A*B%矩阵乘法矩阵乘法 A=1-5i 3-7i 2-6i 4-8i C=49.0000-39.0000i 30.0000-38.0000i 62.0000-42.0000i 40.0000-40.0000i1/24/202354MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门1.4 Command Window操作要旨操作要旨1.4.1 指令窗的显示方式指令窗的显示方式l从MATLAB7.0起,指令窗中的字符、数值等采用更为醒目的分类显示:对于输入指令中的if,for,e
38、ndif,for,end等控制数据流的MATLAB关键词自动地采用蓝色蓝色字体显示。对于输入指令中的非控制指令、数码,都自动地采用黑色黑色字体显示。输入的字符串自动呈现为紫色紫色字体。1.默认的默认的输入输入显示方式显示方式1/24/202355MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门2.运算结果运算结果的显示:的显示:黑色,黑色,警告出错信息用红色字体。指指 令令含含 义义举举 例例 说说 明明formatformat short通常保通常保证证小数点后四位有效,最多不超小数点后四位有效,最多不超过过7位;位;对对于大于大于于1000的的实实数,用数,用5
39、位有效数字的科学位有效数字的科学记记数形式数形式显显示。示。(默(默认认的的显显示格式示格式)314.159被被显显示示为为314.1590;3141.59被被显显示示为为3.1416e+003format long15 位数字表示位数字表示3.14159265358979format short e5 位科学位科学记记数表示数表示3.1416e+00format long e15 位科学位科学记记数表示数表示3.14159265358979e+00format short g从从format short 和和format short e中自中自动选择动选择最佳最佳记记数方式数方式。3.141
40、6format long g从从format long 和和format long e中自中自动选择动选择最佳最佳记记数方式数方式3.14159265358979format rat近似有理数表示近似有理数表示355/113format hex十六十六进进制表示制表示400921fb54442d18format+显显示大矩示大矩阵阵用。正数、用。正数、负负数、零数、零 分分别别用用+,-,空格表示。空格表示。+format bank(金融)元、角、分表示(金融)元、角、分表示3.14format compact显显示示变变量之量之间间没有空行没有空行format loose 在在显显示示变变量
41、之量之间间有空行有空行说说明明:format short显显示格式是默示格式是默认认的的显显示格式示格式。该该表中表中实现实现的所有格式的所有格式设设置置仅仅在在MATLAB的的当前当前执执行行过过程中有效。程中有效。1/24/202356MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门1.4.2 指令行中的标点符号指令行中的标点符号l 标点符号的使用标点符号的使用 在在 MATLAB 中,标点符号有着充分的意义,可以中,标点符号有着充分的意义,可以用标点符号进行运算,或者标点符号可以包含特定用标点符号进行运算,或者标点符号可以包含特定的意义。的意义。标点符号定义标点
42、符号定义逗号(,)数组列分隔符;函数参数分隔符点(.)小数点;结构体成员访问分号(;)数组行分隔符;取消运行显示百分号(%)注释语句的标识冒号(:)在数组中应用较多,如生成等差数列引号()定义字符串圆括号()指定运算优先级;函数参数调用;数组索引方括号()定义矩阵花括号()定义单元数组下连符(_)变量函数命名省略号()续行符“At”号()形成函数句柄空格()输入量数组元素间分隔符等号(=)赋值语句说明说明为确保指令正确执行,以上符号一定要在英文状态下输入。因为为确保指令正确执行,以上符号一定要在英文状态下输入。因为MATLAB不能识不能识别含有中文标点的指令。别含有中文标点的指令。1/24/2
43、02357MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门l分号(分号(;)分号用于区分数组的行,或者用于一个语分号用于区分数组的行,或者用于一个语句的结尾处,取消运行显示。句的结尾处,取消运行显示。l百分号(百分号(%)该符号用于在程序文本中添加注释,增加该符号用于在程序文本中添加注释,增加程序的可读性。百分号之后的文本都将视程序的可读性。百分号之后的文本都将视作注释,系统不对其进行编译。作注释,系统不对其进行编译。1/24/202358MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门1.4.3 指令窗的常用控制指令指令窗的常用控制指令l。
44、指令指令含含 义义指令指令含含 义义ans最新计算结果的默认变量名edit打开M文件编辑器cd设置当前工作目录。exit关闭/退出 MATLABclf清除图形窗quit关闭/退出 MATLABclc清除指令窗中显示内容help指令窗中显示帮助信息clear 清除MATLAB工作空间中保存的变量more使其后的显示内容分页进行dir列出指定目录下的文件和子目录清单return返回到上层调用程序;结束键盘模式doc在MATLAB浏览器中,显示帮助信息type显示指定M文件的内容diary 把指令窗输入记录为文件which 指出其后文件所在目录1/24/202359MATLAB 2011 教程教程
45、第第1章章 基础准备及入门基础准备及入门1.4.4 指令窗中指令行的编辑指令窗中指令行的编辑l为方便用户操作,为方便用户操作,MATLAB 中定义了一些快捷键。掌握一些常用的操作命中定义了一些快捷键。掌握一些常用的操作命令和快捷键,可以使得对令和快捷键,可以使得对 MATLAB 的操作更加便利。的操作更加便利。键键名名作作 用用键键名名作作 用用前前寻寻式式调调回已回已输输入入过过的指的指令行令行PageUp前寻式翻阅当前窗中的内容后后寻寻式式调调回已回已输输入入过过的指的指令行令行PageDown 后寻式翻阅当前窗中的内容在当前行中左移光标Delete删去光标右边的字符在当前行中右移光标Ba
46、ckspace 删去光标左边的字符Home使光标移到当前行首端Esc清除当前行全部内容End使光标移到当前行的尾端Ctr+C可中断程序执行Tab命令补全功能命令补全功能1/24/202360MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门l默认情况下命令历史窗口位于默认情况下命令历史窗口位于右下角右下角,显示用户曾经输入,显示用户曾经输入过的命令,并显示输入的时间,方便用户查询。过的命令,并显示输入的时间,方便用户查询。l对于命令历史窗口中的命令,用户可以点击右键进行相应对于命令历史窗口中的命令,用户可以点击右键进行相应的操作。的操作。l用户可以双击再次执行命令窗口中
47、的命令。用户可以双击再次执行命令窗口中的命令。命令历史窗口1.5 Command History历史指令窗历史指令窗1/24/202361MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门应应用功能用功能操操 作作 方方 法法简简捷操作方法捷操作方法单单行或多行或多行指令的行指令的复制复制点亮点亮单单行或多行指令;按鼠行或多行指令;按鼠标标右右键键引出引出现场现场菜菜单单;选选中中Copy菜菜单项单项,即可用复合,即可用复合键键 Ctrl+V 把它把它“粘粘贴贴”到任何地方(包括指令窗)。到任何地方(包括指令窗)。单单行指令行指令的运行的运行点亮点亮单单行指令;按鼠行指
48、令;按鼠标标右右键键引出引出现场现场菜菜单单;选选中中Evaluate Selection 菜菜单项单项,即可在指令窗,即可在指令窗中运行,并中运行,并见见到相到相应结应结果。果。鼠鼠标标左左键键双双击单击单行指令行指令多行指令多行指令的运行的运行点亮多行指令;按鼠点亮多行指令;按鼠标标右右键键引出引出现场现场菜菜单单;选选中中Evaluate Selection 菜菜单项单项,即可在指令窗,即可在指令窗中运行,并中运行,并见见到相到相应结应结果。(果。(详见详见例例1.5-1)把多行指把多行指令写成令写成M文件文件点亮多行指令;按鼠点亮多行指令;按鼠标标右右键键引出引出现场现场菜菜单单;选选
49、中中 Create M-File 菜菜单项单项,就引出,就引出书书写着写着这这些些指令的指令的M文件文件编辑调试编辑调试器;再器;再进进行相行相应应操作,操作,即可得所需即可得所需M文件。文件。Create Script1/24/202362MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门1.6 Current Directory、路径设置器和文件管理、路径设置器和文件管理l当前路径窗口显示当前路径下的所有文件和文件夹当前路径窗口显示当前路径下的所有文件和文件夹及其相关信息,并且可以通过当前路径工具栏或右及其相关信息,并且可以通过当前路径工具栏或右键菜单对这些文件进行
50、操作键菜单对这些文件进行操作。当前路径窗口1/24/202363MATLAB 2011 教程教程 第第1章章 基础准备及入门基础准备及入门1.6.1 Current Directory当前目录浏览器简介当前目录浏览器简介应应 用用 功功 能能操操 作作 方方 法法简简捷操作方法捷操作方法运行运行M文件文件点亮待运行文件;按鼠点亮待运行文件;按鼠标标右右键键引出引出现场现场菜菜单单;选选中中Run菜菜单项单项,即可使,即可使该该M文件运行。文件运行。编辑编辑M文件文件点亮待运行文件;按鼠点亮待运行文件;按鼠标标右右键键引出引出现场现场菜菜单单;选选中中Open 菜菜单项单项,此,此M 文件就出文