matlab(教程)

上传人:jiups****uk12 文档编号:45556298 上传时间:2018-06-17 格式:PPT 页数:212 大小:10.60MB
返回 下载 相关 举报
matlab(教程)_第1页
第1页 / 共212页
matlab(教程)_第2页
第2页 / 共212页
matlab(教程)_第3页
第3页 / 共212页
matlab(教程)_第4页
第4页 / 共212页
matlab(教程)_第5页
第5页 / 共212页
点击查看更多>>
资源描述

《matlab(教程)》由会员分享,可在线阅读,更多相关《matlab(教程)(212页珍藏版)》请在金锄头文库上搜索。

1、第一章 概述1.1计算机辅助分析/仿真 1.仿真的定义仿真的基本思想是用物理的或数学的模型来类比模 仿现实过程,以寻求过程的规律。它的基础是相似性。相似性一般表现为两类:几何相似、数学相似。相似性几何相似结构相似 功能相似联想相似机理相似2. 计算机辅助分析/仿真出现于20世纪40年代,它是指在不干扰真实系统运 行的情况下,为研究系统的性能而构造在数字计算机上运行 表示真实系统模型的一种技术。它利用计算机对所研究的结 构、功能和行为以及人的思维过程和行为,进行动态性的比 较和模仿,利用建立的仿真模型对系统进行研究和分析,并 可将系统过程演示出来。控制理论控制理论相似理论相似理论信息处理信息处理

2、 计算机技术计算机技术数数 字字 仿仿 真真计算机 系统模型专家经验知识专家经验知识 统统 计计 数数 据据 信信 息息 资资 料料仿真结果决决 策策3、实现计算机仿真的步骤模模型表达型表达 Model FormulationModel Formulation数数据准备据准备 Data PreparationData Preparation系系统定义统定义 System DefinitionSystem Definition模模型变换型变换 Model Model TranslationTranslation实现与维护实现与维护 Implementation Implementation 此时

3、,Matlab只完成该命令所要求的计算任务,其计算结果不会 显示。这项功能在程序设计中是非常必要的。键名作用键名作用 前寻式调回已输入过的命 令Home使光标移到当前 行的首端 后寻式调回已输入过的命 令End使光标移到当前 行的尾端 在当前行中左移光标Delete删去光标左边的 字符 在当前行中右移光标Backspa ce删去光标右边的 字符Page Up前寻式翻阅当前窗口中的内 容Esc清除当前行的全 部内容 Page Dow n后寻式翻阅当前窗口中的内 容2.图形窗口(Figure Window)Matlab的强大功能之一是其优秀的图形功能。对于 任何作图命令,Matlab将打开另一个窗

4、口来绘制与输出图 形,这样的窗口在Matlab中被称为图形窗口。在同一个图形窗口中,可以绘制多个图形,也可生 成多个图形窗口,并选择其中的一个图形窗口,在其中绘制 图形。生成图形窗口的方法比较多,在没有图形窗口存在时 ,每个绘图函数都能自动生成一个图形窗口;也可用figure 命令生成一个新的图形窗口。二、Matlab的文件类型 M文件M文件以字母m为其扩展名,例如start.m。一般说 来,M文件是ASCII码文本文件,可以用任何文本编辑器进 行编辑。程序M文件函数M文件共同特征:内容是符合Matlab语法的语句构 成。在Matlab命令窗口下键入文件名即可执 行M文件的所有语句规定的计算任

5、务或完成 一定的功能。程序M文件函数M文件区别:1.函数M文件的第一行必须是关键字 function开始的函数说明语句。2.程序M文件 创建的变量是Matlab工作空间中的变量,工 作空间中的其它程序或函数可以共享,而M函 数文件中创建的所有变量除了全程变量外, 均为局限于函数运行空间内的局部变量;3.函 数M文件可以使用传递参数,所以函数M文件 的调用式中可以有输入参数和输出参数,而 程序M文件则没有这个功能。2.MAT文件MAT文件是Matlab的二进制数据文件,用于保存 Matlab所使用的数据。Matlab除了可以读写ASCII码形式的 数据文件外,也定义了它自己的数据存储格式,即MA

6、T文 件。 3.MEX文件MEX文件是经过Matlab编译系统编译的函数二进制 文件。MEX文件可以被直接调入Matlab系统中运行。由于 Matlab是按边解释边运行方式工作的,因此,M文件的执行 速度要比MEX文件慢得多。所以,用户通常将已调度好, 且比较大的M文件编译成MEX文件,供以后使用。2.2Matlab语言的数据结构Matlab下最常用的数值量为双精度浮点数,占8个字节(64 位),遵从IEEE记数法,有11个指数位、53位尾数及一个符号位 ,值域的近似范围为-1.710308至1.710308,其Matlab表示为为 double()。int8() 带带正负负号,8位 整数 -

7、128,127Int16() 16位 -32768,32767int32() 32位 -231,231-1 uint8() 无符号8位整数 0,255 uint()16 16位 0,65535 uint32() 32位 0,232-1 single 单单精度浮点 32位(4bytes) char 字符或字符串 每个字符占16位(2bytes)除了一般的实数数据之外,MATLAB还支持复数向量 、矩阵和字符串型矩阵,从5.0开始支持多维数组、数据结构 体、单元数据、类和对象等。 2.3常量、变量与赋值语句和基本运算 1.变量名:由字母引导,可跟字母、数字、下划线等。 注意:字母间不能有空格最多只

8、能有31个字母,Matlab将忽略多余字母不需预先经过变量声明(Variable Declaration),所有 数值均以默认的double数据类型储存变量名区分大小写 2.赋值语句 1)直接赋值赋值变量=表达式直接显示结果,若加分号不显示,若省略变量名,自动赋给保 留变量ans。 x=6*88 %计算表达式的值并赋与变量x x=528 x=6*88; 6*88 ans=528 2)函数调用语句 返回变量列表=函数名(输入变量列表)其中函数名的要求和变量名的要求是一致的,一般函数名应该 对应于Matlab路径下的一个文件。例如,函数名my_work应该对应于 my_work.m文件。返回变量列

9、表和输入变量列表均可以由若干个变量 名组成,它们之间就分别用逗号,返回变量还允许用空格分隔。%后为注释语句,它将被 Matlab忽略不执行, 但它可提高程序的可读 性,类似与C中的/在Matlab语言中还为特定常数保留了一些名称,虽 然这常量可以重新赋值,但建议在编程时应尽量避免对这些 量重新赋值。 eps机器的浮点运算误差限。PC机上eps的默认值为 2.220410-16,若某个量的绝对值绝对值 小于eps,则则可认为这认为这 个量为为0。 i和j若i和j量不被改写,则它们表示纯虚数量i。但在 Matlab程序编写过程中经常事先改写这两个变量的值,如 在循环过程中常用这两个变量来表示循环变

10、量,所以应该确 认使用这两个量时没有被改写。如果想恢复该变量,则可用 如下形式设置:i=sqrt(-1),即对-1求平方根。Inf 无穷大量+的Matlab表示,也可写成inf。同样样地,-可以表示 为为-Inf。在Matlab程序执执行时时,即使遇到了以0为为除数的运算,也不会 终终止程序的运行,而只给给出一个“除0”警告,并将结结果赋赋成Inf,这样这样 的定义义方式符合IEEE的标标准。从数值值运算编编程角度看,这这种实现实现 形 式明显优显优 于C这样这样 的非专专用语语言。 NaN 不定式(Not a Number),通常由0/0运算、Inf/Inf及其它可能的 运算得出。NaN与I

11、nf的乘积仍为NaN。 pi 圆周率的双精度浮点表示。 realmax 系统所能表示的最大值1.797710308。 realmin 系统所能表示的最小值2.225110-308。 lasterr 存放最新一次的错误信息。此变量为字符串型,如果在本次 执行过程中没出现过错误,则此变量为空字符串。 lastwarn 存放最新一次的警告信息。此变量为字符串型,如果在本 次执行过程中没出现过警告,则此变量为空字符串。3.基本运算 1)Matlab可识别+、-、*、/和运算,直接输入表达式。 2)Matlab的常用初等数学函数函数的变量是在Matlab中被规定为矩阵的变量,运 算法则是将函数逐项作用于

12、矩阵的元素上,因而运算的结果 是一个与自变量同维数的矩阵。 sin atan acosh cos sinh 双曲正弦 atanh tan cosh asin tanh acos asinhabs实数的绝对值、复数的模、字符串的ASCII码值 angle复数和幅角 sqrt方根函数 real 复数的实部 imag复数的虚部 conj 复共轭运算 round最邻近的整数截断(四舍五入) fix 向零方向截断为整数 floor 不大于自变量的最大整数 ceil 不小于自变量的最小整数 sign 符号函数 rem求余数或模运算 gcd 最大公因子 lcm最小公倍数 exp自然指数函数(以e为底) lo

13、g 自然对数函数(以e为底) log10 以10为底的对数函数变量查询函数who与whos作用都是列出在matlab工作空间中已经驻留的变量 名清单不同的是whos在给出驻留变量的同时,还给出他们 的维数及性质。 who Your variables are: A B C whosName Size Bytes ClassA 32x32 8192 double arrayB 3x3 72 double arrayC 3x3 72 double array2.4矩阵的Matlab表示 在Matlab中表示矩阵是很容易的事,例如,矩阵可以由下面的Matlab语句直接输入到工作空间中 A=1,2,3

14、;4 5,6;7 8 9 A =1 2 34 5 67 8 9方法:将矩阵的元素用方括号括起来,按矩 阵行的顺序输入各元素,元素与元素之间用 空格或逗号分开,用分号将每行的元素分 开,也可用Enter代替分号。对于大的矩阵,可以按矩阵的输入方式编辑一个M文件。例 如,如果一个名为mydata.m的文件的内容如下: A=1 2 34 5 67 8 9 那么语句 mydata将读入M文件mydata.m,并执行其语句,生成同样 的矩阵A。Matlab下也可以容易地输入向量和标量。例如,行向量和 列向量可以分别由下面两条命令直接输入: V1=1 2 3 4 %行向量输入 V1=1 2 3 4 V2=

15、1;2;3;4 %列向量输入 V2=1234请判断下面赋值表达式的结果: A=A;1 3 5 A=1 2 34 5 67 8 91 3 5Matlab语言定义了独特的冒号表达式来给行向量赋值 ,其基本使用格式为:a=s1:s2:s3其中s1为起始值,s2为步距,s3为终止值。如果s2为 负值,则要求s1的值大于s3的值,否则结果为一个空向量a。 如果省略了s2的值,则步距取默认值1。例如,前面的行向量V1可由V1=1:4语句赋值。 可以通过下面的语句定义一个行向量 a=0:0.1:1.16 a =Columns 1 through 8 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000Columns 9

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号