Matlab2012经典超强教程

所需积分/C币:42 2018-04-09 10:06:44 3.28MB PDF

《MATLAB揭秘》电子版自学教程优质资源,David McMahon 著,郑碧波 译 第一章 MATLAB 环境;第二章:向量与矩阵;第三章:绘图与图形;第四章:统计和MATLAB编程介绍;第五章:代数方程求解和其它符号工具;第五章:代数方程求解和其它符号工具;第七章: ODE的数值解;第八章:积分;第九章:变换;第十章:曲线拟合;第十章:曲线拟合;最终测试
System Identification Toolbox 动态系统辨识。 Desktop操作桌面的启动 1.2.1 MATLAB的启动 (1)方法 当 MATLAB安装到硬盘上以后,一般会在 Windows桌面上自动生成 MATLAB程序图 标。在这种情况下,只要直接点击那图标即可启动 MATLAB,打开如图1.2-1的 MATLAB 操作桌面( Desktop)。注意:本书作者建议用户优先采用启动“方法”。 (2)方法二 假如 Windows桌面上没有 MATLAB图标,那么点击 matlab文件火下的快捷方式图标 mATLAB。 (3)方法 点击 matlab bin win32文件夹中的 matlab.exe(它的图标是 MATLAB),也会自动创建类 似图L.2-1所示的 Desktop操作桌面。唯一的区别是:用这种方式创建的 MATLAB工作环 境以 MATLAB所在的根目录为当前目永。 1.2.2 Desktop操作桌面简介 MATLAB R2006a版的 Desktop操作桌面,是一个高度集成的 MATLAB工作界面。其 默认形式,如图1.2-1所示。该桌面的上层铺放着三个最常用的界面:指令窗( Command Window)、当前目录( Current Directory)浏览器、历史指令( Command History)窗。在当 前目录窗的下面还铺放一个 MATLAB内存工作空间( Workspace)浏览器 SIMULINK 模块库浏览器 帮助浏览器 当前目录显示 目录浏览器 MATLAB Eile Edit Debug Desktop Window Help Shortcuts a How to Add a That s Nev Current Direc.,x Command Window All Files To get started, select MATLAB Help or Demd Banim zzy1 m 4n12. fig > Bn12. m Current Directory orkspace Command history %-06-3-26上午8 %--06-3-26下午5:1 %-06-396下午8:18 AStart 捷径键 历史指令窗 工作空间浏览器 当前目录浏览器 指令窗 图1.2-1 Desktop操作昊面的默认外貌 ●指令窗 该窗是进行各种 MATLAB操作的最主要窗口。在该窗内,可键入各种送给 MATLAB运作的指令、函数、表达式;显示除图形外的所有运算结果;运行错误时, 给出相关的出错提示。 历史指令窗 该窗记录凵经运作过的指令、函数、表达式,及它们运行的日期、时问。该窗中的 所有指令、文字都允许复制、重运行及用于产牛M文件 当前目录浏览器 在该浏览器中,展示着子日录、M文件、MAT文件和MDL文件等。对该界面上 的M文件,可直接进行复制、编辑和运行;界面上的MAT数据文件,可直接送入 MATLAB工作内存。此外,对该界面上的子目录,可进行 Windows平台的各种标准操 作 ●工作空间浏览器 该浏览器默认地位于当前日录浏览器的后台。该窗口罗列出 MATLAB工作空间中 所有的变量名、大小、字节数:在该窗中,可对变量进行观察、图示、编辑、提取和保 存 ●捷径( Start)键 引出通往本 MATLAB所包含的各种组件、模块库、图形用户界面、帮助分类目录 演小算例等的捷径,以及向用户提供自建快捷操作的环境。 Command window运行入门 MATLAB的使用方法和界面有多种形式。但最基本的,也是入门时首先要掌握的是 MATLAB指令窗( Command window)的基木表现形态和操作方式。木书作者相信,通过 本节的文字解释,读者将对 MATLAB使用方法有一个良好的初始感受。 3.1 Command window指令窗简介 MATLAB指令窗默认地位于 MATLAB桌面的右方(见图1.2-1)。假如,用户希望得到 脱离操作桌面的几何独立指令窗,只要点击该指令窗右上角的η键,就可获得如图1.3-1 所示的指令窗 Command Window File Edit Debug Desktop Window Hely To get started, select MATLAB Help or la 〉(12+2*(7-4))/3^2 ans 2 图 几何独立的指令窗 了说明〗 图1.3-1指令窗表现了例1.3-1运行的情况。 若用户希望让独立指令窗嵌放回桌面,则只要点击 Command window右上角的ν按钮, 或选中指令窗菜单{ Desktop: Dock Command window}便可。 L3.2 最简单的计算器使用法 为易于学习,本节以算例方式叙述,并通过算例归纳些 MATLAB最基本的规则和语 法纟 结构。建议读者,在深入学习之前,先读一读本节。 【例13-1】求[12+2×(7-4:32的算术运算结果。本例演示:最初步的指令输入形式 和必需的操作步骤。 (1)用键盘在 MATLAB指令窗中输入以下内容 >>(12+2*(7-4))/3^2 (2)在上述表达式输入完成后,按[ Enter键,该指令被执行,并显示如下结果。 ans 〖说明〗 ●本例在指令窗中实际运行的情况参见图1.3-1。 ●指令行“头首”的“>>”是“指令输入提示符”,它是自动生成的。本书在此后的输 入指令前将不再带提示符“>”。理由是:(A)为使本书简洁;(B)本书用 MATLAB 的M-book写成,而在 M-book中运行的指令前是没有提示符的。 MATLAB的运算符(如+、-等)都是各种计算程序中常见的习惯符号 条指令输入结束后,必须按[ Enter]键,那指令才被执行。 由于木例输入指令是“不含赋值号的表达式”,所以计算结果被赋给 MATLAB的一个 默认变量“ans”,它是英文“ answer”的缩写 【例1.3-2】“续行输入”法。本例演小:或由于指令太长,或出于某种需要,输入指令行必 须多行书写时,该如何处理。 s=1-1/2+1/3-1/4+.. 1/5-1/6+1/7-1/8 0.6345 〖说明〗 MATLAB用3个或3个以上的连续黑点表小“续行”,即表小下一行是上一行的继续。 本例指令中包含“赋值号”,因此表达式的计算结果被赋给了变量S 指令执行后,变量S被保仔在 MATLAB的L作空间( Workspace)中,以备后用。如 果用户不用 clear指令清除它,或对它重新赋值,那么该变量公一直保有在工作空间中, 直到本 MATLAB指令窗被关闭为止 L3.3 数值、变量和表达式 前节算例只是表演了“计算器”功能,那仅是 MATLAB全部功能中小小一角。为深入 学习 MATLAB,有必要系统介纽一些基本规定。本节先介绍关于变量的若干规定。 数值的记述 MATLAB的数值采用习惯的十进制表示,可以带小数点或负号。以下记述都合法。 0.001 9.456 13e-3 4.5e33 在采用IEFE浮点算法的计算机上,数值通常采用“占用64位内存的双精度”表示 其相对精度是eps( MATLAB的·个预定义变量),大约保持有效数字16位。数值范围大 致从1008到1008。 变量命名规则 变量名、函数名是对字母大小写敏感的。如变量 myvar和MyVa表示两个不同的变量 sin是 MATLAB定义的正弦函数名,但SIN,Sin等都不是。 ●变量名的第一个字符必须是英文字母,最多可包含63个字符(英文、数字和下连符)。 如myar201是合法的变量名。 ●变量名中不得包含空格、标点、运算符,但可以包含下连符。如变量名myar_201是 合法的,且读起来更方便。而my,va201由丁逗号的分隔,表示的就不是一个变量名 三 MATLAB默认的预定义变量 在 MATLAB中有一些所谓的预定义变量( PredefinedⅤ ariable),见表1.3-1。每当 MATLAB启动,这些变量就被产生。这些变量都有特殊含义和用途。建议:用户在编写指 令和程序时,应尽可能不对表1.3-1所列预定义变量名重新赋值,以免产生混淆。 表13-1 MATLAB中最常用的预定义变量 匚预定义变量 含 义 定义变量 义 dns 计算结果的默认变量名NaN或nan不是一个数( Not a number), eps 机器零阈值 如00,∞/∞ Inf或inf无穷大,如10 nargin 函数输入宗量数日 虚单元i=j=√-1 nargout 函数输出宗量数目 p 员周率丌 realmax 最大正实数 rcalmin 最小正实数 〖说明〗 假如用户对表中任何一个预定义变量中进行赋值,则那个变量的默认值将被用户新赋的 值“临时”覆盖。所谓“临时”是指:假如使用clea指令清除 MATLAB内存中的变 量,或 MATLAB指令窗被关闭后重新启动,那么所有的预定义变量将被重置为默认值, 不管这些预定义变量曾被用广赋过什么值。 ●在遵循IEEE算法规灲的机器上,被0除是允许的。它不会导致程序执行的中断,只 是在给出警告信息的同时,用一个特殊名称(如Inf,NaN)记述。这个特殊名称将在 以后的计算中以合理的形式发挥作用。 【例13-3】运用以下指令,以便初步了解预定义变量。本例演示:预定义变量已经存在的 事实;若干顶定义变量的数量级概念。 format long rea⊥max ans 1,797593134862316e+338 realmin ans 2.225073858507201e-308 s ans 2.220446049250313e-016 p工 ans 3.14159265358979 四运算符和表达式 (1)经典教科书上的算术运算符在 MATLAB中的表达方式,见表1.3-2。 表1.3-2 MATLAB表达式的基本运算符 数学表达式矩阵运算符 数组运算符 atb a + b a+b 加减乘除幂 a-b a-b a a x b C÷ b a/b或b、a ab或ba a b 匚圆括号 〖说明〗 ●因为 MATLAB面向复数设计,其所有运算定义在复数域上。所以对于方根问题,运算 只返还一个“主解”。要得复数的全部方根,必须专门编写程序(见例1.3-6)。 因为 MATLAB面向矩阵/数组设计,标量被看作(1×1)的矩阵数组 数组运算的“乘、除、幂”规则与相应矩阵运算根本不同。前者的算符比后者多一个“小 黑点”。(参见例1.3-9,例1.3-10。更详细说明请看第3章) MATLAB用左斜杠或右斜杠分别表示“左除”或“右除”运算。对标量而言,“左除 和“右除”的作用结果相同。但对矩阵来说,“左除”和“右除”将产生不同的结果。 (2) MATlAB书写表达式的规则与“手写算式”几乎完全相同 表达式由变量名、运算符和函数名组成。 表达式将按与常规相同的优先级自左至右执行运算。 优先级的规定是:指数运算级别最高,乘除运算次之,加减运算级别最低。 ●括号可以改变运算的次序。 书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。 五面向复数设计的运算— MATLAB特点之一 MATLAB的所有运算都是定义在复数域上的。这样设计的好处是:在进行运算时,不 必像其他程序语言那样把实部、虚部分开处理。为描述复数,虚数单位用预定义变量i或j 衣示 复数z=a+bi=re直角坐标表示和极坐标表示之间转换的 MATLAB指令如下。 real(z 给出复数z的实部a=rcos。 imag(z) 给出复数z的虚部b=rsin。 abs()给出复数z的模√a2+b2 aI 以弧度为单位给出复数z的幅角 arctan b 【例1.3-4】复数z1=3+4i,z,=1+2i,z2=2e6表达,及计算z=。本例演示:正 确的复数输入法;涉及复数表示方式的基本指令。 (1)经典教科书的直角坐标表示法 z1=4+3立 号合法,但建议少用或不用 4.C000+3.000Ci 〖说明〗 本书建议读者不要使用这种输入格式。因为这种书写格式,只适用于“数值标量”复数 而不适用于“数值矩阵”。 ●在这种书写格式中,4是一个完整的虚数,在4和i之间不许“空格”存在。 (2)采用运算符构成的直角坐标表示法和极坐标表示法 z2=1+2*立 号运算符构成的直角坐标表小法 z3=2*exp(i*pi/6) 8运算符构成的极坐标表示法 z=z1★z2/z3 z2 00+2.0000i 1.7321+1.0000i 1.8840+5.2631i (3)复数的实虚部、模和嘔角计算 real z=real (z) image z=imag (z) magnitude z=abs(z) angle z radian=angle(z) 弧度单位 angle z degree=angle(z)*180/pi 各度数单位 ea12= 1,8840 image z 5.2631 magni tude 7. 5.5902 angle z radian 2271 angle z degree 0.3048 【例13-5】图示复数z1=4+3i,z2=1+2i的和(配图1.3-2)。本例演示: MATLAB的运 算在复数域上进行:指令后“分号”的作用;复数加法的几何意义;展小 MATLAB的可视 化能力(让读者感受,但不要求理解) 1=4+3*i;z2=1+2*i;号在一个物理行中,允许输入多条指令。 各但各指令间要用“分号”或“逗号”分开 告指令后采用“分号”,使运算结果不显示。 z12=z1+z2 号以下用于绘图 clf hold on 告c1£清空图形窗。逗号用来分隔两个指令。 plot([0, z1, z12],-b, 'LineWidth,3) plot([0, z12],-r, '', 3) plot([zl, z12],ob,'MarkerSize, 8) hold off, grid on, axis equal axis([0,6,0,6]) text(3.5,2.3,'z1 text(5,4.5,"z2") text(2.5,3.5,"z121) xlabel('real' ylabel('image) shg z12= 5.0000+5.000Ci z12 ① 3 real 图13-2两个复数相力 【例1.3-6】月 MATLAB计算√-8能得到-2吗(配图1.33)?本例演示: MATLAB运

...展开详情
img

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐