第1章_基础准备及入门_第1页
第1章_基础准备及入门_第2页
第1章_基础准备及入门_第3页
第1章_基础准备及入门_第4页
第1章_基础准备及入门_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第1页MATLAB 编程与应用编程与应用胡海根胡海根 Haigen HuSchool of Information Engineering, Zhejiang Agriculture & Forestry University MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第2页联系方式:联系方式:MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第3页MATLAB课程介绍定位:基础选修课定位:基础选修课目标:了解目标:了

2、解MATLABMATLAB,能够熟练掌握基,能够熟练掌握基本的矩阵运算和数组运算,简单编程,本的矩阵运算和数组运算,简单编程,基本图形绘制,交互式仿真基本图形绘制,交互式仿真MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第4页MATLAB课时安排J学时学时: 32学时学时J安排:全部在机房授课安排:全部在机房授课, 笔试笔试(期未期未)。J考核要求:平时成绩考核要求:平时成绩(30%)+卷面成绩卷面成绩(70%)。J考核方式考核方式: 闭卷笔试闭卷笔试MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第5页第第

3、1章章 MATLAB基础准备及入门基础准备及入门第第2 2章章 符号计算符号计算第第3章章 数值数组及向量化运算数值数组及向量化运算第第4 4章章 数值计算数值计算第第5 5章章 数据和函数的可视化数据和函数的可视化第第6 6章章 M M文件和函数句柄文件和函数句柄第第7 7章章 SIMULINKSIMULINK交互式仿真集成环境交互式仿真集成环境第第8 8章章 图形用户界面图形用户界面GUIGUI 第第9 9章章 NotebookNotebook课程内容安排MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第6页引言 MATLAB语言概述1. MATL

4、AB语言的发展语言的发展 matlab语言是由美国的语言是由美国的Clever Moler博士博士于上世纪于上世纪70年代开始开发的年代开始开发的 设计者的初衷是为解决设计者的初衷是为解决“线性代数线性代数”课程课程的矩阵运算问题的矩阵运算问题 取名取名MATLAB即即Matrix Laboratory 矩阵矩阵实验室的意思实验室的意思MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第7页引言 MATLAB语言概述1. MATLAB语言的发展语言的发展 1983年春,由于C1eve Moler对斯坦福大学的访问,John Little受到了MATLAB

5、的影响。作为工程师的Little觉察到MATLAB潜在的应用天地在工程领域。同年,他与Moler、Steve Bangert一起合作开发第二代专业版MATLAB。从这一代开始,MATLAB的核心就采用c语言编写。也是从这一代开始MATLAB不仅具有数值计算能力,而且具有了数据图视功能。 1984年Mathworks公司成立,并将Matlab推向市场。MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第8页MATLAB的发展简表版本版本建造编号建造编号发布时间发布时间MATLAB 1.0 (DOS版) 1984 MATALB 2.0 1986MATLAB

6、3.0 1987MATLAB 4.0 1992MATLAB 4.2cR7 1994MATLAB 5.0R81996MATLAB 5.1R91997MATLAB 5.2R10 1998MATLAB 5.3R111999MATLAB 6.0R122000MATLAB 6.5R132002MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第9页MATLAB的发展简表版本版本建造编号建造编号发布时间发布时间MATLAB 7R142004MATLAB 7.2R2006a2006MATLAB 7.3 R2006b2006MATLAB 7.4R2007a2007MAT

7、LAB 7.5R2007b2007MATLAB 7.6R2008a2008MATLAB 7.7R2008b2008MATLAB 7.8R2009a2009.3MATLAB 7.9R2009b2009.9MATLAB 7.10R2010a2010.3MATLAB 7.11R2010b2010.9MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第10页MATLAB将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机的相结合MATLAB是一种直译式的高级语言,比其它程序设计语言容易MATLAB 2010 教程教程 第第1章

8、章 基础准备及入门基础准备及入门2022-7-2第11页MATLAB语言与其它语言的关系仿语言与其它语言的关系仿佛佛C语言与汇编语言的关系一样语言与汇编语言的关系一样计算机语言的发展数值运算解析运算管理、可视化智能化标志着计算机语言向标志着计算机语言向“智能化智能化”方方向发展,被称为第四代编程语言。向发展,被称为第四代编程语言。MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第12页MATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理;声音处理于一身,并提供了丰富的Windows图形界面设计方法MATLAB语言是功能强大的计算机高级语

9、言, 它以超群的风格与性能风靡全世界, 成功地应用于各工程学科的研究领域MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第13页MATLAB在美国已经作为大学工科学生必修的计算机语言之一 (C, FORTRAN, MATLAB)近年来,MATLAB语言已在我国推广使用,现在已应用于各学科研究部门和许多高等院校MATLAB语言根据安装工具箱多少确定硬盘使用空间大小,30多个工具箱全部安装需要占用几个G左右。MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第14页工业研究与开发数学教学,特别是线性代数 数值分析和科

10、学计算方面的教学与研究 电子学、控制理论和物理学等工程和科学 学科方面的教学与研究 经济学、化学和生物学等计算问题的所有其他领域中的教学与研究2. matlab应用领域应用领域MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第15页l易于学习、使用方便易于学习、使用方便l面向数组设计的运算面向数组设计的运算;面向复数设计的运算面向复数设计的运算l 运算符、库函数丰富运算符、库函数丰富l强大的图形和符号功能强大的图形和符号功能l与其他软件和语言有良好的对接性与其他软件和语言有良好的对接性3. MATLAB语言的特点语言的特点MATLAB 2010 教程教

11、程 第第1章章 基础准备及入门基础准备及入门2022-7-2第16页强大的数值(矩阵)运算功能强大的数值(矩阵)运算功能广泛的符号运算功能广泛的符号运算功能高级与低级兼备的图形功能(计算结果的高级与低级兼备的图形功能(计算结果的可视化功能)可视化功能)可靠的容错功能可靠的容错功能应用灵活的兼容与接口功能应用灵活的兼容与接口功能信息量丰富的联机检索功能信息量丰富的联机检索功能4. MATLAB语言的功能语言的功能MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第17页(1) 矩阵(数组)运算功能MATLAB对以数组形式存储的数据设计了对以数组形式存储的数

12、据设计了两种基本运算两种基本运算: 数组运算和矩阵运算数组运算和矩阵运算。变量变量 矩阵(数组)矩阵(数组)运算运算 矩阵(数组)的运算矩阵(数组)的运算例例 C = A * B ,A,B,C为矩阵为矩阵,矩阵乘法矩阵乘法 D = A.*B , 数组乘法数组乘法即使一个常数即使一个常数(标量标量),Y=5,MATLAB也看也看做是一个做是一个1 1的矩阵(数组)的矩阵(数组)MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第18页 3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4对于线性系统有

13、对于线性系统有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.3848A = 3 1 -1 1 2 4 -1 4 5b = 3.6000 2.1000 -1.4000MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第19页MATLAB与符号计算语言与符号计算语言MuPAD 相结合相结合(在在2008b以前为以前为Maple ),使其具有符号计算功能。,使其具有符号计算功能。符号运算即用字符串进行数学表达式的数学分符号运算即用字符串进行数学表达

14、式的数学分析、推理、演绎,获得解析结果;析、推理、演绎,获得解析结果;允许变量不赋值而参与运算。允许变量不赋值而参与运算。用于解代数方程、微积分、复合导数、积分、用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰勒级数展二重积分、有理函数、微分方程、泰勒级数展开、寻优等等,可求得解析符号解。开、寻优等等,可求得解析符号解。(2) 强大的符号运算功能强大的符号运算功能MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第20页例2 求xxxsinlim0 syms x; limit(sin(x)/x,0) ans = 1 例3 求 2/

15、)2sin(dxxs f=sin(s+2*x) int(f,pi/2,pi)ans = -cos(s)MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第21页(3) 丰富的绘图功能与计算结果的可视化丰富的绘图功能与计算结果的可视化具有高层绘图功能具有高层绘图功能两维、三维绘图两维、三维绘图具有底层绘图功能具有底层绘图功能句柄绘图句柄绘图使用使用plot函数可随时将计算结果可视化函数可随时将计算结果可视化MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第22页 画出衰减振荡曲线画出衰减振荡曲线y=e-(t/3)

16、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:MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第23页用四种方法描述cos(x)*sin(y)图形- 505- 4- 2024- 1- 0 . 500 . 51- 505- 4- 2024- 1- 0 . 500 . 51- 4- 2024- 4- 3- 2- 101234例5:MATLAB 2010 教程教程 第第1章章

17、基础准备及入门基础准备及入门2022-7-2第24页MatLab 三维云图三维云图l考虑一个二元函数如何用三维图形的方式表现出这个曲面?如何用三维图形的方式表现出这个曲面? 2222222211351311053xyxyxyxzf x,yx exy ee 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), shading interp; colorbar MATLAB

18、 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第25页MatLab 三维云图三维云图MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第26页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 透视 效果 MATLAB 2010 教程教程 第第1章章

19、基础准备及入门基础准备及入门2022-7-2第27页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.634523)47(2121.3.2 最简单的计算器使用法MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第40页1.3

20、.3 数值、变量和表达式数值、变量和表达式1. MATLAB的数值的数值 采用习惯的十进制表示,可以带采用习惯的十进制表示,可以带小数点或负号。以下记述都合法。小数点或负号。以下记述都合法。 3 -99 0.001 9.456 1.3e-3 4.5e332. 变量名、函数名变量名、函数名 是对字母大小写敏感的。如变量是对字母大小写敏感的。如变量myvar和和MyVar表示两个不同的变量。表示两个不同的变量。sin是是MATLAB定义的正弦函数名,但定义的正弦函数名,但SIN,Sin等都不是。等都不是。MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第4

21、1页变量名变量名的第一个字符必须是英文字母,最多可包的第一个字符必须是英文字母,最多可包含含63个字符(英文、数字和下连符)。如个字符(英文、数字和下连符)。如myvar201是合法的变量名。是合法的变量名。变量名变量名中不得包含空格、标点、运算符,但可以中不得包含空格、标点、运算符,但可以包含下连符。如变量名包含下连符。如变量名my_var_201是合法的,且读是合法的,且读起来更方便。而起来更方便。而my,var201由于逗号的分隔,表示的由于逗号的分隔,表示的就不是一个变量名。就不是一个变量名。 2. 变量名、函数名变量名、函数名MATLAB 2010 教程教程 第第1章章 基础准备及入

22、门基础准备及入门2022-7-2第42页3. MATLAB默认的预定义变量默认的预定义变量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 MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第43页4

23、. 运算符和表达式运算符和表达式l因为因为MATLAB面向复数设计,其所有运算定义在复数域上。所面向复数设计,其所有运算定义在复数域上。所以对于方根问题,运算只返还一个以对于方根问题,运算只返还一个“主解主解”。要得复数的全部。要得复数的全部方根,必须专门编写程序(见例方根,必须专门编写程序(见例1.3-6)。)。a=-8; r_a=a(1/3)%求求3次根次根 r_a = 1.0000 + 1.7321i (1) 直接计算时,得到处于第一象限的方根。直接计算时,得到处于第一象限的方根。 MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第44页4. 运

24、算符和表达式运算符和表达式(2)全部方根计算如下)全部方根计算如下% 先构造一个多项式先构造一个多项式p=1,0,0,-a; % p是多项式的系数向量是多项式的系数向量%指令末尾的指令末尾的“英文状态分号英文状态分号”使该指令运行后,不显示结果。使该指令运行后,不显示结果。R=roots(p)%求多项式的根求多项式的根R = -2.0000 1.0000 + 1.7321i 1.0000 - 1.7321i arrp3)((3)图形表示)图形表示MR=abs(R(1);t=0:pi/20:2*pi;x=MR*sin(t); y=MR*cos(t);plot(x,y,b:),grid onhol

25、d onplot(R(2),.,MarkerSize,30,Color,r)plot(R(1,3),o,MarkerSize,15,Color,b) axis(-3,3,-3,3),axis squarehold off MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第45页lMATLAB用左斜杠或右斜杠分别表示用左斜杠或右斜杠分别表示“左除左除”“”“”或或“右除右除”“”“/”运算。运算。l对标量而言,对标量而言,“左除左除”和和“右除右除”的作用结果的作用结果相同相同。l右除为常规的除法,而左除的意义为:右除为常规的除法,而左除的意义为:ab=

26、b/a。l对矩阵来说,对矩阵来说,“左除左除”和和“右除右除” 将产生将产生不同不同的结果。的结果。l 即即 ABB/A ) 11 ( l因为因为MATLAB面向矩阵面向矩阵/数组设计,标量被看作的数组设计,标量被看作的矩阵矩阵/数组。数组。l无论矩阵还是标量,一般地:无论矩阵还是标量,一般地:aba/b。 MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第46页lMATLAB书写表达式的规则与书写表达式的规则与“手写算式手写算式”几乎完全相几乎完全相同同 l表达式由变量名、运算符和函数名组成。表达式由变量名、运算符和函数名组成。l表达式将按与常规相同

27、的优先级自左至右执行运算。表达式将按与常规相同的优先级自左至右执行运算。l优先级的规定是:指数运算级别最高,乘除运算次优先级的规定是:指数运算级别最高,乘除运算次之,加减运算级别最低。之,加减运算级别最低。l括号可以改变运算的次序。括号可以改变运算的次序。l书写表达式时,赋值符书写表达式时,赋值符“=”和运算符两侧允许有空和运算符两侧允许有空格,以增加可读性。格,以增加可读性。MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第47页5.面向复数设计的运算面向复数设计的运算MATLAB特点之一特点之一MATLAB的所有运算都是定义在复数域上的。好处是:的

28、所有运算都是定义在复数域上的。好处是:在进行运算时,不必像其他程序语言那样把实部、虚在进行运算时,不必像其他程序语言那样把实部、虚部分开处理。部分开处理。为描述复数,虚数单位用预定义变量为描述复数,虚数单位用预定义变量 i 或或 j 表示。表示。复数复数 直角坐标表示和极坐标表示直角坐标表示和极坐标表示之间转换的之间转换的MATLAB指令如下。指令如下。real(z)给出复数的实部给出复数的实部 。imag(z)给出复数的虚部给出复数的虚部 。abs(z)给出复数的模给出复数的模 。angle(z) 以弧度为单位给出复数的幅角以弧度为单位给出复数的幅角 。arctanba22rabirebia

29、zsinrb cosra MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第48页5.面向复数设计的运算面向复数设计的运算MATLAB特点之一特点之一采用运算符构成的直角坐标表示法和极坐标表示法采用运算符构成的直角坐标表示法和极坐标表示法 . z1= 4 + 3i z2 = 1 + 2 * i %运算符构成的直角坐标表示法运算符构成的直角坐标表示法z3=2*exp(i*pi/6) %运算符构成的极坐标表示法运算符构成的极坐标表示法z=z1*z2/z3 复数的实虚部、模和幅角计算复数的实虚部、模和幅角计算real_z=real(z)image_z=ima

30、g(z)magnitude_z=abs(z)angle_z_radian=angle(z)%弧度单位弧度单位angle_z_degree=angle(z)*180/pi%度数单位度数单位 z = 1.8840 + 5.2631iMATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第49页5.面向复数设计的运算面向复数设计的运算MATLAB特点之一特点之一lz1=4+3*i;z2=1+2*i;%在一个物理行中,允许输入多条指令。在一个物理行中,允许输入多条指令。l%但各指令间要用但各指令间要用“分号分号”或或“逗号逗号”分开。分开。lz12=z1+z2l%以

31、下用于绘图以下用于绘图lclf, hold on % clf清空图形窗。逗号用来分隔两个指令。清空图形窗。逗号用来分隔两个指令。lplot(0,z1,z12,-b,LineWidth,3)lplot(0,z12,-r,LineWidth,3)lplot(z1,z12,ob,MarkerSize,8)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.0000iMA

32、TLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第50页6. 面向数组设计的运算面向数组设计的运算MATLAB特点之二特点之二l在在MATLAB中中, 标量数据被看作标量数据被看作 的数组(的数组(Array)数据。所有的数据都被存放在适当大小的数组中。数据。所有的数据都被存放在适当大小的数组中。l为加快计算速度(运算的向量化处理),为加快计算速度(运算的向量化处理),MATLAB对对以数组形式存储的数据设计了两种基本运算:以数组形式存储的数据设计了两种基本运算:一种是所谓的数组运算;一种是所谓的数组运算;另一种是所谓的矩阵运算。另一种是所谓的矩阵运算。)

33、 11 ( MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第51页6. 面向数组设计的运算面向数组设计的运算MATLAB特点之二特点之二l二维数组输入的三大要素:数组标识符二维数组输入的三大要素:数组标识符“ ”;元素分;元素分隔符隔符空格空格或或逗号逗号“,”;数组行间分隔符;数组行间分隔符分号分号“;”或或“回回车键车键”。注意:所有标点符号都是注意:所有标点符号都是“英文状态的符英文状态的符号号”。 AR= 1,3;2,4 AI=5 7 6 8 MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第52页l

34、函数函数real, imag, abs, angle是同时、并行地作用于数组的每个元是同时、并行地作用于数组的每个元素。对素。对4个元素运算所需的时间大致与对单个元素所需时间相同。个元素运算所需的时间大致与对单个元素所需时间相同。这有利于运算速度的提高。这是这有利于运算速度的提高。这是“向量化向量化”运算的一种形式。运算的一种形式。l本例给出了循环法求各元素模和幅角的指令。这是很不有效的计本例给出了循环法求各元素模和幅角的指令。这是很不有效的计算方法。对于算方法。对于MATLAB以外的许多编程语言来说,可能不得不采以外的许多编程语言来说,可能不得不采用用“循环循环”处理方式来解本例。处理方式来

35、解本例。记住:对于记住:对于MATLAB来说,应该来说,应该尽量摒弃尽量摒弃“循环循环”处理,而采用处理,而采用“向量化向量化”处理方式。处理方式。(2)求实部、虚部、模和幅角)求实部、虚部、模和幅角 A_real=real(A); A_image=imag(A) Am2=abs(A); Aa2=angle(A)*180/pi (1)创建复数数组)创建复数数组AR=1,3;2,4;AI=5,7;6,8;A=AR-AI*i%形成复数矩阵形成复数矩阵MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第53页l本例第二条指令中的本例第二条指令中的“.*”符号表

36、示乘法是在两个数组相同位符号表示乘法是在两个数组相同位置上的元素间进行的。本书把这种乘法称为置上的元素间进行的。本书把这种乘法称为“数组乘数组乘”。数组。数组乘的引入,不但使得程序简洁自然,而且避免了耗费机时的乘的引入,不但使得程序简洁自然,而且避免了耗费机时的“循环计算循环计算”。关于数组运算的详细叙述请见第。关于数组运算的详细叙述请见第3章。章。l本例第二条指令是典型的本例第二条指令是典型的“向量化向量化”处理形式。处理形式。t=0:pi/50:4*pi; %定义自变量定义自变量t的取值数组的取值数组y=exp(-t/3).*sin(3*t);%计算计算y数组。注意乘法符前面小黑点。数组。

37、注意乘法符前面小黑点。plot(t,y,-r,LineWidth,2)%绘制曲线绘制曲线axis(0,4*pi,-1,1)xlabel(t),ylabel(y) MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第54页l只有当两个矩阵的只有当两个矩阵的“内维大小相等内维大小相等”时,矩阵乘法才能进行。时,矩阵乘法才能进行。本例中,本例中,矩阵矩阵A的列数与矩阵的列数与矩阵B的行数相等的行数相等,所以可以进行,所以可以进行A乘乘B。l从表达方式看,从表达方式看,“矩阵相乘矩阵相乘”的指令格式与的指令格式与“标量相乘标量相乘”指令指令格式一样。在其他编程语

38、言中,矩阵乘法不得不依赖格式一样。在其他编程语言中,矩阵乘法不得不依赖“循环循环”进行。进行。lMATLAB之所以能把矩阵运算表达得像标准之所以能把矩阵运算表达得像标准“线性代数线性代数”那样那样简洁易读、自然流畅,那是由于简洁易读、自然流畅,那是由于MATLAB的设计者采用了的设计者采用了“面面向对象向对象”编程技术。编程技术。B=3+2i,2+6i;5+3*i,4-2*i %复数数组的又一种输入方式复数数组的又一种输入方式%注意标点符号的作用注意标点符号的作用C=A*B %矩阵乘法矩阵乘法 A = 1-5i 3-7i 2-6i 4-8i C = 49.0000 -39.0000i 30.0

39、000 -38.0000i 62.0000 -42.0000i 40.0000 -40.0000iMATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第55页1.4 Command Window操作要旨操作要旨1.4.1 指令窗的显示方式指令窗的显示方式l 从MATLAB7.0起,指令窗中的字符、数值等采用更为醒目的分类显示:对于输入指令中的if, for, endif, for, end等控制数据流的MATLAB关键词自动地采用蓝色蓝色字体显示。对于输入指令中的非控制指令、数码,都自动地采用黑色黑色字体显示。输入的字符串自动呈现为紫色紫色字体。1. 默认

40、的默认的输入输入显示方式显示方式MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第56页2. 运算结果运算结果的显示:的显示:黑色,黑色,警告出错信息用红色字体。指指 令令含含 义义举举 例例 说说 明明formatformat short通常保证小数点后四位有效,最多不超过通常保证小数点后四位有效,最多不超过7位;对于位;对于大于大于1000的实数,用的实数,用5 位有效数字的科学记数形式显位有效数字的科学记数形式显示。示。 (默认的显示格式(默认的显示格式 )314.159被显示为被显示为314.1590;3141.59被显示为被显示为3.1416

41、e+003format long15 位数字表示位数字表示3.14159265358979format short e5 位科学记数表示位科学记数表示3.1416e+00format long e15 位科学记数表示位科学记数表示3.14159265358979e+00format short g从从format short 和和format short e中自动选择最佳记数方式中自动选择最佳记数方式。3.1416format long g从从format long 和和format long e中自动选择最佳记数方式中自动选择最佳记数方式3.14159265358979format rat近

42、似有理数表示近似有理数表示355/113format hex十六进制表示十六进制表示400921fb54442d18format +显示大矩阵用。正数、负数、零显示大矩阵用。正数、负数、零 分别用分别用 + , - , 空格表示。空格表示。+format bank(金融)元、角、分表示(金融)元、角、分表示3.14format compact显示变量之间没有空行显示变量之间没有空行format loose 在显示变量之间有空行在显示变量之间有空行说明:说明:format short显示格式是默认的显示格式显示格式是默认的显示格式 。 该表中实现的所有格式设置仅在该表中实现的所有格式设置仅在MA

43、TLAB的的当前执行过程中有效。当前执行过程中有效。 MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第57页1.4.2 指令行中的标点符号指令行中的标点符号l 标点符号的使用标点符号的使用 在在 MATLAB 中,标点符号有着充分的意义,可以中,标点符号有着充分的意义,可以用标点符号进行运算,或者标点符号可以包含特用标点符号进行运算,或者标点符号可以包含特定的意义。定的意义。 标点符号定义标点符号定义逗号(,)数组列分隔符;函数参数分隔符点(.)小数点;结构体成员访问分号(;)数组行分隔符;取消运行显示百分号(%) 注释语句的标识冒号(:)在数组中应

44、用较多,如生成等差数列引号()定义字符串圆括号 ( )指定运算优先级;函数参数调用;数组索引方括号( ) 定义矩阵花括号 ( ) 定义单元数组下连符( _ ) 变量函数命名省略号 () 续行符“At”号( ) 形成函数句柄空格 ( )输入量数组元素间分隔符等号(=) 赋值语句说明为确保指令正确执行,以上符号一定要在英文状态下输入。因为说明为确保指令正确执行,以上符号一定要在英文状态下输入。因为MATLAB不能不能识别含有中文标点的指令。识别含有中文标点的指令。 MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第58页l分号(分号(;) 分号用于区分数组

45、的行,或者用于一个语分号用于区分数组的行,或者用于一个语句的结尾处,取消运行显示。句的结尾处,取消运行显示。l百分号(百分号(%) 该符号用于在程序文本中添加注释,增加该符号用于在程序文本中添加注释,增加程序的可读性。百分号之后的文本都将视程序的可读性。百分号之后的文本都将视作注释,系统不对其进行编译。作注释,系统不对其进行编译。MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第59页1.4.3 指令窗的常用控制指令指令窗的常用控制指令l。 指令指令含含 义义指令指令含含 义义ans最新计算结果的默认变量名edit打开M文件编辑器cd设置当前工作目录。

46、exit关闭/退出 MATLABclf清除图形窗quit关闭/退出 MATLABclc清除指令窗中显示内容help指令窗中显示帮助信息clear 清除MATLAB工作空间中保存的变量more使其后的显示内容分页进行dir列出指定目录下的文件和子目录清单return返回到上层调用程序;结束键盘模式doc在MATLAB浏览器中,显示帮助信息type显示指定M文件的内容diary 把指令窗输入记录为文件which 指出其后文件所在目录MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第60页1.4.4 指令窗中指令行的编辑指令窗中指令行的编辑l为方便用户操作,

47、为方便用户操作,MATLAB 中定义了一些快捷键。掌握一些常用的操作命中定义了一些快捷键。掌握一些常用的操作命令和快捷键,可以使得对令和快捷键,可以使得对 MATLAB 的操作更加便利。的操作更加便利。 键名键名作作 用用键名键名作作 用用前寻式调回已输入过的指前寻式调回已输入过的指令行令行PageUp前寻式翻阅当前窗中的内容后寻式调回已输入过的指后寻式调回已输入过的指令行令行PageDown 后寻式翻阅当前窗中的内容在当前行中左移光标Delete删去光标右边的字符在当前行中右移光标Backspace 删去光标左边的字符Home使光标移到当前行首端Esc清除当前行全部内容End使光标移到当前行

48、的尾端Ctr+C可中断程序执行Tab命令补全功能命令补全功能MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第61页l默认情况下命令历史窗口位于默认情况下命令历史窗口位于右下角右下角,显示用户曾经输入,显示用户曾经输入过的命令,并显示输入的时间,方便用户查询。过的命令,并显示输入的时间,方便用户查询。l对于命令历史窗口中的命令,用户可以点击右键进行相应对于命令历史窗口中的命令,用户可以点击右键进行相应的操作。的操作。l用户可以双击再次执行命令窗口中的命令。用户可以双击再次执行命令窗口中的命令。 命令历史窗口1.5 Command History历史指令

49、窗历史指令窗MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第62页应用功能应用功能操操 作作 方方 法法简捷操作方法简捷操作方法单行或多单行或多行指令的行指令的复制复制点亮单行或多行指令;按鼠标右键引出现场菜点亮单行或多行指令;按鼠标右键引出现场菜单;选中单;选中Copy菜单项,即可用复合键菜单项,即可用复合键 Ctrl + V 把它把它“粘贴粘贴”到任何地方(包括指令窗)。到任何地方(包括指令窗)。单行指令单行指令的运行的运行点亮单行指令;按鼠标右键引出现场菜单;选点亮单行指令;按鼠标右键引出现场菜单;选中中Evaluate Selection 菜

50、单项,即可在指令窗菜单项,即可在指令窗中运行,并见到相应结果。中运行,并见到相应结果。鼠标左键双鼠标左键双击单行指令击单行指令多行指令多行指令的运行的运行点亮多行指令;按鼠标右键引出现场菜单;选点亮多行指令;按鼠标右键引出现场菜单;选中中Evaluate Selection 菜单项,即可在指令窗菜单项,即可在指令窗中运行,并见到相应结果。(详见例中运行,并见到相应结果。(详见例1.5-1)把多行指把多行指令写成令写成M文件文件点亮多行指令;按鼠标右键引出现场菜单;选点亮多行指令;按鼠标右键引出现场菜单;选中中 Create M-File 菜单项,就引出书写着这菜单项,就引出书写着这些指令的些指

51、令的M文件编辑调试器;再进行相应操作,文件编辑调试器;再进行相应操作,即可得所需即可得所需M文件。文件。Create ScriptMATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第63页1.6 Current Directory、路径设置器和文件管理、路径设置器和文件管理l当前路径窗口显示当前路径下的所有文件和文件夹当前路径窗口显示当前路径下的所有文件和文件夹及其相关信息,并且可以通过当前路径工具栏或右及其相关信息,并且可以通过当前路径工具栏或右键菜单对这些文件进行操作键菜单对这些文件进行操作 。当前路径窗口MATLAB 2010 教程教程 第第1章章

52、 基础准备及入门基础准备及入门2022-7-2第64页1.6.1 Current Directory当前目录浏览器简介当前目录浏览器简介应应 用用 功功 能能操操 作作 方方 法法简捷操作方法简捷操作方法运行运行M文件文件点亮待运行文件;按鼠标右键引出现场菜单;点亮待运行文件;按鼠标右键引出现场菜单;选中选中Run菜单项,即可使该菜单项,即可使该M文件运行。文件运行。编辑编辑M文件文件点亮待运行文件;按鼠标右键引出现场菜单;点亮待运行文件;按鼠标右键引出现场菜单;选中选中Open 菜单项,此菜单项,此M 文件就出现在编辑文件就出现在编辑/调调试器中。试器中。鼠标左键双击鼠标左键双击M文件。文件

53、。把把MAT文文件全部数据件全部数据输入内存输入内存点亮待装数据文件;按鼠标右键引出现场菜单;点亮待装数据文件;按鼠标右键引出现场菜单;选中选中Open 菜单项,此文件的数据就全部装入菜单项,此文件的数据就全部装入工作内存。工作内存。鼠标左键双击鼠标左键双击MAT文件。文件。把把MAT文文件部分数据件部分数据输入内存输入内存点亮待装载数据文件;按鼠标右键引出现场菜点亮待装载数据文件;按鼠标右键引出现场菜单;选中单;选中Import Data 菜单项,引出数据预览菜单项,引出数据预览选择对话框选择对话框“Import Wizard”;在此框中;在此框中“勾勾选选”待装数据变量名,点击待装数据变量

54、名,点击 Finish 键,就完成键,就完成操作。操作。MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第65页1.6.2 用户目录和当前目录设置用户目录和当前目录设置l用户目录用户目录lMATLAB R2010a在安装过程中,会自动生成一个目在安装过程中,会自动生成一个目录录C:Documents and SettingsacerMy DocumentsMATLAB。该目录专供存放用户自己的。该目录专供存放用户自己的各类各类MATLAB文件。文件。l把用户目录设置成当前目录的方法把用户目录设置成当前目录的方法交互界面设置法指令设置法 cd c:myd

55、ir MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第66页1.6.3 MATLAB 的搜索顺序的搜索顺序 l 在命令窗口中或在命令窗口中或M 文件中输入元素名称时,文件中输入元素名称时,MATLAB 按照下面顺序搜索该元素的意义,以元素按照下面顺序搜索该元素的意义,以元素 cont 为例:为例:1)查找工作区中是否存在名为)查找工作区中是否存在名为 cont 的变量;的变量;2)检查检查cont是不是内建函数(是不是内建函数(Built-in Function);假);假如不是,再往下执行。如不是,再往下执行。3)在当前路径中查找是否存在名)在当前

56、路径中查找是否存在名 cont.m 的文件;的文件;4)按照顺序查找搜索路径中是否存在该文件。如果存)按照顺序查找搜索路径中是否存在该文件。如果存在多个名为在多个名为 cont.m 的文件,则调用首先查到的文件。的文件,则调用首先查到的文件。l在为变量和函数命名时,需考虑在为变量和函数命名时,需考虑 MATLAB 的路径搜索的路径搜索顺序,合理为变量和函数命名,保证程序的正确运行。顺序,合理为变量和函数命名,保证程序的正确运行。 MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第67页1.6.4 MATLAB搜索路径的扩展搜索路径的扩展l利用设置路径对

57、话框修改搜索路径利用设置路径对话框修改搜索路径 l 除除 MATLAB 默认的搜索路径外,用户可以设置搜索路径。设默认的搜索路径外,用户可以设置搜索路径。设置方法为:选择置方法为:选择 MATLAB 窗口中的窗口中的 File | Set Path 命令,进命令,进入路径搜索对话框。入路径搜索对话框。添加选中目录 添加选中目录及其子目录 MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第68页利用指令利用指令path 设置路径设置路径u利用利用path 指令设置路径的方法对任何版本的指令设置路径的方法对任何版本的MATLAB都适用。假设待纳入搜索路径的

58、目录为都适用。假设待纳入搜索路径的目录为 c:my_dir ,那,那么以下任何一条指令均能实现:么以下任何一条指令均能实现:path(path,c:my_dir)%把把c:my_dir设置在搜索设置在搜索路径的尾端路径的尾端path(c:my_dir,path)% 把把c:my_dir设置在搜索设置在搜索路径的首端路径的首端MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第69页1.7.1 工作空间浏览器和变量可视化工作空间浏览器和变量可视化 1.7 工作空间浏览器和数组编辑器工作空间浏览器和数组编辑器l工作区窗口中显示当前工作区中的所有变量及其大小工

59、作区窗口中显示当前工作区中的所有变量及其大小和类型等。通过工作区可以对这些变量进行管理。其和类型等。通过工作区可以对这些变量进行管理。其中包含了工作区工具栏和显示窗口。通过工具栏可以中包含了工作区工具栏和显示窗口。通过工具栏可以新建或删除变量、导入导出数据、绘制变量的图形等。新建或删除变量、导入导出数据、绘制变量的图形等。另外右键单击变量名可以对该变量进行操作。另外右键单击变量名可以对该变量进行操作。工作区窗口MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第70页1.7.2 工作空间的管理指令工作空间的管理指令1. 查询指令查询指令who及及whos

60、2.从工作空间中删除变量和函数的指令从工作空间中删除变量和函数的指令clearclear % 清除工作空间中的所有变量清除工作空间中的所有变量clear var1 var2 %清除工作空间中的清除工作空间中的var1和和var2变量变量clear all 3.整理工作空间内存碎片的指令整理工作空间内存碎片的指令pack1.7.3 Variable Editor 变量编辑器变量编辑器MATLAB 2010 教程教程 第第1章章 基础准备及入门基础准备及入门2022-7-2第71页1.7.4 数据文件和变量的存取(数据文件和变量的存取(save 和和load )1.借助工作空间浏览器产生保存变量的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论