1、Matlab 仿真技术在电路教学中的应用龚伟;郭杰荣【摘 要】 In order to solve the main problems in traditional circuit teaching , and better its shortcomings, the Matlab simulation technology is embedded into the teaching of circuit course. Combined with case analysis, the characteristics of Matlab programming and Simulink mod
2、eling are elaborated here as well as their concrete application in circuit teaching. The practice shows that the ability of powerful matrix operation and numerical processing of Matlab can help students get rid of the math problems existing in circuit analysis, so they can focus more on understandin
3、g and mastering of basic concepts and analyticalmethods.Through the Matlab programming or Simulink modeling, abstract circuit theories are presented with intuitive and visual simulation results, which can greatly mobilize and enhance the students learning enthusiasm and self-confidence, and improve
4、the teaching effect in classroom.%为了解 决传统电路教学中存在的主要问题,改善其不足之处,尝试将 Matlab 仿真技术应 用到电路课程的教学当中。结合实例分析,详细阐述了 Matlab 编程和 Simulink 建模两种不同方式的特点及其在电路教学中的具体应用。教学实践表明: Matlab 强大的矩阵运算和数值处理能力有助于学生摆脱电路分析中所存在的数学计算方面 的困扰,使它们能将更多精力放到对基本概念和分析方法的理解与掌握上;通过 Matlab 编程或 Simulink 建模,使抽象难懂的电路理论以直观形象的仿真结果呈 现出来,极大的调动和增强了学生的学习
5、热情与自信心,提高了课堂教学效果。【期刊名称】 大众科技【年(卷),期】 2015(000)010【总页数】 3 页(P88-90)【关键词】 电路教学;Matlab;Simulink【作 者】 龚伟;郭杰荣【作者单位】 湖南文理学院物理与电子科学学院,湖南常德 415000;湖南文理学 院物理与电子科学学院,湖南常德 415000【正文语种】 中 文【中图分类】 G642.0以我院为例,目前电路教学中存在的主要问题有:( 1 )课时安排偏少,教学内容 偏多,课程理论性较强,学生难以在纯理论的课堂教学中获得直观、具体的感性认 识,因此学习起来觉得抽象难懂,不易理解和消化;( 2 )由于客观条件
6、有限,实 验课和理论课往往不能同步进行,未及时实践的理论知识往往较易遗忘;( 3 )课 程涵盖的基本概念、定理和分析方法较多,且经常伴随有大量复杂繁冗的数学计算, 学生需要耗费大量的时间和精力应对数学方面的困扰,很大程度上削弱和降低了他 们对专业课学习的信心、热情与专注度。Matlab 是由美国 Mathworks 公司推出的一款集矩阵运算、数值分析、绘图操作、 系统建模与仿真等多种功能于一体的科学计算软件1,2 ,具有操作方便、语法规 则简单、编程效率高以及良好的人机交互等特点,特别适合于电路课程的辅助分析 和计算。为了弥补传统电路教学中的不足之处,改善和提高教学质量,本文尝试将 Matla
7、b 仿真技术嵌入应用到电路教学中。2.1 Matlab 编程方式电路分析的基本方法是通过数学建模求解矩阵方程,以获得待求支路的电压或电流。 当电路规模增大时,方程联立个数随之增多,求解过程将变得十分困难且容易出错 3。而 Matlab 是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工 程计算及绘图等方面的需求。相比其它计算机语言, Matlab 编程语言具有简洁、 智能化、功能函数丰富、无需编译等特点,大大提高了编程和调试效率。由 Matlab 语句构成的程序文件称为 M 文件,它是以“ .m”作为扩展名的文本文件, 可以直接阅读并可由任何文本编辑器建立。运行 M 文件时,只需在 Ma
8、tlab 命令 窗口输入文件名后按回车键,或者打开 M 文件后在其编辑窗口点击“运行”按钮 即可。通过编程,不仅可以检验学生的课堂学习成果,更重要的是有助于培养它们 形成正确的思维方式及良好的编程习惯。下面通过具体实例来加以说明。例:对图 1 所示电路,( 1 )应用网孔电流法求支路电压 U ;( 2 )验证叠加定理。 解:为了便于分析和编程,这里将图 1 中电路元件用符号变量加以表示,同时标 出假定的网孔电流绕行方向及电流源两端的电压参考方向,具体见图 2 所示。由 题意,首先列出相应的网孔电流方程,将其转换成矩阵形式的数学模型,并用 Matlab 编写.m 程序文件,求得两独立源共同作用时
9、的电压 U ;然后,通过赋值 方式分别对独立源置零获得电压源或电流源单独作用于电路时支路的电压响应分量; 最后,判断总电压 U 是否等于上述两个电压响应分量的代数和,从而完成对叠加 定理的验证。下面给出图 2 电路的网孔电流方程:以上矩阵形式可进一步简写为:根据以上数学模型编写的 M 文件,源程序如下:a=input(请依次输入电阻 R1、 R2、 R3、 R4 和电压源、电流源的值:n);%根据例 题参数,这里令 a=8 6 2 3 12 3fprintf(所输入电压源: Us=%dV n,Us);fprintf(所输入电流源: Is=%dA n,Is);U=I(2)*R4; %电压源和电流
10、源共同作用于电路时, 在 R4 支路上所产生的电压 U fprintf(用网孔电流法,所求电压 U 为:E_Us=Us;0; %令 Is=0 ,表示电压源单独作用于电路I_Us=AB*E_Us; %电压源单独作用于电路时,所产生的网孔电流向量形式 U1=I_Us(2)*R4; %U1 为电压源单独作用于电路时,在 R4 支路上产生的电压响应分 量E_Is=0;Is; %令 Us=0 ,表示电流源单独作用于电路I_Is=AB*E_Is; %电流源单独作用于电路时,所产生的网孔电流向量形式 U2=I_Is(2)*R4; %U2 为电流源单独作用于电路时,在 R4 支路上产生的电压响应分 量fpri
11、ntf(%dV 电压源单独作用时,所产生的电压响应分量 U(1)为:U(1)=%gVn,Us,U1);fprintf(%dA 电流源单独作用时,所产生的电压响应分量 U(2)为:U(2)=%gVn,Is,U2);fprintf(两电源共同作用下,电压 U 为: U=%gVn,U);if round(U)=U1+U2 disp(因为 U=U(1)+U(2) ,叠加定理得以验证),end以上程序文件的运行结果如图 3 所示:相比手动计算, Matlab 编程方式只需输入相应语句或函数即可轻松解决各类复杂 庞大的数学运算。通过引入符号变量和交互式的命令函数,可以使所编写的 M 文 件具有很好的移植性
12、、交互性和灵活性,特别是当电路结构不变而元件参数发生改 变时,通过引入具有交互功能的输入命令函数,如: input ()函数等,在运行过 程中用户只需按照 input ()函数括号内的“提示语句”输入具体参数, Matlab软件便会迅速给出新的参量作用下电路中的待求量结果,从而避免了因电路参数改 变而带来的重复性手动计算。2.2 Simulink 建模方式Simulink 作为 Matlab 中的一种可视化仿真工具4 ,它提供了一个对动态系统进 行建模、仿真和分析的集成环境。 Simulink 用方框图的绘制代替程序的编写,使 用户的精力从编程转向模型构造。利用鼠标或键盘操作,用户可以完成面向
13、框图系 统仿真的全部过程,进而直观、快速、准确地达到仿真的目标。模型创建后,可实 时改变模块参数,用以研究不同参数对系统的性能影响以及各参数间的相互作用关 系。在 Matlab 命令窗口中直接输入 Simulink 命令或在工具栏中单击相应的快捷按钮, 即可启动 Simulink。在随后弹出的 Simulink Library Browser(库模块浏览器)中, 执行 File/New/Model 命令,系统会弹出一个名为 untitled 的空白模型窗口,用 户可以在此窗口中创建自己需要的 Simulink 模型。针对上例,这里给出具体的 Simulink 仿真步骤:首先,在 Simulin
14、k 集成环境窗口新建一个后缀为.mdl 的 Simulink 模型文件并命名,如: example.mdl ;在 Simulink Library Brower 中 选取与图 1 电路相应的元件模块,并用鼠标将其拖拽到 example 窗口中,如图 4 所示;在完成参数设置与连线后,最后对 Simulink 电路模型进行仿真。 ( 1 )各元件的选取与参数设置。12V 电压源:选取“DC Voltage Source”模块,它位于 SimPowerSystems 节 点下的“Electrical Source”模块库内,只需将模块参数值改为 12V 即可。3A 电流源: SimPowerSys
15、tems 中没有直接提供直流电流源模块,需要用 “Electrical Source”模块库内的 AC Current Source 进行替代。双击进入其模 块参数设置窗口,将 Peak amplitude 设为 3A、参数 Frequency 设为 0 Hz、 Phase 设置为 90,确定后就可得到所需的直流电流源。电阻元件:选用“Series RLC Branch”模块,它位于 SimPowerSystems 节点下 的“Elements”模块库内,代表一条串联 RLC 支路。通过对其参数的设置 ( Resistance 设为所需的电阻值, Inductance 设为 0,Capacit
16、ance 设为 inf), 可以将其变为单独的电阻支路。电压测量模块:选用“Voltage Measurement”模块,它位于 SimPowerSystems 节点下的“Measurements”模块库内,用于测量支路电压 值。显示模块:选用“Display”模块:它位于 Simulink 节点下的“sinks”模块库内, 用于对测量结果进行输出显示。 ( 2 )仿真结果。 执行 example 模型窗口菜单中 Simulation/Start 命令或单击工具栏中的按钮,即 可启动 Simulink 模型仿真,运行结果详见图 5。 由图 5 不难看出, 12V 电压源单独作用于电路时 3 支
17、路上所测电压示数为-4V , 3A 电流源单独作用时示数为 6V ,而两个电源共同作用情况下示数则是 2V。仿真结果表明:在多个电源共同作用下的线性电路中,电路某处的响应等于各独立源单 独作用时在该处产生的响应分量的代数和。叠加定理得以验证。 在电路教学中引入 Matlab 仿真技术,有助于学生摆脱传统学习中理解难、计算难, 绘图难和建模难等问题,使它们能把注意力更多的集中在对基本概念、定理和分析 方法的学习与掌握上。通过生动、直观的仿真结果演示电路分析的全过程,有利于 构建一种启发式、探讨式和互动式的教学形态,激发学生的学习兴趣,促进并加深 它们对于抽象理论的具体理解和形象记忆。 Matlab 仿真技术应用于电路教学中, 还可显著改善因实验课与理论课在时空上存在分隔、客观实验条件欠缺、实验设备 落后等因素所造成的实验效果不理想的情形。【相关文献】1 陈怀琛,吴大正,高西全. MATLAB 及其在电子信息课程中的应用(第 3 版)M.北京:电子工业出版 社,2006.2 张志涌,杨祖樱. MATLAB 教程M.北京:北京航空航天大学出版社,2015.3 刘同娟,马向国. MATLAB 在电路分析中的应用J.电气电子教学学报,2002,24(6):40-41. 4 卓金武. MATLAB 在数学建模中的应用(第 2 版)M.北京:北京航空航天大学出版社,2014.