安徽新华学院2007届本科生学位论文答辩1引言在电路分析中,随着电路规模的加大,微分方程阶数以及联立方程的个数势必增多,给解算带来难。传统的计算机编程语言:FORTRAN、C语言等在处理高阶微分方程和大规模联立方程组问题时,大量的时间和精力都花在矩阵处理(如矩阵输入、求逆、稀疏矩阵处理等)和图形的生成分析等繁琐易错的细节上。而被誉为第四代计算机语言的MATLAB在矩阵处理和图形处理等方面有着得天独厚的优势。MATLAB具有强大的运算能力,以及丰富的算法工具箱,目前已经发展成为适合多学科的、多种工作平台的功能强大的大型软件,广泛应用于大学科研、工程计算等领域。利用MATLAB的M文件来求解电路方程,只需一个或几个语句即可完成,同时MATLAB提供的SIMULINK工具可直接建立电路模拟模型,随意改变模拟参数,并且立即可得到修改后的模拟结果(Scope显示),进一步省去了编程的步骤,非常方便。2正弦交流信号产生容易、便于控制和转换,且可以远距离传输,应用广泛。在电子产品、设备研制、生产和性能测试时,常会遇到正弦电路的稳态分析问题,采用MATLAB对稳态电路进行建模、仿真,可直接观察到电路中的电流、电压波形,大大提高了解决实际问题的能力。3MATLAB计算软件产品家族式美国MathWorks公司开发的用于概念设计、算法开发、建模仿真、实时实现的理想集成环境。广泛地应用于数学分析、计算、自动控制、系统仿真、数字信号处理、图像处理、数理统计、人工智能、通信工程和金融系统等领域。2Matlab简介4Matlab操作界面51命令窗口(CommandWindow)MATLAB命令窗口中的“”为命令提示符,表示MATLAB正处于准备状态。在命令提示符后输入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。在命令窗口空白区域单击右键,弹出的快捷菜单,其中部分命令功能如下:EvaluateSelection:计算所选文本对应的表达式的值。OpenSelection:打开所选文本对应的MATLAB文件。HelponSelection:调用所选文本对应的帮助信息。ClearCommandWindow:清除命令窗口中的内容。2历史命令(CommandHistory)窗口历史命令(CommandHistory)窗口可以内嵌在MATLAB主窗口的右下部,也可以浮动在主窗口上。在默认设置下,历史记录窗口会自动保留自安装起所有用过的命令的历史记录,并且表明了时间,从而方便用户查询。而且,通过双击命令可进行历史命令再运行。63当前目录(CurrentDirectory)窗口当前目录(CurrentDirectory)窗口也称为路径浏览器。在当前目录窗口可以显示或改变当前目录,还可以显示当前目录下的文件及相关信息,通过目录下拉列表框可以选择已经访问的目录。单击当前路径列表框右侧的浏览按钮,可以打开路径选择对话框,用户可以设置或添加路径。4工作空间(Workspace)窗口工作空间(Workspace)是MATLAB用于存储各种变量和结果的内存空间。工作空间窗口是MATLAB集成环境的重要组成部分,它与MATLAB命令窗口一样,不仅可以内嵌在MATLAB的工作页面,还可以独立窗口的形式浮动在页面上。该窗口中显示工作空间中所有变量的名称、取值和最大值、最小值,可对变量进行观察、编辑、保存和删除。73Simulink简介SIMULINK是MATLAB的工具箱之一,提供交互式动态系统的建模、仿真和分析的图形环境。它可以对控制系统、信号处理及通信系统等进行系统的建模、仿真、分析等工作。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。利用SIMULINK进行系统的建模仿真、最大的优点就是易学、易用,同时可以利用MATLAB提供的丰富的仿真资源。8库浏览器9其中SIMULINK通用基础模块库中包括信号源模块库(Sources)、输出模块库(Sinks)、连续系统模块库(Continuous)、离散系统模块库(Discrete)、数学运算模块库(Mathoperations)、通用模块库(CommonlyUsedBlocks)、信号路径模块库(Signalrouting)。SIMULINK电力系统模块库(SimPowerSystems)包括电源模块库(ElectricalSource)、电器元件库(Elements)、电机模块库(Machines)、电力电子模块库(Electronics)、测量模块库(Measurements)点击上述界面的图标,即可打开一个名为untitled的空的模型窗口,如图所示:10空的模型窗口11选择Simulation菜单下ConfigurationParameters命令,就会弹出一个仿真参数对话框,如图所示:124MATLAB在直流稳态电路中的应用例1:在图6所示的电路中,R1=10Ω,R2=2Ω,R3=4Ω,Us1=6V,Us2=4V,r=8,求Uab,I2134.1数学建模设网孔1的电流为I1,网孔2的电流为I2,其中受控源受电流控制,由电路分析中的网孔电流法知,建立如下方程组:12122s1221232s211abs1RRIRIUrIRIRRrIUIRUU14整理上面方程组,写成的矩阵AX=BUs形式:1122s12232s21abIRRrR010URRRr0I01UR0110U4.2编程在程序编程窗口中编写以下语句实现上述计算,对应的M文件为:15Clear;R1=10;R2=2;R3=4;Us1=6;Us2=4;r=8;%赋值A=[R1+R2r-R20;-R2R2+R3-r0;R101];%定义方程组系数矩阵B=[10;0-1;10];%定义右端矩阵Us=[Us1;Us2];%定义右端矩阵X=A\B*Us;%求解未知矩阵XUab=X(3),I2=X(2)%输出结果Uab的值并以exam.m为名存入相应的子目录。在命令窗口提示符后输入如下命令,并按Enter键:exam运行结果如图所示:16174.3SIMULINK模型图仿真184.4波形图I2的波形图Uab的波形图195MATLAB在交流稳态电路中的应用例2:电路如图14所示,R=3Ω,L=4mH,C=500uF,r=2Ω,求解i1(t)和i2(t)。已知Us(t)=10cos(1000t)V。205.1数学建模作相量模型如图所示:21有电路分析中网孔电流向量法知,建立如下方程组:12S121LLLLCRZIZIUZIZZIrI其中:LCZjwL,Z1/jwC整理上面方程组,写成的矩阵AX=BUs形式:1S2LLLLCRZZI1UrZZZ0I225.2MATLAB编程在程序编程窗口中编写以下语句实现上述计算,对应的M文件为:R=3;w=1000;L=4e-3;C=500e-6;Us=10;r=2;%赋值ZL=j*w*L;Zc=-j/(w*C);A=[R+ZL-ZL;r-ZLZL+Zc];B=[1;0];I=A\B*Us;%求解未知矩阵I1=I(1);I2=I(2);disp('I1,I2');disp('幅值');disp(abs([I1I2]));%求解幅值disp('相角');disp(angle([I1I2])*180/pi);%求解相角并以jlwt.m为名存入相应的子目录。23在命令窗口提示符后输入如下命令,并按Enter键:jlwt程序运行结果如下:24为了直观地表示这些电流的大小和相位关系,还可以通过向量图表示。在命令窗口输入以下命令,按Enter键。ha=compass([I1I2]);%绘制复数的向量图set(ha,'linewidth',3)%使线条加粗set(gcf,'color','w')%设置图形背景色为白色程序运行结果如下:255.3交流稳态电路图265.4交流I1、I2的波形图I1的波形图I2的波形图27