《MATLAB基础知识考试复习总结.docx》由会员分享,可在线阅读,更多相关《MATLAB基础知识考试复习总结.docx(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第一章 MAT LAB基础1系统仿真是依据被探讨的真实系统的数学模型探讨系统性能的一门学科,现在 尤指利用计算机去探讨数学模型行为的方法,即数值仿真。2 MAT LAB集计算,可视化及编程于一身。其主要产品模块构成:(1 ) M A T L A B ( 2 ) MATLAB toolbox ( 3 ) MATLAB Compiler ( 4 ) simulink(5)stateflow(6)Real-Time Workshopo3MATLAB语言被称为第四代计算机语言。有以下几个主要特点:编程效率高;运 用便利:高效便利的科学计算;先进的可视化工具;开放性、可扩展性强;运行 时动态连接外部C或
2、FORTRAN应用函数;在独立C或FORTRAN程序中调用MATLAB 函数;输入输出各种MAT LAB及其他标准格式的数据文件;创建图文并茂的 技术文档;特殊应用工具箱;高效仿真工具Smulink。4变量命名规则:变量名、函数名对字母大小写敏感;变量名第一个字母必需是 英文字母(只能是英文、数字和下连线)。5 real(z) 求复数Z实部imag(Z) 求复数Z虚部abs (z)求复数Z的模angle(Z)求复数Z的相角(单位是弧度)callback 回校函数 mdata二csvread( engdata.txt)clc清除指令窗elf清除图形窗cd设置当前工作书目clear清除工作空间保存
3、的变量edit打开M文件编辑器exit、quit关闭、退出MATLAB6 c=3+5ic=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,都能供应
4、 帮助;MAT LAB还供应现场帮助,用鼠标点亮指令并点击右键,在弹出的菜单中选择Help On Selectionlo其次章数据及其运算1简洁数组生成方法:逐个元素输入法;冒号生成法x=a:intc:b; x=linspace (a, b, n) = a: (b-a) / (n-1) :b; logspace (wl, w2, n)2 diag(3,3,3)产生对角形数组ans =300030003 eye (3)产生单位数组ans =100010001 magic (3)产生魔方数组ans =816492 ones(3)产生全1数组 ans =111111111 rand(3)产生0、1间
5、随机数组ans =0. 81470. 90580. 12700. 91340. 63240. 09750. 27850. 54690. 9575 zeros (3)产生全。数组ans =000 000000 zeros (3, 2)ans =0000003一位数组寻访 x=2. 0000 1. 0472 1.7321 3. 0000+5. OOOOi; xl=x(3)xl =1. 7321 x2=x(l 2 4)x2 =2. 00001. 04723. 0000 + 5. 0000i x3=x (2: end)x3 =1. 04721.73213. 0000 + 5. 0000i x4=x(4
6、:-l:1)x4 =3. 0000 + 5. OOOOi1. 73211. 04722. 00004二维数组寻访:A (:,j)表示A矩阵的第j列全部元素;A (i,:)表示A矩阵第i行全部元素;A (1:3, 2:4)表示对A矩阵取第3行,第24列中全部元素。例: A=rand (3, 5)A =0. 11900. 34040. 75130. 69910. 54720. 49840. 58530. 25510. 89090.13860. 95970. 22380. 50600. 95930. 1493 A1=A(1,:)Al =0.11900. 34040. 75130. 69910. 54
7、72 A2=A(1:2,2:5)A2 =0. 34040. 75130. 69910. 54720. 58530. 25510. 89090.1386 A3=A(1, 3, 2, 5)A3 =0. 34040. 54720. 22380.14935 非数(Not a Number)指的是 0/0、8/8、0x8之类的运算,用NaN或nan表示。非数参及运算所得结果也是非数,具有传递性;非数没有大小,不能比较两 个非数的大小。6在MATLAB中,一空数组除了用表示外,某维或若干维长度均为0的数组都是空数组。7逻辑运算符:&及|或 非第三章数据和数组的可视化1例t=(0:pi/50:2*pi);先
8、生成(101x1)的时间采样列向量k=0.4:0.1:1;X=cos (t)*k; plot(X); Plot (t, X)%生成(1x7)的行向量%生成(101x7)的矩阵%绘制曲线,横坐标为每列元素对应的下标%以1为横坐标,X为纵坐标,按Y的列数绘制曲线线型符号 含义实线虚线点划线双划线色调符号bgrCmykW含义蓝绿红青品红黄里 J、白grid off不画分格线box off使坐标开启text (x, y, s)在(x, y)处写字符注释ylable(s)纵坐标轴名2 grid on画出分格线 box on使坐标封闭 title(s)书写图名 xlable(s)横坐标轴名hold on,
9、 hold off 多层叠绘 axis ( 0, 1, -1,17)坐标范围 alpha (0)完全透亮,alpha (0. 5)半透亮,alpha (1)完全不透亮plotyy (XI, Yl, X2, Y2)双纵坐标 shading flat, interp, faceted3 view(az, el)通过方位角、俯视角设置视点,例view (-82, 58)View(vx, xy, xz)通过直角坐标设置视点3 M文件包括M脚本文件和M函数文件;M脚本文件的执行过程及在指令窗中干脆输入指令的效果一样,但效率更高;M函数文件及脚本文件类似之处在于他们 都是一个扩展名为“.m”的文件;M函数
10、文件通常由以下几个部分组成:函数定 义行、H1行、函数帮助文本、函数体、注释。legend (si, s2, )在图的右上角建立图例3 例:t=(0:0. 02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3 (x, y, z, x, y, z, bd,) box on legend C 链,宝石)4 x=-4:4; y=x;X, Y=meshgrid(x, y);Z=X.-2+丫/2;subplot (1, 3, 1), surf (X, Y, Z)%曲面图subplot (1, 3, 2), mesh (X, Y, Z)%网线图%曲线图subplot (1
11、, 3, 3), plot3 (x, y, x/2+y/2) ; box on 5 x, y =meshgrid (-3:0.1:3, -2:0. 1:2);z=(x. *2+2*x). *exp(-x. 2-y. 2-x. *y);subplot (1, 2, 1), mesh (x, y, z)axis (-3, 3, -2, 2, -0. 5,1,0)title (* toushi*)hidden off%透视被叠压图形subplot (1, 2, 2), mesh (x, y, z) titleC xiaoyin1)hidden on%消隐被叠压图形 axis (1-3, 3, -2,
12、 2, -0. 5,1, 0)第四章MATLAB编程Ifor x=array说明:循环体执行的次数由数组array的列数确定 (commands)例:for x=0. 2:0. 2:0. 8endb=sqrt(l-x2);end当expression为真时,执行循环体直if expression commands else2while expression 说明: commands到为假end3if expressioncommandsendend 4 ezplot(f)其中4f (x,y)为用符号函数表示的隐函数例:ezplot (* x*2+x*y+y*2-10,)5x, y=ginput
13、(n)该指令用鼠标从图形上获得n个点的坐标(x, y) 6例:用冒泡法对数组八=1 6 8 9 3 5 6进行升序排序 解: r=length(A);for i=l:r-lfor j=i+l:rif AA(j)%A(i)A(j)时,进行降序排序temp=A(i);A =A(j); A(j)=temp; end end end y=A第五章系统模型1计算机仿真过程:建模;模型实现;仿真分析。2 num=5, 3;den=l, 6, 11, 6;%sys=tf (num, den)sys=tf (num, den)Transfer function:5 s + 3s-3 + 6 s2 + 11 s
14、 + 6 sys=tf(5 3, 1 6 11 6)Transfer function:5 s + 3s-3 + 6 s2 + 11 s + 6 z=-0. 6;sys=zpk (Z, P, K)P=-3 -2 -1;k=5;sys=zpk(z, p, k) Zero/pole/gain:5 (s+0. 6)(s+3) (s+2) (s+1) sys=zpk (-0. 6, -3 -2 -1, 5)Zero/pole/gain:5 (s+0. 6)及h成正比,明显选择一个合适的积分步长可使总误差达到最小。3数值积分常用方法:欧拉法、梯度法、龙格-库塔法、Gear法4 step(sys) ste
15、p(sys, Tfinal) step(sys, T) 阶跃响应仿真说明:sys是系统模型;Tfinal为仿真时间,若省略则由系统默认;T为仿真时 间向量,T=TO:dt:Tfinal,dt为连续系统离散化的采样周期,TO为仿真起先时 间。5 impulse (sys)脉冲响应仿真6U, T=gensig(Type, Tau)信号发生器u, t=gensig( square , 5,10)说明:Type为信号类型:sin、square、pulse; Tau为信号周期;U为信号值向 量;T为及U对应的时间向量。7 lsim(sys, U, T)随意输入相应函数8initial (sys, x0)
16、用于计算零输入状态下,由初始状态x0所引起的响应,只 能用于状态空间模型。9T, y=ode45( f ,tspan,yo, options)为一种单步显式,变步长 RK-45 算法, 用于求解非刚性微分方程;ode23也一样;odell3属于多步法,求解非刚性。10例:已知某系统运动方程及初始条件为:yf =y2y 3; y2 =-yly3;y3 =-2yly2yl(0)=0; y2 (0) =0. 5; y3 (0) =-0. 5求时间区间t=0, 20微分方程的解。解:(1)建立描述系统微分方程的m-函数文件rigit.mfunction dy=rigit(t, y)dy=zeros(3
17、, 1);dy(l)=y(2)*y(3);dy (2)=-y(l)*y (3);dy(3)=-2*y(l)*y(2);编写调用函数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,y3)11已知二阶微分方程y-(-2)y+y=0y (0) =0, y (0)=1求时间区间t=0, 20微分方程的解。解:(1)将微分方程表示成一阶微分方程组:yl=y; yl=y2; y2, =(1_y
18、2)y2_y建立描述系统微分方程的m-函数文件vdp.mfunction dy=vdp(t, y)dy=zeros (2,1);dyOD=y ;dy二 (y-2)*y-y(3)编写MATLAB主程序,并执行T, y=ode45C vdp, 0, 20, 0,1);Plot(T, y(:,y(:,2),b:);legend ( yl, y2)第七章系统频率响应及其仿真1频率响应是指系统对谐波输入的稳态响应;频率特性是指系统在正弦信号作用下,稳态输出及输入之比对频率的关系特性。G (jw) =Xo (jw) /Xi (jw) =A (jw) j G (w)2绘制G (s)二制(s+l)/s(s”+
19、15s+4)的幅频特性曲线和相频特性曲线解:num=ll, 11 ;den=l 15 4 0;w=0. 05:0. 01:0. 5*pi;Gw=polyval(num, j*w). /polyval(den, j*w);mag=abs (Gw);% (p=0) wcwg 不稳定subplot (2,1, 1), plot (w, mag);grid on;titleC 幅频特性)ylableC |Gpsubplot (2,1, 2), plot (w, theta);grid on;title(相频特性)Xlable ( omega(rad/s), ylable ( deg)3多项式函数pol
20、yval (P,X) P:系数向量X:自变量4系统频率响应函数freqs (b, a, w) b、a为传递函数分子分母系数向量h=freqs (b, a, wO指定正实角频率,返回响应值;h, w=freqs(b, a)自动确定200个频率点,返回响应值和对应角频率freqs (b, a, w)绘制对指定正实角频率向量的幅值和相频特性曲线。5nyquist (sys)绘制 nyquist 图nyquist (sys, w)指定频率范围w,绘制nyquist图nyquist(sysl, sys2, , sysn, w) 在同一坐标系绘制多个 nyquistRe, Im, w=nyquist(sy
21、s)返回频率响应的实部和虚部及对应w,不绘图6bode (sys)绘制 bode 图bodemag (sys)仅绘制幅频bode图7margin(sys)绘制Bode图,标出幅值及相位裕度。kg, y, wg, Wc=margin (sys)返回幅值裕度kg,相位裕度y,相位穿越频率Wc 和幅值穿越频率Wg,不绘制Bode图。第八章限制系统的综合校正1限制系统的性能指标大体上可分为两类,即频域指标和时域指标。2已知系统传递函数为G(s)=5(s+l)/(s-3+4s-2+6s+5),求最大超调量Mp,调整时 间ts和峰值时间tp.解: num=5 5 ;den=l 4 6 5; sys=tf
22、(num, den);f inalvalue=polyval(num, 0)/polyval(den, 0);y, t=step(sys); %y (oo)=iim sy (s)=limG(s)yp, k=max (y); tp=t (k);G (s) =Y(s)/(l/s)=sY (s)Mp=100*(yp-finalvalue)/finalvalue;len=length(t);while(y(len)0. 98*finalvalue)&(y(len)1. 02*finalvalue)len=len-l;end;ts=t(len);step(sys)3己知单位负反馈系统的开环传递函数为Gk
23、=10/s(s+l)(s+5),求其单位斜坡输 入时,系统稳态误差。解:G k=zpk(, 0 -1 -5, 10);Xi=zpk(, 0 0, 1);sys=l/(l+Gk);Es=sys*Xi; %dcgain(sys)=lim sys(s)ess=dcgain(tf (1 0, l)*Es); %计算稳态偏差 ss=lim sE(s) t=0:0. 05:10; xi=t;E (s) =Xi (s)/ (1+G (s) H (s)y=lsim(sys*Gk, xi, t); E(s)=H(s)El (s) plot (t, xi, r-., t, y, t, xi-y,,,k:) leg
24、end ( shuru, * shuchu, wucha, 0);xlable ( t (s), ylable ( fuzhi、wucha,)4频域指标包含:(1)开环频域指标:主要指幅值穿越频率Wc,幅值裕度频率Kg, 相位裕度丫等:(2)闭环频域指标:谐振峰值Mr,谐振频率Wr,闭环频宽Wcc 等。5 PID校正例:设校正前开环传递函数为G (s) =4/(2s+l) (0. 5s+l) (0.05s+l), 设计滞后限制器使系统相位裕度为60度,开环增益为49。解:(1)计算变更增益前后,系统开环对数频率特性Gp=tf (1,(1, 0. 5, l)*tf(l, 0. 05,1)*4;G
25、pl=Gp*49/4:figure(l), margain(Gp)figure(2), margain(Gpl)(2)计算变更增益后,具有希望相位裕度的系统开环对数幅频穿越频率呢 W=logspace(T, 2,100);稳态误差:ess=lim e(t)=lim sEl (s) mag, ph=bode (Gpl, W);稳态偏差:e ss=lim e (t)=lim sE(s)mag=reshape (mag, 100,1) ;GB(s)=X0(s)/XI (s)=G(s)/(1 G (s) H(s) ph=reshape (ph, 100, 1);wc=interpl(ph, W, -1
26、10)(3)确定校正环节magllO=interpl(ph, mag, -110);Beta=magllOTl=6/Wc;BTl=Beta*Tl;Gc=tf(Tl,l,BTl, 1)(4)系统校核 sys=Gc*Gplfigure(3), margin (sys)(5)时间响应比较fi gure (4)subplot (2,1,1), step (feedback (Gpl, 1, -1)subplot (2,1, 2), step (feedback (sys, 1, -1), f r)(s+3) (s+2) (s+1) z, p, k =zpkdata (sys, v)z =-0. 600
27、0P = -3-2-1k =5 num, den =tfdata (sys, v)num =0053den =161163pzmap(sys)注:该指令将在S平面上用符号“0”表示零点,符号“X”表示 极点。4 例:延时模型。G(s) =e-0. 51(5s+3/s*3+6s*2+11 s+6)num=5 3 ;sys=tf (num, den, inputdelay, tao)den=l 6 11 6;sys=zpk(z, p, k,1 * * 4 5 inputdelay,, tao)sys=tf (num, den, inputdelay), 0. 5)Transfer function:5 s + 3exp (-0. 5*s) *s3 + 6 s*2 + 11 s + 65 串联模型:sys=series(sysl, sys2)=sysl*sys2并联模型:sys=parallel (sysl, sys2)=sysl+sys2反馈连接:sys=feedback(sysl, sys2, sign)第六章系统时间响应及其仿真1对连续时间系统进行数字动态仿真,主要有两种方法:基于数值积分的仿真方 法;基于离散相像法的仿真方法。2数值积分方法所得到的离散数值解只是精确解的近似,其误差来自于两个方 面,即舍入误差和局部截断误差。舍入误差及计算步长h成反比,局部截断误差
限制150内