还剩6页未读,继续阅读
文本内容:
第一章基础MAT LAB1系统仿真是依据被探讨的真实系统的数学模型探讨系统性能的一门学科,现在尤指利用计算机去探讨数学模型行为的方法,即数值仿真2MAT LAB集计算,可视化及编程于一身其主要产品模块构成1M AT LA B2MATLAB toolbox3MATLAB Compiler4simulink5stateflow6Real-Time Workshopo3MATLAB语言被称为第四代计算机语言有以下几个主要特点编程效率高;运用便利高效便利的科学计算;先进的可视化工具;开放性、可扩展性强;运行时动态连接外部C或FORTRAN应用函数;在独立C或FORTRAN程序中调用MATLAB函数;输入输出各种MAT LAB及其他标准格式的数据文件;创建图文并茂的技术文档;特殊应用工具箱;高效仿真工具Smulink4变量命名规则变量名、函数名对字母大小写敏感;变量名第一个字母必需是英文字母只能是英文、数字和下连线5realz求复数Z实部imagZ求复数Z虚部abs z求复数Z的模angleZ求复数Z的相角单位是弧度callback回校函数mdata二csvread engdata.txtclc清除指令窗elf清除图形窗cd设置当前工作书目clear清除工作空间保存的变量edit打开M文件编辑器exit、quit关闭、退出MATLAB6c=3+5i c=3+5*i a=3;b=5;c=a+b*i
7.3e-
42.78e23A.转置S.*B S./B B.\S A/n7CommandHistory历史指令窗记录着用户在叮嘱指令窗中所输入过的全部指令行,且全部这些被记录的指令行都能被复制,并送到指令窗中再运行8Workspace Browser工.作空间阅读器也叫内存阅读器,他保存了指令窗所运用过的全部变量除非有意删除,可通过该阅读器对内存变量进行操作10点击MATLAB桌面工具条上的?图标,或选择下拉菜单项【Help],都能供应帮助;MATLAB还供应现场帮助,用鼠标点亮指令并点击右键,在弹出的菜单中选择[Help OnSelectionlo其次章数据及其运算1简洁数组生成方法逐个元素输入法;冒号生成法[x=a:intc:b];[x=linspacea,b,n]=[a:b-a/n-1:b];logspace wl,w2,n2»diag[3,3,3]产生对角形数组ans=300030003»eye3产生单位数组ans=100010001»magic3产生魔方数组ans=816492»ones3产生全1数组ans=111111111ans=
0.
81470.
91340.
27850.
90580.
63240.
54690.
12700.
09750.9575»rand3产生
0、1间随机数组»zeros3产生全数组ans=000000000»zeros3,2ans=00003一位数组寻访»x=[
2.
00001.
04721.
73213.0000+
5.OOOOi];»xl=x3xl=
1.7321»x2=x[l24]x2=
2.
00001.
04723.0000+
5.0000i»x3=x2:endx3=
1.
04721.
73213.0000+
5.0000i»x4=x4-l:1x4=
3.0000+
5.OOOOi
1.
73211.
04722.00004二维数组寻访A,j表示A矩阵的第j列全部元素;A i,表示A矩阵第i行全部元素;A1:3,2:4表示对A矩阵取第「3行,第2〜4列中全部元素例A=rand3,5A=
0.
11900.
34040.
75130.
69910.
54720.
49840.
58530.
25510.
89090.
13860.
95970.
22380.
50600.
95930.1493»A1=A1,:Al=
0.
11900.
34040.
75130.
69910.5472»A2=A1:2,2:5A2=
0.
34040.
75130.
69910.
54720.
58530.
25510.
89090.1386»A3=A[1,3],[2,5]A3=
0.
34040.
54720.
22380.149300示非数参及运算所得结果也是非数,具有传递性;非数没有大小,不能比较两个非数的大小5非数Not aNumber指的是0/
0、8/
8、0x8之类的运算,用NaN或nan表6在MATLAB中,一空数组除了用[]表示外,某维或若干维长度均为0的数组都是空数组7逻辑运算符及|或~非第三章数据和数组的可视化1例t=0:pi/50:2*pi;先生成101x1的时间采样列向量k=
0.4:
0.1:1;X=cos t*k;plotX;Plot t,X%生成1x7的行向量%生成101x7的矩阵%绘制曲线,横坐标为每列元素对应的下标%以1为横坐标,X为纵坐标,按Y的列数绘制曲线符号•—••——线型含义实线虚线点划线双划线符号b gr my k色调C里J、、、W含义蓝绿红青品红黄白grid off不画分格线box off使坐标开启text x,y,s在x,y处写字符注释ylables纵坐标轴名2grid on画出分格线box on使坐标封闭titles书写图名xlables横坐标轴名hold on,hold off多层叠绘axis[0,1,-1,17]坐标范围alpha0完全透亮,alpha
0.5半透亮,alpha1完全不透亮plotyy XI,Yl,X2,Y2双纵坐标shading[flat,interp,faceted]3view[az,el]通过方位角、俯视角设置视点,例view[-82,58]View[vx,xy,xz]通过直角坐标设置视点3M文件包括M脚本文件和M函数文件;M脚本文件的执行过程及在指令窗中干脆输入指令的效果一样,但效率更高;M函数文件及脚本文件类似之处在于他们都是一个扩展名为“.m”的文件;M函数文件通常由以下几个部分组成函数定义行、H1行、函数帮助文本、函数体、注释legend si,s2,•••在图的右上角建立图例3例:t=0:
0.02:2*pi;x=sint;y=cost;z=cos2*t;plot3x,y,z,,x,y,z,bd,box onlegend C链,宝石4»x=-4:4;y=x;[X,Y]=meshgridx,y;Z=X.-2+丫/2;subplot1,3,1,surf X,Y,Z%曲面图subplot1,3,2,mesh X,Y,Z%网线图subplot1,3,3,plot3x,y,x/2+y/2;box on5»[x,%曲线图y]=meshgrid-3:
0.1:3,-2:
0.1:2;z=x.*2+2*x.*exp-x.2-y.2-x.*y;subplot1,2,1,mesh x,y,zaxis[-3,3,-2,2,-
0.5,1,0]title*toushi*hidden off%透视被叠压图形subplot1,2,2,mesh x,y,z»titleC xiaoyin1hidden on%消隐被叠压图形axis1-3,3,-2,2,-
0.5,1,0]第四章MATLAB编程Iforx=array说明循环体执行的次数由数组array的列数确定commands例forx=
0.2:
0.2:
0.8end b=sqrt[l-x^2];end2while expression说明:当expression为真时,执行循环体直commands到为假end3if expressionif expressioncommandscommands elseendend4ezplotf其中4f x,y为用符号函数表示的隐函数例ezplot*x*2+x*y+y*2-10,5[x,y]=ginputn该指令用鼠标从图形上获得n个点的坐标x,y6例用冒泡法对数组八=
[1689356]进行升序排序解»r=lengthA;for i=l:r-lfor j=i+l:rif A⑴〉Aj%Ai〈Aj时,进行降序排序temp=Ai;A⑴=Aj;Aj=temp;end endend y=A第五章系统模型1计算机仿真过程建模;模型实现;仿真分析2num=[5,3];den=[l,6,11,6];%sys=tf num,densys=tf num,denTransfer function:5s+3s-3+6s^2+11s+6sys=tf
[53],
[16116]Transfer function:5s+3s-3+6s^2+11s+6z=-
0.6;P=[-3-2-1];sys=zpk Z,P,Kk=5;sys=zpkz,p,k Zero/pole/gain:5s+
0.6s+3s+2s+1»sys=zpk-
0.6,[-3-2-1],5Zero/pole/gain:5s+
0.6及h成正比,明显选择一个合适的积分步长可使总误差达到最小3数值积分常用方法欧拉法、梯度法、龙格-库塔法、Gear法4stepsys stepsys,Tfinal stepsys,T阶跃响应仿真说明sys是系统模型;Tfinal为仿真时间,若省略则由系统默认;T为仿真时间向量,T=[TO:dt:Tfinal],dt为连续系统离散化的采样周期,TO为仿真起先时间5impulse sys脉冲响应仿真6[U,T]=gensigType,Tau信号发生器[u,t]=gensig square,5,10说明:Type为信号类型sin、square、pulse;Tau为信号周期;U为信号值向量;T为及U对应的时间向量7lsimsys,U,T随意输入相应函数8initial sys,x0用于计算零输入状态下,由初始状态x0所引起的响应,只能用于状态空间模型9[T,y]=ode45f,tspan,yo,options为一种单步显式,变步长RK-45算法,用于求解非刚性微分方程;ode23也一样;odell3属于多步法,求解非刚性10例已知某系统运动方程及初始条件为yf=y2y3;y2=-yly3;y3=-2yly2yl0=0;y20=
0.5;y30=-
0.5求时间区间t=[0,20]微分方程的解解1建立描述系统微分方程的m-函数文件rigit.mfunction dy=rigitt,ydy=zeros3,1;dyl=y2*y3;dy2=-yl*y3;dy3=-2*yl*2;y⑵编写调用函数rigit的M文件,并执行[T,y]=ode45,rigit*,[0,20],[0,
0.
5.-
0.5];Plot T,y:,1,*r,T,y:,2,*b**,T,y:3,*k-*;legend yl,y2,y311已知二阶微分方程y--2y+y=0y0=0,y0=1求时间区间t=[0,20]微分方程的解解1将微分方程表示成一阶微分方程组yl=y;yl=y2;y2,=1_y「2y2_y]⑵建立描述系统微分方程的m-函数文件vdp.mfunction dy=vdpt,ydy=zeros2,1;dyOD=y⑵;dy⑵二『y⑴-2*y⑵-y⑴3编写MATLAB主程序,并执行[T,y]=ode45C vdp,[0,20],[0,1];PlotT,y:,y:,2,b:;legendyl,y2第七章系统频率响应及其仿真1频率响应是指系统对谐波输入的稳态响应;频率特性是指系统在正弦信号作用下,稳态输出及输入之比对频率的关系特性G jw=Xo jw/Xi jw=A jwj Gw2绘制G s二制s+l/ss”+15s+4的幅频特性曲线和相频特性曲线解num=[ll,11];den=[l1540];w=
0.05:
0.01:
0.5*pi;Gw=polyvalnum,j*w./polyvalden,j*w;mag=abs Gw;%p=0wcwg系统稳定theta=angleGw;wcwg不稳定subplot2,1,1,plot w,mag;grid on;titleC幅频特性ylableC|Gpsubplot2,1,2,plot w,theta;grid on;title相频特性Xlable\omegarad/s,ylabledeg3多项式函数polyval P,X P:系数向量X自变量4系统频率响应函数freqs b,a,w b、a为传递函数分子分母系数向量h=freqs b,a,wO指定正实角频率,返回响应值;[h,w]=freqsb,a自动确定200个频率点,返回响应值和对应角频率freqs b,a,w绘制对指定正实角频率向量的幅值和相频特性曲线5nyquist sys绘制nyquist图nyquist sys,w指定频率范围w,绘制nyquist图nyquistsysl,sys2,•••,sysn,w在同一坐标系绘制多个nyquist[Re,Im,w]=nyquistsys返回频率响应的实部和虚部及对应w,不绘图6bode sys绘制bode图bodemag sys仅绘制幅频bode图7marginsys绘制Bode图,标出幅值及相位裕度[kg,y,wg,Wc]=margin sys返回幅值裕度kg,相位裕度y,相位穿越频率Wc和幅值穿越频率Wg,不绘制Bode图第八章限制系统的综合校正1限制系统的性能指标大体上可分为两类,即频域指标和时域指标2已知系统传递函数为Gs=5s+l/s-3+4s-2+6s+5,求最大超调量Mp,调整时间ts和峰值时间tp.解:»num=
[55];den=[l465];sys=tf num,den;f inalvalue=polyvalnum,0/polyvalden,0;[y,t]=stepsys;%y oo=ii ys=limGsms[yp,k]=max y;tp=t k;G s=Ys/l/s=sY sMp=100*yp-finalvalue/finalvalue;len=lengtht;whileylen
0.98*finalvalueylen
1.02*finalvaluelen=len-l;end;ts=tlen;stepsys3己知单位负反馈系统的开环传递函数为Gk=10/ss+ls+5,求其单位斜坡输入时,系统稳态误差解G k=zpk[],[0-1-5],10;Xi=zpk[],
[00],1;sys=l/l+Gk;Es=sys*Xi;%dcgainsys=lim syssess=dcgaintf
[10],[l]*Es;%计算稳态偏差£ss=lim sEst=[0:
0.05:10];xi=t;E s=Xi s/1+G sH sy=lsimsys*Gk,xi,t;Es=HsEl splot t,xi,r-.,t,y,t,xi-y,,,k:legend shuru,,*shuchu,,wucha,,0;xlablet s,ylablefuzhi、wucha,4频域指标包含1开环频域指标主要指幅值穿越频率Wc,幅值裕度频率Kg,相位裕度丫等2闭环频域指标谐振峰值Mr,谐振频率Wr,闭环频宽Wcc等5PID校正例:设校正前开环传递函数为G s=4/2s+l
0.5s+l
0.05s+l,设计滞后限制器使系统相位裕度为60度,开环增益为49解1计算变更增益前后,系统开环对数频率特性Gp=tf1,⑵1,[
0.5,l]*tfl,[
0.05,1]*4;Gpl=Gp*49/4:figurel,margainGpfigure2,margainGpl2计算变更增益后,具有希望相位裕度的系统开环对数幅频穿越频率呢W=logspaceT,2,100;稳态误差ess=lim et=lim sEls[mag,ph]=bode Gpl,W;稳态偏差ess=lim et=lim sEsmag=reshape mag,100,1;GBs=X0s/XI s=Gs/1±G sHs ph=reshape ph,100,1;wc=interplph,W,-1103确定校正环节magllO=interplph,mag,-110;Beta=magllOTl=6/Wc;BTl=Beta*Tl;Gc=tf[Tl,l],[BTl,1]4系统校核sys=Gc*Gplfigure3,margin sys5时间响应比较fi gure4subplot2,1,1,step feedbackGpl,1,-1subplot2,1,2,step feedbacksys,1,-1,f rs+3s+2s+1»[z,p,k]=zpkdata sys,vz=-
0.6000P=-3-2-1k=5»[num,den]=tfdata sys,vnum=0053den=161163pzmapsys注该指令将在S平面上用符号“0”表示零点,符号“X”表示极点4例延时模型Gs=e-
0.515s+3/s*3+6s*2+11s+6num=
[53];sys=tf num,den,inputdelay,,taoden=[l6116];sys=zpkz,p,k,1**45inputdelay,,taosys=tf num,den,inputdelay,
0.5Transfer function:5s+3exp-
0.5*s*s3+6s*2+11s+65串联模型sys=seriessysl,sys2=sysl*sys2并联模型sys=parallel sysl,sys2=sysl+sys2反馈连接sys=feedbacksysl,sys2,sign第六章系统时间响应及其仿真1对连续时间系统进行数字动态仿真,主要有两种方法基于数值积分的仿真方法;基于离散相像法的仿真方法2数值积分方法所得到的离散数值解只是精确解的近似,其误差来自于两个方面,即舍入误差和局部截断误差舍入误差及计算步长h成反比,局部截断误差。
个人认证
优秀文档
获得点赞 0