1、14.1 MATLAB概述14.3 应用MATLAB分析线性电路14.2 Simulink仿真14.1 MATLAB概述MATLAB是矩阵实验室(是矩阵实验室(MatrixLaboratory)的缩写,具有强大的矩阵处理功能、绘图功能和卓的缩写,具有强大的矩阵处理功能、绘图功能和卓越的数值计算能力。越的数值计算能力。MATLAB的主要特点是:的主要特点是:(1)(1)语言简洁紧凑,使用方便灵活,库函数极其丰富;语言简洁紧凑,使用方便灵活,库函数极其丰富;(2)(2)运算符丰富;运算符丰富;(3)(3)程序设计的自由度大,程序的可移植性很好;程序设计的自由度大,程序的可移植性很好;(4)(4)M
2、ATLAB的图形功能强大,数据的可视化简单;的图形功能强大,数据的可视化简单;通过点击通过点击MATLAB的图标进入主界面,如图所示的图标进入主界面,如图所示 14.1.1 变量与函数变量:变量:基本运算符:基本运算符:加(加(+)、减()、减(-)、乘()、乘(*)、除()、除(/)、)、点乘(点乘(.*)、点除()、点除(././)、幂次运算()、幂次运算()、)、点乘幂(点乘幂(.)和左除()和左除()等。)等。(1)(1)变量名必须是不含空格的单个词;变量名必须是不含空格的单个词;(2)(2)变量名区分大小写;变量名区分大小写;(3)(3)变量名最多不超过变量名最多不超过1919个字符
3、;个字符;(4)(4)变量名必须以字母打头,之后可以是任意字母变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号。、数字或下划线,变量名中不允许使用标点符号。函数文件:函数文件:文件名后缀为文件名后缀为M M的文件,文件的第一行必的文件,文件的第一行必须是一特殊字符须是一特殊字符functionfunction开始,格式为:开始,格式为:function function 因变量名因变量名=函数名函数名(自变量名自变量名)函数文件建立方法:函数文件建立方法:(1)(1)在在MatlabMatlab中,点:中,点:File-New-M-fileFile-New-M
4、-file(2)(2)在编辑窗口中输入程序内容在编辑窗口中输入程序内容(3)(3)点:点:File-SaveFile-Save,存盘,存盘,M M文件名必须与函数名一致。文件名必须与函数名一致。14.1.2 数组与矩阵数组数组(1)创建简单的数组创建简单的数组x=a b c d e f x=first:lastx=first:increment:lastx=linspace(first,last,n)(2)数组元素的访问数组元素的访问(3)数组的方向:行向量和列向量数组的方向:行向量和列向量(4)数组的运算数组的运算数组对标量的加、减、乘、除、乘方;数组对标量的加、减、乘、除、乘方;两个数组加
5、、减、乘、除、幂运算,必须具有相同的维数两个数组加、减、乘、除、幂运算,必须具有相同的维数矩阵矩阵(1)矩阵的建立:逗号或空格用于分隔某一矩阵的建立:逗号或空格用于分隔某一行的元素,分号用于区分不同的行。行的元素,分号用于区分不同的行。例如输入矩阵例如输入矩阵p=1 2 3 4 p=1 2 3 4;5 6 7 85 6 7 8;9 10 9 10 11 12 11 12(2)矩阵中元素的操作矩阵中元素的操作 矩阵矩阵A A的第的第r r行:行:A(r,:),:)取矩阵取矩阵A A的第的第i1i2行、第行、第j1j2列构成新矩阵列构成新矩阵:A(i1:i2,j1:j2)以逆序提取矩阵以逆序提取矩
6、阵A A的第的第i1i2行,构成新矩阵行,构成新矩阵:A(i2:-1:i1,:),:)删除删除A A的第的第i1i2行,构成新矩阵行,构成新矩阵:A(i1:i2,:,:)=将矩阵将矩阵A A和和B B拼接成新矩阵:拼接成新矩阵:A B;A;B矩阵矩阵(3)矩阵的运算矩阵的运算 矩阵加法:矩阵加法:A+BA+B矩阵乘法:矩阵乘法:A A*B B方阵的行列式:方阵的行列式:detdet(A A)方阵的逆:方阵的逆:invinv(A A)方阵的特征值与特征向量:方阵的特征值与特征向量:VV,D=eigAD=eigA。14.1.3 MATLAB作图(1)曲线图曲线图点坐标画图的命令为:点坐标画图的命令
7、为:plot(X,Y,Splot(X,Y,S)其中,其中,X,YX,Y是向量,分别表示点集的横坐标和纵坐标,是向量,分别表示点集的横坐标和纵坐标,S S指定曲线的颜色、线形等。指定曲线的颜色、线形等。y y:黄色:黄色 c c:蓝绿色:蓝绿色 r r:红色:红色 m m:洋红:洋红 .:点:点 -:连线:连线 o o:圈:圈 ::短虚线:短虚线x x:x-x-符号符号 -.-.:长短线:长短线 +:加号:加号 -:长虚:长虚线线plot(X,Yplot(X,Y)画实线;画实线;plot(X,Y1,S1,X,Y2,S2,X,Yn,Snplot(X,Y1,S1,X,Y2,S2,X,Yn,Sn)将多
8、条线将多条线画在一起画在一起【例【例14.1】在】在 0,2*pi 用红线画用红线画sin(x),用绿圈画用绿圈画cos(x)【解【解】x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,r,x,z,go)画出的波形如图所示。画出的波形如图所示。(2)符号函数符号函数(显函数、隐函数和参数方程显函数、隐函数和参数方程)画图画图 ezplot(f(x),a,b)表示在表示在axb绘制显函数绘制显函数f=f(x)的函数的函数图图ezplot(f(x,y),xmin,xmax,ymin,ymax)表示在区间表示在区间xminxxmax和和 yminyym
9、ax绘绘制制隐函数隐函数f(x,y)=0的函数图的函数图 ezplot(x(t),y(t),tmin,tmax)表示在区间表示在区间tminttmax绘制参数方程绘制参数方程x=x(t),y=y(t)的函数图的函数图 14.2 Simulink仿真 在在start进入进入Simulink菜单,选择菜单,选择 Simulink Library Browser,打开打开Simulink库函数,选择库函数,选择 File New打开编辑窗口。打开编辑窗口。在在MATLAB的的 Command窗口直接键入窗口直接键入Simulink即可即可打开打开Simulink库函数窗口。然后在模块库浏览器的菜单库
10、函数窗口。然后在模块库浏览器的菜单“File”/“New”/“Model”命令可以打开编辑窗口如图所示。命令可以打开编辑窗口如图所示。(1)(1)建立模型窗口并保存为以建立模型窗口并保存为以.mdl为后缀的模型文件;为后缀的模型文件;(2)(2)将功能模块由模块库窗口复制到模型编辑将功能模块由模块库窗口复制到模型编辑窗口,进行参数设置;窗口,进行参数设置;(3)(3)连接模块,从而构成需要的系统模型。连接模块,从而构成需要的系统模型。创建一个简单的模型大致有三个步骤,即创建一个简单的模型大致有三个步骤,即14.2.1 Simulink常用模块1.1.电源电源Sources模块模块从工作空间输入
11、从工作空间输入 正弦波正弦波 信号发生器信号发生器阶跃函数阶跃函数 2.2.数学运算数学运算Math Operations模块模块 加、减运算加、减运算 sumsum 增益增益 Gain3.3.连续函数连续函数Continuous模块模块 4.4.输出输出Sinks模块模块 传递函数传递函数输出到工作空间输出到工作空间 XYXY示波器示波器 显示器显示器 14.2.2 功率电子功率电子SimPowerSystems模块模块 1.1.电源电源(Electrical Sources)模块模块直流电压源、直流电压源、交流电压源、交流电压源、交流电流源、交流电流源、受控电源、受控电源、三相电源等,三相
12、电源等,如图所示。如图所示。2.2.元件(元件(ElementsElements)模块)模块主要应用串联主要应用串联RLCRLC支路和并联支路和并联RLCRLC支路。通过参数设支路。通过参数设置就可把支路变成单一电阻、电容或者电感元件。置就可把支路变成单一电阻、电容或者电感元件。3.3.测量(测量(MeasurementsMeasurements)模块)模块在测量模块中,电压测量(在测量模块中,电压测量(Voltage MeasurementVoltage Measurement)和电流测量(和电流测量(Current MeasurementCurrent Measurement)可以用来测量
13、)可以用来测量所在支路的电压值和电流值。所在支路的电压值和电流值。14.2.3 仿真控制设置仿真控制设置的主界面如图所示。仿真控制设置的主界面如图所示。主要选项有起始时间、终止时间、仿真步长模式和主要选项有起始时间、终止时间、仿真步长模式和仿真算法等。仿真算法等。14.3 用MATLAB分析线性电路 用用MATLABMATLAB分析线性电路包括:分析线性电路包括:直流电路直流电路暂态电路暂态电路正弦稳态电路正弦稳态电路14.3.1 直流电路的仿真分析【例【例14.2】下图所示为直流电阻电路,其中下图所示为直流电阻电路,其中 ,。试求电流。试求电流 和电压和电压 、。21R 42R123R 44
14、R125R 46R 27RV10SU3I4U7U clear;US=10;R1=2;R2=4;R3=12;R4=4;R5=12;R6=4;R7=2;%为给定元件赋值为给定元件赋值R11=R1+R2+R3;R12=-R3;R21=-R3;R23=-R5;%为系数矩阵各元素赋值为系数矩阵各元素赋值R32=-R5;R22=R3+R4+R5;R13=0;R31=0;R33=R5+R6+R7;A=R11 R12 R13 0 0 0;R21 R22 R23 0 0 0;R31 R32 R33 0 0 0;1-1 0-1 0 0;0 4 0 0-1 0;0 0 2 0 0-1;%列出系数矩阵列出系数矩阵A
15、AB=1;0;0;0;0;0;%列出系数矩阵列出系数矩阵B BX=AB*US;%解出解出X【解】首先利用编写程序(【解】首先利用编写程序(m m文件)的方法来分析。文件)的方法来分析。其次利用其次利用Simulink仿真工具分析上图。仿真工具分析上图。【例【例14.3】下图所示为含有受控源的直流电阻电路,下图所示为含有受控源的直流电阻电路,受控源为受控源为VCCSVCCS。已知。已知 ,。试求电压。试求电压 。11R 22R 33RV10SUA15SI2U clear;US=10;IS=15;R1=1;R2=2;R3=3;%为给定元件赋值为给定元件赋值G22=1/R1+1/R2+1/R3;G3
16、3=1/R3;G21=-1/R1;%为系数矩阵各元素赋值为系数矩阵各元素赋值G23=-1/R3;G32=-1/R3;G31=0;A=1 0 0;G21 G22 G23;G31 G32-0.25 G33;%列出系数矩阵列出系数矩阵AB=1 0;0 0;0 1;USS=US;IS;%列出系数矩阵列出系数矩阵BX=AB*USS;%解出解出XU2=X(2)【解】首先利用编写程序(【解】首先利用编写程序(m m文件)的方法来分析。文件)的方法来分析。其次利用其次利用Simulink仿真工具分析上图。仿真工具分析上图。14.3.2 暂态电路的仿真分析 【例【例14.4】下图所示为典型的二阶电路,其中下图所
17、示为典型的二阶电路,其中 ,当当t=0t=0时开关闭合,试求电容上的电压时开关闭合,试求电容上的电压 。V10SU 41R2.02RF1CH1LA00LiV00CuCu clear;Function b01t=0:1e-2:40;%仿真时间区间仿真时间区间t,y=ode45(DyDt50,t,0;0);%解微分方程解微分方程U=10;R1=4;R2=0.2;C=1;L=1;%为给定元件赋值为给定元件赋值plot(t,y(:,1)%画曲线画曲线function yd=DYDt50(t,y)%定义函数定义函数DYDtU=10;R1=4;R2=0.2;C=1;L=1;%为给定元件赋值为给定元件赋值y
18、d=-(1/(R1*C)*y(1)-(1/C)*y(2)+(1/(R1*C)*U (1/L)*y(1)-(R2/L)*y(2);%微分方程表达式微分方程表达式【解】首先利用编写程序(【解】首先利用编写程序(m m文件)的方法来分析。文件)的方法来分析。其次利用其次利用Simulink仿真工具分析上图。仿真工具分析上图。两种方法的仿真结果比较。两种方法的仿真结果比较。14.3.3 正弦稳态电路的仿真分析 【例【例14.4】图】图a a所示为典型的正弦稳态电路,其中电路所示为典型的正弦稳态电路,其中电路中含有中含有VCCSVCCS的电流为的电流为 ,设设O O点为参考点,试求结点点为参考点,试求结
19、点a a、b b的电压的电压 和和 。15.0 UV4510SU11R 22RmH4.01LF10001Crad/s1000aoUboU clear;R1=1;R2=2;L1=4e-4;C1=1e-3;US=5*sqrt(2)-j*5*sqrt(2);%为给定元件赋值为给定元件赋值W=1000;ZR1=1;ZR2=2;ZL1=j*W*L1;ZC1=1/(j*W*C1);Y11=1/(ZR1+ZC1)+1/ZL1+1/ZR2;Y22=1/ZR2;%为系数矩阵各元素赋值为系数矩阵各元素赋值Y12=-1/ZR2;Y21=-1/ZR2;A=Y11 Y21;(Y12-0.5)Y22;B=1/(ZR1+Z
20、C1)0;0 0;%列出各系数矩阵列出各系数矩阵X0=AB*US;0;%可求得结点可求得结点a、b的结点电压、的结点电压、,它们是复数它们是复数Uao=X0(1),uao=abs(Uao),uanga=angle(Uao);%求模和辐角求模和辐角Ubo=X0(2),ubo=abs(Ubo),uangb=angle(Ubo)%求模和辐角求模和辐角t=0:1e-4:0.02;%定义时间区间定义时间区间 ut=ubo*sin(W*t+uangb);%的表达式的表达式plot(t,ut)%画的曲线画的曲线【解】首先利用编写程序(【解】首先利用编写程序(m m文件)的方法来分析。文件)的方法来分析。其次利用其次利用Simulink仿真工具分析上图。仿真工具分析上图。两种方法的仿真结果比较。两种方法的仿真结果比较。