目录

  • 项目一 自动控制系统认知
    • ● 学习目标与导读
    • ● 自动控制基础知识
    • ● 自动控制扩展知识
    • ● MATLAB软件认知
    • ● 自动控制系统实例分析
    • ● 自动控制技能训练
  • 项目二 自动控制系统数学模型建立
    • ● 学习目标与导读
    • ● 自动控制建模基础知识
    • ● 直流电机调速系统参考模型建立
    • ● 控制系统扩展知识
    • ● MATLAB 建模与应用
    • ● 建模技能训练
  • 项目三 控制系统的时域分析
    • ● 学习目标与导读
    • ● 自动控制时域分析基础知识
    • ● 时域分析扩展知识
    • ● MATLAB时域分析
    • ● 时域分析技能训练
  • 项目四   控制系统的频域分析
    • ● 学习目标与导读
    • ● 自动控制频域分析基础知识
    • ● 频域分析扩展知识
    • ● MATLAB频域分析
    • ● 频域分析技能训练
  • 项目五 自动控制系统校正
    • ● 学习目标与导读
    • ● 控制系统校正基础知识
    • ● 控制系统校正扩展知识
    • ● MATLAB频域法校正
    • ● 系统校正技能训练
  • 项目六 自动控制系统的工程应用
    • ● 自动化生产线认知
    • ● 自动化生产线
    • ● 供料单元控制系统
    • ● 装配单元控制系统
    • ● 分拣单元控制系统
    • ● 电机速度检测和PID控制
MATLAB软件认知

MATLAB是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件。MATLAB 产品家族是美国 MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境。由于其完整的专业体系和先进的设计开发思路,使得 MATLAB 在多种领域都有广阔的应用空间,特别是在 MATLAB 的主要应用方向 科学计算、建模仿真以及信息工程系统的设计开发上已经成为行业内的首选设计工具。

       MATLAB工具箱是整个体系的基座,它是一个语言编程型(M语言)开发平台,也具有强大的数学计算能力。 MATLAB产品体系的演化历程中最重要的一个体系变更是引入了Simulink,用来对动态系统建模仿真。其框图化的设计方式和良好的交互性,对工程人员本身计算机操作与编程的熟练程度的要求降到了最低,工程人员可以把更多的精力放到理论和技术的创新上去。

由于MATLAB及其丰富的Toolbox资源的支持,使得用户可以方便的进行具有开创性的建模与算法开发工作,并通过MATLAB强大的图形和可视化能力反映算法的性能和指标。所得到的算法则可以在Simulink环境中以模块化的方式实现,通过系统建模,进行系统的动态仿真以得到算法在系统中的动态验证。

1.MATLAB环境

首先简单介绍MATLAB7.0的界面,MATLAB7.0安装完成后,在程序栏里便有了MATLAB7.0选项,桌面上出现MATLAB的快捷方式,双击桌面上MATLAB的快捷方式或程序里MATLAB7.0选项即可启动MATLAB7.0,启动MATLAB7.0后对话框如图1-8,它大致包括以下几个部分:

图1-8 MATLAB启动后环境

(1)菜单栏和工具栏

MATLAB的菜单栏(单击即可打开相应的菜单)和工具栏(使用它们能使操作更快捷)与Windows程序的界面类似,只要稍加实践就可以掌握其功能和使用方法。

(2)Command Window(命令窗口)

MATLAB命令窗口是用来接受MATLAB命令的窗口。在命令窗口中直接输入命令,可以实现显示、清除、储存、调出、管理、计算和绘图等功能。MATLAB命令窗口中的符号“>>”为运算提示符,表示MATLAB处于准备状态。当在提示符后输入一段程序或一段运算式后按回车键,MATLAB会给出计算结果并将其保存在工作空间管理窗口中,然后再次进入准备状态。


为了便于对输入的内容进行编辑,MATLAB提供了一些控制光标位置和进行简单编辑的一些常用编辑键,掌握这些命令可以在输入命令的过程中起到事半功倍的效果。


在以上按键中,反复使用“↑”,可以调出以前键入的所有命令,进行修改、计算。

(3)Workspace(工作空间管理窗口)

工作空间管理窗口显示当前MATLAB的内存中使用的所有变量的变量名、变量的大小和变量的数据结构等信息,数据结构不同的变量对应着不同的图标。

(4)Current Directory(当前目录选择窗口)

当前目录选择窗口显示当前目录下所有文件的文件名、文件类型和最后修改时间

(5)Command History(命令历史记录窗口)

命令历史记录窗口显示所有执行过的命令.在默认设置下,该窗口会保留自MATLAB安装后使用过所有命令,并表明使用的时间。利用该窗口,一方面可以查看曾经执行过的命令;另一方面,可以重复利用原来输入的命令,这只需在命令历史窗口中直接双击某个命令,就可以执行该命令。

     2. MATLAB的变量

变量是任何程序设计语言的基本要素之一,与一般常规的程序设计语言不同的是,MATLAB语言并不要求对所使用的变量进行事先声明,也不需要指定变量类型,它会自动根据赋予变量的值或对变量进行的操作来确定变量的类型并为其分配内存空间。在赋值过程中,如果变量已存在,MATLAB将使用新值代替旧值,并以新的变量类型代替旧的变量类型。

MATLAB中变量的命名规则是:

(1)变量名区分大小写;

(2)变量名的长度不超过31位,第31个字符之后的字符将被忽略;

(3)变量名必须以字母开头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号。

例如 fun ,hao123 都是变量名。

MATLAB中有一些预定义的变量,这些特殊的变量称为常量。


在MATLAB语言中,定义变量时应避免与常量名相同,以免改变常量的值.

3. MATLAB的函数与基本运算符

MATLAB语言中最基本最重要的成分是函数。一个函数由函数名、输入变量和输出变量组成。同一个函数,不同数目的输入变量和不同数目的输出变量,均代表不同的含义。


4. 命令行基础

(1)简单的运算

用键盘在命令窗口输入以下内容

>> (30+3*(6-4))/3^2 %按回车键,结果显示

ans =

4

(2)MATLAB表达式的输入

    已知 ,求

   解:用键盘在命令窗口输入以下内容       

   >> x=3;y=x^3+x^(1/3)-8*sin(x)  %按回车键,结果显示

y =

   27.3133

(3)用“↑”键重新显示以前使用过的语句

   求

   用键盘在命令窗口输入以下内容        

   >> y1=2*sin(0.6*pi)/(1+sqrt(7)) %按回车键,结果显示

 y1 =

      0.5000

按“↑”键重新显示:

>>y1=2*sin(0.6*pi)/(1+sqrt(7))

用“”键修改为: 

>> y2=2*cos(0.6*pi)/(1+sqrt(7))  %按回车键,结果显示

y2 =

0.      3633

注意1)当命令行有错误,MATLAB会用红色字体提示;

     (2)同一行中若有多个表达式,则必须用分号或逗号隔开,若表达式后面是分号,将不显示结果;

 (3)在MATLAB的命令窗口中输入一个表达式或利用MATLAB进行编程时,如果表达式太长,可以用续行符号将其延续到下一行;

(4)编写MATLAB程序时,通常利用符号“%”对程序或其中的语句进行注释。

5. MATLAB的图形功能

为了从直观上认识计算结果,可以通过MATLAB的图形功能将计算结果图形化。MATLAB是通过描点、连线作图的,因此,在作二维图形和三维图形之前,必须先取得该图形上一系列点的坐标,然后利用MATLAB函数作图。

MATLAB具有丰富的获取图形输出的程序集。绘制二维图形最常用的命令是plot,对于不同形式的输入,该函数可以实现不同的功能。

(1)二维图形绘制

如果用户将X和Y轴的两组数据分别在向量x和y中存储,且它们的长度相同,则plot(x,y)命令,将画出y值相对于x值的关系图。


  如果想绘制出一个周期内的正弦曲线,则首先应该用t=0:0.01:2*pi命令来产生自变量t;然后由命令y=sin(t)对t向量求出正弦向量y,这样就可以调用plot(t,y)来绘制出所需的正弦曲线。用键盘在命令窗口输入以下内容。


      >> t=0:0.01:2*pi;  y=sin(t);   plot(t,y)  %按回车键,图形结果如图1-9所示。

                                                   图1-9 一周期正弦曲线

当要画出多条曲线,只需将坐标对依次放入plot函数即可,plot(X1,Y1, X2, Y2, … , Xn, Yn)。想绘制不同的线型、颜色、标识等的图形时,可以调用plot(X,Y, 'Linespec'),第3个输入变量为图形显示属性的设置选项:线型、颜色、标识。

线型:-实线; : 点线;-. 虚点线;--虚线;

颜色:y 黄;m紫;c青;r 红;g 绿;b 蓝;w 白;k 黑;

标识:. 点;o圆点;x 叉号;+ 加号;* 星号;s方形;d菱形;v下三角;^ 上三角;<左三角;> 右三角;p 五角星;h六角星.

应用上述符号的不同组合可以为图形设置不同的线型、颜色、标识。在调用时,选项应置于单引号内,当多于一个选项时,各选项直接相连,中间不需要任何的分隔符。如:


                                      











>> t=0:0.5:3*pi;   y=sin(t);  z=cos(t);   plot(t, y,'--k', t,z,' : k*')  %见图1-10。


     图1-10 组合曲线                          图1-11 组合曲线

 (2) 图形控制

grid函数控制平面图形的坐标网格:MATLAB提供了平面网图函数grid用于绘制坐标网格,提高图形显示效果。grid函数的调用格式如下:

grid on  在图形中绘制坐标网格;

grid off  取消坐标网格。

单独的函数grid将实现grid on 与grid off两种状态之间的转换。

如:>> t=0:0.5:3*pi;  y=sin(t);   z=cos(t);   plot(t, y,'--k', t, z,' : k*')       

>>grid on    %见图1-11。 

    (3) 图形的标注

MATLAB语言还提供了丰富的图形标注函数供用户自由地标注所绘制的图形。

1)坐标轴标注和图形标题

title ('图形标题′)  为图形添加标题

xlabel(′x轴标记′) 为x坐标轴添加标注                                         

ylabel(′y轴标记′) 为y坐标轴添加标注                                          

函数引号内的字符串将被写到图形的坐标轴上或标题位置。

如:>>t=0:0.01:2*pi;  y=sin(t);  plot(t,y)

    >>xlabel('x(0-2\pi)');

>>title('y=sin(x)')  %图1-12

在自动控制技术绘图标注过程中经常会遇到特殊符号的输入问题,为了解决这个问题,MATLAB语言提供了相应的字符转换,如:\alpha→α;\beta→β;\gamma→γ;\delta→δ;\epsilon→ε;\zeta→ζ;\pi→π;\omega→ω;\Omega→Ω等。                                                           

                                                 图1-12 图形标注

  2)文本标注

MATLAB对图形进行文本注释所提供的函数为text和gtext。

text函数的调用格式:text(x,y, '标注文本及控制字符串')其中(x,y)给定标注文本在图中添加的位置

gtext函数的调用格式:gtext('标注文本及控制字符串')使用该函数,用户可以通过使用鼠标来选择文本输入的点,单击后,系统将把指定的文本输入到所选的位置上。

如>>t=0:0.01:2*pi;  y=sin(t);  plot(t,y)

>>gtext('y=sin(t)')

执行该函数时,将鼠标放在图形上会出现“+”字型交叉线供用户添加标注的点,选择添加标注的位置后,单击鼠标左键即可在该位置上添加标注。

(4) 图形保持

在绘图过程中,经常会遇到在已存在的一张图中添加新的曲线,这就要求保持已存在的图形,MATLAB语言中实现该功能的函数是hold。

hold on 启动图形保持功能,此后绘制的图形将添加到当前的图形窗口中,并自动调整坐标轴的范围;

hold off关闭图形保持功能,新绘制图形将覆盖原图形。