Matlab Simulink 仿真步骤

  • 格式:doc
  • 大小:525.50 KB
  • 文档页数:27

下载文档原格式

  / 27
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB基础与应用简明教程

张明等编著

北京航空航天大学出版社(2001.01)

MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MA TLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。

本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。

Chap1 MATLAB入门与基本运算

本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。

1.1 MATLAB环境与文件管理

1.2 工作空间与变量管理

1.2.1 建立数据

x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。分号“;”表示不显示定义的数据。

MATLAB还提供了一些简洁方式,能有规律地产生数组:

xx=1:10 %xx从1到10,间隔为1

xx=-2:0.5:1 %xx从-2到1,间隔为0.5

linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。对于这一类命令,只要给出数组的两端数据和维数就可以了。

xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点

xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点

1.2.2 who和whos命令

who: 查看工作空间中有哪些变量名

whos: 了解这些变量的具体细节

1.2.3 exist命令

查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。

调用格式:i=exist(…A‟);

式中,A为要查询的变量名。返回的值i表示A存在的形式:

i=1 表示当前工作空间内存在一个变量名为A的矩阵;

i=2 表示存在一个名为A.m的文件;

i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;

i=4 表示存在一个编译好的名为A.mdl的SimuLink的文件;

i=5 表示存在一个内部的MATLAB函数A();

i=0 表示不存在和A有关的变量和文件

1.2.4 clear命令

删除一些不再使用的变量。变量之间用空格分开,不能加逗号。

1.2.5 format命令

1.help命令

help sqrt: 了解求平方根命令的功能和使用方式。

2 lookfor命令

通过搜索所有MATLAB help标题,以及MATLAB搜索路径中M文件的第一行,返回包含所指定关键词的那些项。

Lookfor riccati: 得到所有解riccati方程的命令和解释语句

3. 菜单驱动的帮助

1.3 变量、数据与函数

1.3.1 变量

变量名必须是不含空格的单个词,其命名规则如下:

变量名区分大小写;

变量名最多不超过19个字符;

必须以字母打头,之后可以是任意字母、数字或下划线。标点符号在MATLAB中具有特殊含义,所以变量名中不允许使用标点符号。

1.3.2 注释和标点

百分号后所有的文字为注释。

多条命令可以放在同一行,中间用逗号或分号隔开。逗号要求显示结果,分号禁止显示结果。

1.3.3 复数表示

用,i j 和()sqrt x (x 是任意整数、实数)表示。复数和数学运算可以写成与实数相同的形式。

MATLAB 还可以用real,imag,abs,angle 命令来表示一个复数的实部、虚部、幅值和相角。 1.3.4

1.4 数据的输入与输出

1.4.1 save和load命令

(1) save: 以二进制格式将所有变量存入到matlab.mat文件中;

(2) save data: 以二进制格式将所有变量存入到data.mat文件中;

(3) save data x y z: 以二进制格式将变量x,y,z存入到data.mat文件中

1.4.2 低级文件输入输出

MATLAB提供了基于C语言的低级文件I/O命令,可以读写任意格式文件。

1.5 数组与矩阵运算

由于数组可以定义为只有一行(或一列)的矩阵,因此,所有有关矩阵的运算可以用于数组运算。

1.5.1 矩阵表示与块操作

1. 矩阵表达式

MATLAB的数组与矩阵用[ ]表示,程序可以自行解读矩阵的行、列标志和元素。定义矩阵的原则是:矩阵元素间用空格或逗号隔开,行用分号隔开。

如:a=[1 2 3;4 5 6],b=[7 8 9]

2. 矩阵转置

矩阵的转置(行、列互换)用'A表示。

若矩阵为复数矩阵,求转置时首先对矩阵元素进行转置,然后再逐项求取其共轭数值,这种转置方式双称为Hermit转置。

若x=[5.0000+1.0000i -2.0000+1.000i; 4.0000 +3.0000i]

则xx=x‟=[5.0000-1.0000i 4.0000; -2.0000-1.0000i 0-3.0000i]

3. 矩阵大小

size: 格式为:[n,m]=size(A)。n和m分别为A矩阵的行数与列数。

length: 格式为:n=length(A)。n为A数组的元素个数或A矩阵的行、列数之最大值。该函数等效于max(size(A))。

find命令:进行特殊要求的矩阵元素的定位。如[i,j]=find(A>3)指出矩阵元素中大于3的元素的行、列位置。

4. 矩阵的块操作

MATLAB提供了很多简便、智能的方式,可以对矩阵进行元素更改、插入子块、提取子块、重排子块、扩大维数等操作。冒号“:”表示“全部”。

a(1,:)=b %将a的第1行中所有元素用b的元素替代。

a(:,:)=1 %将a的所有元素设为1。

a(2,3)=10 %第2行第3列元素等于10。

MATLAB已定义的矩阵的维数可以扩大,但不能缩小,除非利用clear命令删除该矩阵。如果输入的同名矩阵的维数小于矩阵维数,MATLAB认为是原矩阵矩阵修改了部分元素或