陈超洋,周少武,欧青立,钟斌,卢明
(湖南科技大学 信息与电气工程学院,湖南 湘潭 411201)
MATLAB/SIMULINK在课堂教学中的应用探究
陈超洋,周少武,欧青立,钟斌,卢明
(湖南科技大学 信息与电气工程学院,湖南 湘潭 411201)
在实践课堂教学应用MATLAB辅助教学是目前实践课程教学的重要分支,以MATLAB软件在自动控制原理课堂教学中的应用为例,首先简单阐述了自动控制原理课程特点、现状和MATLAB软件在教学中的优势及必要性,然后对MATLAB编程和SIMULINK仿真各自的特点进一步进行了阐述,最后分别通过MATLAB编程和SIMULINK对课堂教学中的应用实例进行了仿真。通过实例,能看出MATLAB比传统理论教学更为直观,更易于理解、比实践教学操作更简单、实验成本更便宜、可重复性更强。
MATLAB仿真;SIMULINK仿真;自动控制原理;课堂教学
自动控制是指在没有人直接参与的情况下,利用外加的设备或装置,使机器、设备或生产过程的某个工作状态或参数自动地按照预定的规律运行。自动控制原理这门课程涉及到控制系统的模型建立、系统分析、系统设计的基本理论和相关技术,是自动化专业及其他相关工科专业的基础课程,然而自动控制原理课程的很多概念抽象, 并且数学表达及计算含量大而繁杂,这使得学生在学习和理解的过程中出现了许多的困惑。MATLAB仿真是理论联系实际的重要纽带,目前也引起了国内处许多教学工作一线的老师们的关注[1-6]。在教学过程中穿插部分MATLAB仿真或进行部分的自动控制原理实验教学,一方面提高了学生学习的积极性,另一方面能使学生更为深入地理解这门课的一些基本原理。
MATLAB是一种集数值计算、图形可视化和符号计算三大基本功能于一体的功能强大、操作简单的工程计算应用软件,不同于传统的实物实验,MATLAB仿真实验有着省时、省力、节约等特点,是实验课的重要组成部分,在工程实例仿真和数值演算等方面都有着出色的表现及应用[1][5]。SIMULINK是MATLAB最重要的组件之一,是一种可视化仿真工具,它提供一个动态系统建模、仿真和综合分析的集成环境,有着更为直观和易于理解的特点,SIMULINK给合MATLAB编程给课堂教学带来了一个全新视角,能为高效地提高教学质量、为教学提供强有力的支撑,既锻炼了学生的动手能力和创新思维,也能为学生将来从事科研及工程实践打下坚实的基础,更好地满足社会对于新型人才的要求。
SIMULINK广泛应用于各类线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。SIMULINK既可用连续采样时间、离散采样时间或两者相混合的采样时间进行建模,也支持多速率系统,即可以在系统中的不同部分采用不同的采样速率[4]。它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
本节以MATLAB在连续系统的单位阶跃响应中的应用为例,来展现其在课堂教学中的应用。
对于单位阶跃响应而言,我们可以调用MATLAB里现成的函数来实现其功能,即应用step( ) 函数,其调用格式如下:
[y,x,t]=step(num,den,t),或[y,x,t]=step(G)。(基于传统函数形式的函数调用格式)
[y,x,t]=step(A,B,C,D,iu,t)。 (基于状态空间形式的函数调用格式)
如果只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用此函数:
step(num,den,t) 或step(G);(基于传统函数形式的函数调用格式)
step(A,B,C,D,iu,t)。(基于状态空间形式的函数调用格式)
下面将基于传统函数形式的函数调用格式进行实例仿真,基于状态空间形式的函数调用格式可依此类推,将不再进行此法的实例仿真。
例1试画出下面系统的阶跃响应曲线
程序如下:
%输入系统传递函数
num= [1,1];
den=conv([1,0.4,8],[1,2,5,7]);
%绘制系统的阶跃响应曲线
t=0:0.1:30;
y=step(num,den,t);
t1=0:1:30;
y1=step(num,den,t1);
plot(t,y,'r',t1,y1)
title(' Step Response of G_1 (s) ');
基于上面的程序,我们得出如图1所示仿真结果。
图1 阶跃响应曲线
例2试画出下面系统的阶跃响应曲线,其中C分另取1,50,150,500,
2.1基于MATLAB编程
程序如下:
c=1; %当c=1时, 其它情况相类似
G2=tf([0.1,1],[1, 14,14,c]);
step(G2);
grid on;
title(' Step Response of G_2(s) (c=1)');
其他情况相类似,这里就不一一列举,仿真后可得到如图2所示仿真结果。由下面的仿真结果,可使学生了解到当参数变化时,系统所呈现的动态特性将发生变化,这有利于学生加深对于书本理论知识的理解。
图2 参数c取不同值时系统的阶跃响应曲线
2.2基于SIMULINK仿真
通过图3中的Scope模块,可得到基于MATLAB编程同样的结果。从这两种不同的仿真方式可看出两种仿真方式各有其特点,maltlab编程方式简单且交互性强、SIMULINK仿真方式更为直观。当然,两者可相互结合兼顾两者之优点,比如SIMULINK仿真中的m函数、s文件函数等可利用MATLAB编程相应的程序文件。
图3 系统G2的SIMULINK仿真框架图
由上面的应用实例可看出,MATLAB比传统理论教学更为直观、更易于理解,比实践教学操作更简单、实验成本更便宜、可重复性更强,能快速、直观、准确地给出自动控制原理课堂教学需要展示的图形变化及仿真需求,能更形象地给学生讲解各种参数变化带来的不同影响,这既锻炼了学生的动手能力、创新能力,也极大地提高了学生的学习积极性。
[1] 洪乃刚.电力电子和电力拖动控制系统的MATLAB仿真[M].北京:机械工业出版社,2006.
[2] 周少武,陈敏,沈红远,等.MATLAB在计算机控制技术课程“PID控制器参数整定”中的应用[J].系统实践,2010(10):38-40.
[3] 邵佳,董辰辉.MATLAB/SIMULINK通信系统建模与仿真实例精讲[M].北京:电子工业出版社,2009.
[4] 刘桂英,粟时平.“电力电子技术”的MATLAB/SIMULINK教学仿真实践[J].电气电子教学学报,2011(1):87-89.
[5] 张兴永.MATLAB软件与数学实验[M].徐州:中国矿业大学出版社,2007.
[6] 刘芳园,司轶芳.MATLAB在自动控制原理课程中的应用[J].职业技术研究,2010(22):185.
(责任校对王小飞)
10.13582/j.cnki.1674-5884.2016.10.001
20160605
2016年湖南省教育厅教学改革研究项目“基于体验式教学的自动化专业实践教学”;湖南科技大学潇湘学院2015年教学研究与改革一般项目(G31552); 湖南省普通高等学校教学改革研究项目”(湘教通[2015]291号,序号254); 国家自然科学基金项目(61503133);湖南科技大学博士启动基金(E51538);湖南省教育厅科研一般项目(15C0548)
陈超洋(1984-),男,湖南湘潭人,讲师,博士,主要从事非线性系统稳定性及性能研究。
G642.1
A
1674-5884(2016)10-0085-04