首页 > 范文大全 > 正文

MATLAB软件的特点及其在电路原理仿真教学中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇MATLAB软件的特点及其在电路原理仿真教学中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对《电路原理》传统理论教学存在的不足,本文引入基于matlab仿真软件教学实践。首先介绍了MATLAB仿真软件和Simulink模型仿真平台的特点,其次用数值计算和建模仿真两种方法进行了教学实例演示。实例分析结果表明,引入MATLAB仿真软件,有助于学生加深对电路及模型的认识,提高了教学效果。

关键词:MATLAB;Simulink;电路原理;教学实践;仿真建模

中图分类号:G642.41 文献标志码:A 文章编号:1674-9324(2016)07-0213-02

《电路原理》[1]是一门理论性很强的专业基础课程,课程信息量大、理论要求高。在传统的教学中,常以讲授为主,学生往往会觉得理论枯燥,难以联系实际。为了提高教学效果,引入合适的仿真计算工具,将有助于提高学生的学习兴趣和学习能力。通过教学改革实践可以发现,基于MATLAB仿真平台[2]的引入,将会弥补传统理论教学的不足,加深学生对《电路原理》课程的认识,大大提高分析电路的能力,为今后相关专业课程的学习打下坚实的理论和实践基础。

一、MATLAB概述

美国Mathworks公司于1967年推出MATrix LABoratory(即MATLAB)软件包,用于数据分析、算法开发、数据图形化、数据分析和数值计算的高级语言和交互式环境。由于MATLAB的程序编写和人的思维方式、表达习惯非常一致,所以不像诸如C语言、C++、JAVA等其他高级语言那样不易掌握。MATLAB对使用者的数学计算和计算机编程语言的要求相对较低,但是编程效率和计算效率却非常高,还可以直接输出非常直观的图表,是非常好的科研工具。MATLAB一经推出,便在国内外广受欢迎。MATLAB用来进行数值分析和计算、符号计算、绘制图表、控制系统仿真、数字信号处理、数字图像处理和通讯仿真等。在图像处理、通讯工程、控制工程、测量学、商学、生物学等众多领域有着广泛的应用。MATLAB软件具有以下几个主要优点:(1)编程简便且效率高:相比Basic、C语言、C++、JAVA等高级语言,MATLAB编程更加接近人们的手写习惯、思维方式,因此在程序的语法上更加简洁明了,降低了学习程序编写的难度,方便使用。(2)界面友好:MATLAB不仅可以通过使用主对话框进行计算和编程,还包含了一系列工具箱,便于用户调用函数和文件。随着商业化和版本的不断更新,MATLAB的用户界面不断完善,人机交互更加方便,操作不断简化。同时,MATLAB的编程调试系统比较完备,程序在运行之前不需要编译,而且能及时地报错,并给出错误的原因,有助于编写调试。(3)扩展能力强:MATLAB中有大量的库函数,这些函数在程序中可以直接调用,免去了用户亲自编写带来的麻烦。同时,用户也可根据需要建立新的库函数,提高用户的工作效率。此外,MATLAB也兼容C,FORTRAN,C++,JAVA等高级语言。(4)图形处理功能出众:MATLAB自诞生起就有数据可视化功能,能将矩阵、向量用图形表示出来,而且可以为图形标注。随着版本的更新,MATLAB不仅在数据可视化常用功能方面更加完善,而且在图形光照处理、色度处理、四维数据表现等方面同样有很好的性能。(5)强大的数组和矩阵运算功能:由于矩阵运算过程非常烦琐,因此手算或者编程序计算效率非常低。用户在MATLAB中对矩阵进行赋值后,可直接通过运算符进行矩阵计算,大大提高了计算的效率。同时,矩阵的运算符大部分可以直接用于数组的计算。

二、Simulink概述

Simulink诞生于1990年,它的出现让仿真进入了模型化、图形化的阶段。Simulink正如其名,它的主要功能为:仿真(Simulation)和连接(Link)。用户可以通过Simulink搭建出自己所需要的仿真模型,再通过软件提供的功能对模型进行仿真分析。Simulink是一款基于MATLAB的可视化仿真工具,是一种框图设计环境,可以实现动态系统的建模、仿真以及分析。它不仅适用于线性系统,而且适用于非线性系统、数字信号处理以及数字控制。Simulink模块有以下几个主要的优点:(1)建模方式直观易懂:Simulink模块库提供的元器件,均是元器件的书面格式,便于用户寻找和使用。元器件之间的连接非常简便,易于操作。(2)模型多样:Simulink拥有超过150种不同的模块库,通过这些库中模块的组合,可以适应多种不同的仿真需求。(3)支持自定义模块和用户代码:Simulink模块库中提供的大多是工程应用较多的元器件,部分应用较少的元器件并未收录在Simulink库中。用户可以设计自己所需的元件,并将其封装成元件存入库中,这样不仅可以丰富Simulink的元器件库,也可以提高用户的工作效率,简化仿真界面,方便用户使用。(4)仿真快速、准确:Simulink不仅能计算线性系统,对于非线性系统,它自带的积分算法也拥有较高的计算速度,而且计算结果非常准确。对于离散系统,Simulink同样可以进行快速、准确的运算。(5)交互式的仿真分析:Simulink的示波器模块可以将仿真出的波形可视化,而且可以通过调整示波器的显示设定相关参数,让仿真出的波形变得更加清晰,同时示波器的数据可以进行储存,便于进行数据结果的频谱分析等操作。这种交互性的仿真方法,可以帮助用户快速的改变算法,进行仿真系统优化。SimPowerSystems在电学方面功能非常完善,几乎能进行所有电气方面的仿真。本论文的电路模型仿真部分就主要通过这个模块里面的元器件来完成的。

三、MATLAB在《电路原理》仿真教学中的应用

在MATLAB仿真平台上,能够容易实现电路的建模和仿真。在此以一个二阶电路为研究对象,介绍采用MATLAB数值计算功能和Simulink建模仿真功能两种方式来实现电路的动态响应过程分析。仿真对象为:二阶电路是指需要用二阶微分方程来描述的动态电路。如图1电路中电源电压us=5V,电阻R1=1Ω,电阻R2=0.5Ω,电容C=0.5F,电感L=0.4H。初始状态时,电容uC(0)=0,电感iL(0)=0.,t=0,开关S闭合,试分析电容电压uC的波形。

1.数值计算仿真。根据电路图,写出电路相对应的二阶微分方程;在MATLAB平台上编写M文件,求解微分方程的解;根据求解的结果,做出解随时间变化的曲线。在MATLAB平台上编写M文件,完成函数功能编写,实现微分方程求解算法,具体的程序如下:function yd=dy(t,y)

U=5;R1=1;R2=0.5;C=0.5;L=0.4;

yd=[-(1/(R1*C))*y(1)-(1/C)*y(2)+(1/(R1*C))*U;(1/L)*y(1)-(R2/L)*y(2)];

end

在MATLAB窗口输入以下程序,即可调用方程函数,并用plot函数来进行绘图,将结果显示到界面上。相应的调用函数和绘图程序如下:

tspan=[0,10];y0=[0;0];[t,yy]=ode45('dy',tspan,y0);

plot(t,yy(:,1));set(get(gca,'Ylabel'),'string','电压/V');

运行后的电容电压数值计算结果,如图2所示:

2.Simulink平台上建模仿真。在Simulink上搭建电路的仿真模型,设置模型中各个元件参数,设置运行时间和运算算法。点击运行按钮,模型就能自动进行仿真。通过电容电压测量模块和示波器,就能观察到电容电压响应过程波形,见图3所示。

从图2和图3可以看出,两种方法得到的电容电压波形一致。由上述实例分析可知,采用MATLAB数值计算和Simulink建模仿真两种仿真方式,均可以得到相同的动态电路的动态响应效果。其中,数值计算需要预先得到电路的微分方程组,对学生数学计算能力要求高些;而建模仿真需要对电路每个元器件的物理模型和参数有清楚的认识,实现容易。两种方法均能较好地适合学生分析动态电路的响应过程。

四、结语

将MATLAB引入到《电路原理》仿真教学实践中,可以方便地研究稳态和动态电路的响应过程。学生既可以选择采用数值计算的方法,又可以采用建模仿真的方法来进行仿真分析。仿真工具的使用,将会弥补传统的理论教学课程的不足,加深学生对课程内容的理解,有助于提高学生的学习兴趣和学习能力,同时有助于实际教学效果的提高。

参考文献:

[1]邱关源.电路[M].北京:高等教育出版社,1999.

[2]薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用[M].北京:清华大学出版社,2002:1-7.