首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于Matlab Notebook的直流稳态电路快速求解法

作者:郭亚庆 来源:电子技术与软件工程


  摘要直流稳态电路的求解过程采用传统的方法一直比较繁琐,效率较低。而在使用了MATLAB这一数学工具后,可以大大简化求解过程,提高工作效率。使之在工程分析过程中较好地满足了技术人员的需要。
  【关键词】MATLAB NOTEBOOK 电路分析 线性方程快速求解
  1 引言
  MATLAB是美国MathWorks公司开发的一个优秀的数学工具软件,具有强大的数学功能和图形绘制功能,它将数值分析、信号处理、图形功能及系统仿真等融为一体。现在已成为从事科学研究工程计算的基本工具,是从理论通向实践的桥梁。在教学和科研上具有广泛应用,本文将MATLAB应用电路分析教学中,可方便、快速求解直流稳态电路,摆脱了繁杂的数学运算,使学生把主要精力集中在对电路规律的认识上。
  2 基于Matlab Notebook的教学方法
   MATLAB和文字处理软件Microsoft Word的结合,使用户能够在Word环境中访问 MATLAB,为用户提供了一个集文字处理与科学计算于一体的工作环境,这种工作环境就是 MATLAB Notebook。应用Matlab求解直流稳态电路大多数都是用Matlab M文件编制的程序文件,它是以纯文本的形式编写的,而且针对不同的题目要编写不同的M文件,或者打开原有的M文件进行修改,再重新运行,而且计算的结果又显示在命令窗口,这样既不方便又不直观,大大影响了教学效果。为了对不同的直流稳态电路方便快速求解,笔者偿试了在Matlab Notebook的环境下,对直流电路分析求解。用Matlab Notebook制作的M-book文档不仅拥有MS-Word的全部文字处理功能,而且具备Matlab无与伦比的数学计算能力和计算结果可视化能力,为用户营造一个融文字处理,科学计算,工程设计于一体的工作环境。在Matlab Notebook环境下,求解直流稳态电路,首先利用Word的文字编辑功能,将题目输入M-book文档中,然后利用Word的图片插入功能将事先制作好的电路结构图插入M-book文档中,再根据求解直流稳态电路分析的主要三种方法:支路电流法、网孔电流法、节点电压法,列写出线性方程。其次利用Matlab具有以矩阵计算为基础的强大数值计算和分析功能对线性方程快速求解。在其它言语中,对线性方程求解最常用的方法之一,是高斯消去法,编程相当繁琐复杂。而利用Matlab求解线性方程是轻而易举的事,几乎不需要编程。更主要的特点是在M-book文档中,编写的题目、电路结构图、所列的线性方程、编程的语句、程序的的执行、运算的结果和输出的图形、错误信息等,都处于一个界面。这样不仅图文并茂、且直观生动。对于不同的题目,只要归结为线性方程,仅对原有的编程语句作少量修改,即可运行,显示出结果。
  3 具体的应用举例
  在Matlab启动后,如已安装了Notebook的情况下,只要在窗口键入notebook,于是出现如下提示:Warning: MATLAB is now an automation server,随即出现一个类似Word界面的M-book界面。它与普通Word界面主要有两点区别:①在菜单栏中多了一个Notebook菜单项,Notebook的许多操作都可以通过该菜单项的命令来完成。②在“文件”菜单栏中多了一个New M-book命令,如果在 M-book模板下要建立新的M-book文档,可以选择该命令。此后在M-book文档下输入题目、插入电路图、列写电路方程。
  例题 :用网孔法求图1所示电路的各支路电流。
  (1)选择各网孔电流的参考方向,如图1所示。计算各网孔的自电阻和相邻网孔的互电阻及每一网孔的电源电压。
  R11=1+2=3,R22=1+2 R33=1+2,R12=R21=-2,R23=R32=0,R13=R31=-1 US11=10V,US22=-5V,US33=5V。
  (2)按图1列网孔方程组。
  3Im1 -2Im2-Im3=10
  -2Im1 +3Im2 = -5
  -Im1 +3Im3 =5
  以上都是利用Word的全部文字处理功能编辑的。
  (3)编程求解对于线性方程组ax=b,可以利用左除运算符“\”,x=a\b直接求解。这里的矩阵a,b的值如下:
  
  
  
  
  
  在M-book文档下输入以下Matlab的命令:
  a=[3,-2,-1;-2,3,0;-1,0,3]; %输入矩阵a
  b=[10;-5;5]; %输入矩阵b
  i=a\b; %求网孔电流Im1,Im2,Im3
  [r,l]=size(a); %求矩阵的行和列
  disp('显示输出结果')
  forn=1:r
   disp(strcat( 'Im',num2str(n),'=',num2str(i(n))))%输出显示Im1 ,Im2 ,Im3的值
  end
  用鼠标选中以上的8条Matlab指令,然后在Notebook菜单中选择Define input Cell命令,则被选中的Matlab命令变成绿色的输入单元。定义输入单元也可以在选中所需命令后,直接按组合键Alt+D。要注意,定义输入单元并没有有执行,为了执行输入单元,应选择Notebook菜单中的Evaluate Cell命令或直接按组合键Ctrl+Enter。输入单元执行后,产生以下的输出单元。
  [显示输出结果
  Im1=6.25
  Im2=2.5
  Im3=3.75 ]
  以上的8条指令,虽然是按网孔电流编写的求解线性方程,但完全适用支路电流法。不同的线性方程求解时,仅对第一,第二条指令中输入矩阵a,b的值作以修改。它对于解多元线性方程是通用的。若要用节点电压法列写线性方程,除对第一,第二条指令中输入矩阵a,b的值作以修改外,还要将第三条指令i=a\b,改为u=a\b、第七条指令中的'Im'改为'U',重新运行后即可得到节点电压。
  上面计算出回路电流后,各支路电流可以口算,也可输入以下指令:
  i1=-i(1);i2=i(2);i3=i(1)-i(2);i4=i(1)-i(3);i5=i(3)-i(2);i6=i(3);%计算各支路电流
  disp(strcat('i1=',num2str(i1),'i2=',num2str(i2),'i3=',num2str(i3))) % 输出显示各支路电流
  disp(strcat('i4=',num2str(i4),'i5=',num2str(i5),'i6=',num2str(i6)))
  将上述三条指令再定义为输入单元,重新运行后,输出单元显示如下:
  i1=-6.25i2=2.5i3=3.75
  i4=2.5i5=1.25i6=3.75。
  4 结束语
  MATLAB丰富的数值计算,使得学生在求解直流稳态电路分析时避免了繁锁的手工计算,这样能够把主要精力集中在掌握电路的理论概念和分析方法上面,提高了学习效率和学习的积极性。而MATLAB Notebook良好的工作环境为教师备课,讲课节省了大量时间。在教学过程中做到图文并茂的、丰富多彩的人机交互及动态演示,使抽象的、枯燥的学习内容转化成形象的、有趣的、可视的、可听的动感内容。
  
  参考文献
  [1]刘卫国.MATLAB 程序设计与应用[M].高等教育出版社,2005.
  [2]梅志红,扬万铨.MATLAB 程序设计基础及应用[M].清华大学出版社,2006.
  
  作者简介
  郭亚庆(1974-),女,讲师,从事计算机基础教学工作,研究方向为计算机基础教学。
  
  作者单位
  湖北工业职业技术学院湖北省十堰市442000