附录一 MATLAB 软件简介
MATLAB语言是美国Mathworks公司研制开发的大型计算软件,自1985年问世以来,特别是1993年4.x Windows版本的出现,使得MATLAB语言的使用获得了巨大的发展。它的强大的矩阵处理与运算功能、丰富的图形绘制能力深受用户的青睐。控制领域的研究者与工程技术人员对此给予了极大关注,国际上众多的知名学者在此基础上先后开发出一系列的相关工具箱(toolbox),如控制系统工具箱(Control System Toolbox)、神经网络工具箱(Neural Network Toolbox)、系统辨识工具箱(Systerm Identification Toolbox)、最优化工具箱(Optimization Toolbox)、鲁棒控制工具箱(Robust Control Toolbox)等,以及集成在 MATLAB上的面向结构图的系统分析平台Simulink。从而使得MATLAB的功能得到了全面提高,几乎覆盖了控制领域各个研究分支,成为国际控制领域最为重要与流行的对控制系统进行分析研究的软件工具。本节将简要介绍一些MATLAB的最基本知识,为没有接触过MATLAN语言的控制领域的人员提供一定的基础知识。对于更加详细的内容请读者参阅相关的文献书籍与在线帮助。值得说明的是在本书前面各章节中提到的MATLAB是广义上的MATLAB含义,它将包括相关的工具箱等方面的知识与内容。
1 变量与附表达式
在MATLAB中变量名与C语言一样,要求以字母开头的字符串可以是字母、数字或下画线。例如, namestring, string_12等都是合法的变量名。变量名的长度以不超过 25个字符为限。在MATLAB中对变量名是区分大小写字母的,即同一个字母不同的大小写代附表着不同的变量。当用户在MATLAB工作空间输入一个新变量后,MATLAB将自动分配给该变量相应的内存,不需要在输入变量时加以声明。变量是MATLAB的基本运算单元,是其进行运算和编写程序的基础,由变量构成的基本语句就是赋值语句,其典型格式为
变量名=附表达式
下述示例给出了最简单的赋值语句,在MATLAB的命令窗口中输入
name_1= 4
则定义了一个变量name_1,并实现了对它的赋值,这可以通过在命令窗口上键入该变量名来检查变量是否已经被定义和赋值。得到结果为
name_1=
4
上例证实了变量name_1已经建立并且已被赋值。在MATLAB的变量中有一类变量允许作用在多个函数中,这类变量就是全局变量。对于全局变量是需要声明的,即在该变量名前冠以关键宇“global”,如在命令窗口键入
global HE
HE= 0.124;
则这样HE就变成了全局变量。
如果需要求解一个附表达式并将运算结果存于某一变量,可由下述语句实现
A=3*16+10-27/3
运行上述语句可得到
A=
49
若直接输入附表达式,而没有将运算结果赋值给变量,MATLAB将自动将结果存于内部
“ans”中并加以显示,例如输入
3*16+10-27/3
运行得到
ans =
49
如果在表达式的最后应用“;’结束,虽然不会影响对变量赋值的结果,但运算结果将不在屏幕上显示。
另外MATLAB自身具有一些内部常数或准内部变量(函数),允许用户直接加以使用,如附表1-1 所示。
附表1-1内部常数与变量
内部常数(函数)名 | 功 能 | 内部常数(函数)名 | 功 能 |
i | 虚数单位 | flops | 计算浮点运算次数 |
j | 虚数单位 | clock | 时间 |
pi | 圆周率 | date | 日期 |
inf | 无穷大 | tic,toc | 时间间隔 |
nan | 不定值 | etime | 时间间隔 |
2 基本运算符
MATLAB语言具有强大的运算功能,它能够为用户提供所需计算的各种算术与逻辑运算。附表1-2给出了MATLAB的主要算术与逻辑关系运算符及其相应的功能解释。
附表1-2 算术与逻辑运算符
运算符 | 功能解释 | 运算符 | 功能解释 | linspace函数调用的格式为
+ | 加 | == | 等于 |
- | 减 | ~= | 不等于 |
* | (矩阵)乘 | > | 大于 |
.* | 数组乘 | < | 小于 |
^ | (矩阵)乘方 | >= | 大于等于 |
.^ | 数组乘方 | <= | 小于等于 |
\ | (矩阵)左除 | & | 逻辑与 |
.\ | 数组左除 | | | 逻辑或 |
/ | (矩阵)右除 | ~ | 逻辑非 |
./ | 数组右除 | ||
3 M文件
所谓M文件就是用MATLAB语言编写的磁盘文件,该文件均以“.m”作为文件的扩展名,它们都是ASCII码的文件格式,因此可以采用任何能够生成ASC码文件格式的编辑器加以编辑。M文件分为脚本(script)文件与函数(function)文件两大类。
1.M脚本文件
M脚本文件就是根据用户要求,使用MATLAB语言组成的具有一定功能的MATLAB指令集合。M脚本文件运行后,所产生的变量驻留在MATLAB的工作空间中,只要用户不对其使用clear命令加以清除(或关闭MATLAB命令窗口),则这些变量将会一直保留在MATLAB的工作空间中。下述MATLAB语句如果以. m为扩展名存盘,就构成了M脚本文件。
num=2* [1,2」;
den=conv(conv([1,0],[1,3]),[l,2,2]);
G1=tf(num, den);
G=ss( G1);
[a, b, c, d]= ssdata(G);
Ab= a-b*c
Bb= b
Cb= c
Db=0
Step(Ab,Bb,Cb,Db)
2.M函数文件
从结构上看M函数文件的第一行一定具有函数声明行,该行是以function作为该行的关键字,它是M函数文件必须具有的内容。在该行中,函数名与函数的相关变量均被加以定义;而M函数文件的另一关键内容是M函数体,这也是M函数文件不可缺少的一部分内容,
由它实现该M函数文件的相应功能。在这两部分之间可以插入各种注释与说明,这些注释与说明的内容放在%后面,该部分内容不作为程序加以执行,而为在线帮助和阅读程序提供必要的信息。在M函数文件中所定义的变量都是内部变量,函数执行完毕后这些变量将随之消失,不会影响MATLAB的整个工作空间,M函数文件就是建立一个函数,而这个函数可以同ATLAB的基本库函数一样加以使用,附表1-3给出了MATLAB的常用基本数学函数。
附表1-3 基本数学函数
函数名 | 功能 | 函数名 | 功能 |
sin(x) | 正弦函数 | ln(x) | 自然对数ln(x) |
cos(x) | 余弦函数 | log10(x) | 以10为底的对数函数 |
tan(x) | 正切函数 | abs(x) | 模或绝对值 |
cot(x) | 余切函数 | angle(x) | 复相角 |
sec(x) | 正割函数 | conj(x) | 共轭复数 |
csc(x) | 余割函数 | imag(x) | 复数虚部 |
asin(x) | 反正弦函数 | real(x) | 复数实部 |
acos(x) | 反余弦函数 | fix(x) | 近似0的整数 |
atan(x) | 反正切函数 | floor(x) | 近似小于自身的最大整数 |
acot(x) | 反余切函数 | ceil(x) | 近似大于自身的最小整数 |
asec(x) | 反正割函数 | round(x) | 四舍五入 |
acsc(x) | 反余割函数 | rem(x,y) | x除以y的余数 |
exp(x) | 指数ex函数 | sign(x) | 符号函数 |
考查下述例子。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论