Matlab Simulink 仿真步骤
- 格式:doc
- 大小:525.50 KB
- 文档页数:27
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认为是原矩阵矩阵修改了部分元素或