当前位置:文档之家› MATLAB复习知识点汇总

MATLAB复习知识点汇总

MATLAB 复习1、实现符号函数运算功能的函数m 文件为:function y=sgn(x)if x<0y1=-1;elseif x==0y1=0;elsey1=1;endy=y1;2、求满足1+2+3+…n<100的最大正整数n 的MATLAB 程序为:sum=0;n=0;while sum<100n=n+1;sum=sum+n;end1,0,sgn()0,0,1,0x y x x x >⎧⎪===⎨⎪-<⎩sum=sum-n;n=n-1;n,sum3、m文件有两种形式,一种称为命令文件(Script File),另一种称为函数文件(Function File),两种文件的扩展名都是m。

4、反馈控制系统品质要求:稳定性、准确性、快速性5、按不同系统的特征方程式,可将自动控制系统分为线性系统和非线性系统。

6、MATLAB控制相关的工具箱(1)控制系统工具箱(2)系统辨识工具箱(3)模型预测控制工具箱(4)鲁棒控制工具箱(5)神经网络工具箱7、MATLAB系统的构成(1)开发环境(2)数学函数库(3)MATLAB语言(4)图形处理系统(5)应用程序接口8、常用工具箱(1)控制类工具箱(2)应用数学类工具箱(3)信号处理类工具箱(4)其他常用工具箱9、MATLAB语句形式:>>变量=表达式10、MATLAB常用命令quit 关闭MATLABexit 关闭MATLABclc 清除MATLAB 命令窗口中的所有显示内容clear 清除工作空间中保存的所有变量11、MATLAB 基本数据类型:双精度数组、字符串数组、元胞数组、结构数组12、矩阵的创建(1)直接输入法(2)通过数据文件创建矩阵(3)通过m 文件创建矩阵(4)通过函数创建矩阵(5)冒号法13、冒号法[1]冒号法构造向量冒号表达式的一般格式为:向量名=初值:步长:终值[2]冒号法构造矩阵一般格式为:A(:,j ):表示矩阵A 的第j 列;A(i ,:):表示矩阵A 的第i 行。

A(i,j)表示取矩阵A 的第i 行第j 列交叉位置的元素14、矩阵的运算/(矩阵的右除)或\(矩阵的左除)A -1=inv(A) 矩阵的逆15、求下面方程组的根12312312323532255316x x x x x x x x x +-=⎧⎪-+=⎨⎪--=⎩>>A=[2,1,-3;3,-2,2;5,-3,-1];>>B=[5;5;16]; %列向量>>X=A\B16、矩阵的大小测度行数:m=size(A,1)列数:n=size(A,2)测行数和列数:d=size(A)17、矩阵的元素操作A(2,3):找出元素A(3,5)=-1:赋值18、符号变量和符号表达式①用函数sym建立符号变量、符号表达式和符号矩阵。

调用格式为:变量=sym(‘表达式’)②用函数syms建立符号变量、符号表达式和符号矩阵。

调用格式为:Syms var1 var2 var3 …19、符号微积分limit(f,x,a) 求表达式f当x→a时的极限diff(f) 求表达式f对缺省变量的微分diff(f,n) 求表达式f对缺省变量求n阶微分diff(f,v) 求表达式f对变量v的微分diff(f,v,n) 求表达式f对变量v的n阶微分int(f) 求表达式f对缺省变量的积分int(f,v) 求表达式f对变量v的积分int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分20、已知f(x)=ax2 +bx+c,求f(x)的微分和积分。

解:>>syms a b c x>>f=sym(‘a*x^2+b*x+c’)f =a*x^2+b*x+c>>diff(f,a)ans =x^2>>int(f)ans =1/3*a*x^3+1/2*b*x^2+c*x >>int(f,x,0,2)ans =8/3*a+2*b+2*c21、MATLAB绘图命令例在[0,2 ]用红线画sin x,用绿圈画cos x.x=linspace(0,2*pi,30); %%(30等分)y=sin(x);z=cos(x);plot(x,y,'r',x,z, 'go')符号函数(显函数、隐函数和参数方程)画图ezplot 命令(1)ezplot(‘f(x)’,[a,b])表示在a<x<b 绘制显函数f=f(x)的函数图.(2)ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])表示在区间xmin<x<xmax 和 ymin<y<ymax 绘制隐函数f(x,y)=0的函数图.(3)ezplot(‘x(t)’,’y(t)’,[tmin,tmax])表示在区间tmin<t<tmax 绘制参数方程x=x(t),y=y(t)的函数图. 例 在[-2,0.5],[0,2]上画隐函数0)sin(=+xy e x 的图.解:输入命令:ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])例 在[-1,2]上画22e sin(3)x y x =+的图形.解:先建M 文件myfun1.m :function Y=myfun1(x)Y=exp(2*x)+sin(3*x.^2)再输入命令:fplot(‘myfun1’,[-1,2])处理图形(1)GRID ON: 加格栅在当前图上 GRID OFF: 删除格栅(2)hh = xlabel(string):在当前图形的x 轴上加图例stringhh = ylabel(string): 在当前图形的y 轴上加图例stringhh = zlabel(string): 在当前图形的z 轴上加图例stringhh = title(string): 在当前图形的顶端上加图例string(3)hold on 保持当前图形, 以便继续画图到当前图上hold off 释放当前图形窗口22、Simulink 仿真实例例题1、使用Simulink 创建系统,求解非线性微分方程x x xx x 44)23(2=--.其初始值为2)0(,0)0(==x x,绘制函数的波形.例题2、力-质量系统,要拉动一个箱子(拉力f=1N),箱子质量为M(1kg),箱子与地面存在摩擦力[(b=0.4N(/m/s)],其大小与车子的速度成正比。

其运动方程式为:x M xb f =- 拉力作用时间为2s ,建构的模型为例题3、力-弹簧-阻尼系统,假设箱子与地面无摩擦存在,箱子质量为M(1kg),箱子与墙壁间有线性弹簧(k=1N/m)与阻尼器(b=0.3N/ms -1)。

阻尼器主要用来吸收系统的能量,吸收系统的能量转变成热能而消耗掉。

现将箱子拉离静止状态2cm 后放开,试求箱子的运动轨迹。

运动方程式为:0=++x b kx xM23、控制系统数学模型1、传递函数(Transfer Function :TF )模型在MATLAB 中,控制系统的分子多项式系数和分母多项式系数分别用向量num 和den 表示,即2、零极点增益(Zero-Pole-Gain :ZPK )模型在MATLAB 中,控制系统的零点和极点分别用向量Z 和P 表示,即Z =[z 1,z 2, …, z m ], P =[p 1, p 2, …, p n ]3、传递函数模型sys =tf (num ,den ) 生成传递函数模型sys直接生成传递函数模型。

在MATLAB 命令窗口中输入:>> sys =tf ([1 3 2],[1 5 7 3])4、零极点增益模型sys =zpk (z ,p ,k ) %建立连续系统的零极点增益模型sys 。

z ,p ,k 分别对应系统的零点向量,极点向量和增益sys2=tf (sys )%将零极点增益模型转换为传递函数模型【例2.1】 已知控制系统的传递函数为,用MATLAB 建立其数学模型【解】(1) 生成连续传递函数模型。

在MATLAB 命令窗口中输入:>> num =[1 3 2];>> den =[1 5 7 3];>> sys =tf (num , den ) 37523)(232+++++=s s s s s s G 2)3.0()2.0)(1.0()(+++=s s s s G【例2.3】系统的零极点增益模型为,用MATLAB 建立其传递函数模型。

【解】在MATLAB命令窗口中输入:>> z=[-0.1,-0.2];p=[-0.3,-0.3];k=1;>> sys=zpk(z,p,k)%建立系统的零极点增益模型5、模型连接(1)串联连接格式:sys=series(sys1,sys2)(2)并联连接格式:sys=parallel(sys1,sys2)(3)反馈连接格式:sys=feedback(sys1,sys2,sign)24、时域分析时域响应性能指标求取1、峰值时间[Y,k]=max(y) %求出y的峰值及相应的时间timetopeak=t(k) %获得峰值时间2、超调量C=dcgain(G) %求取系统的终值[Y,k]=max(y) %求出y的峰值及相应的时间percentovershoot=100*(Y-C)/C %计算超调量3、上升时间C=dcgain(G)n=1while y(n)<Cn=n+1endm=1;risetime=t(n)4、调节时间C=dcgain(G)i=length(t)while (y(i)>0.98*C)&(y(i)<1.02*C)i=i-1endSettingtime=t(i)※※例1 已知二阶系统传递函数为3()(13)(13)G s s i s i =+-++,编程求取系统的性能指标。

G=zpk([],[-1+3*i,-1-3*i],3); % 计算最大峰值时间和它对应的超调量 C=dcgain(G)[y,t]=step(G);plot(t,y)grid[Y,k]=max(y);timeopeak=t(k) %取得最大峰值时间percentovershoot=100*(Y-C)/C %计算超调量n=1 %计算上升时间while y(n)<Cn=n+1endrisetime=t(n)i=length(t); %计算稳态响应时间while(y(i)>0.98*C)&(y(i)<1.02*C)i=i-1;endsettingtime=t(i)例2 已知单位负反馈系统,其开环传递函数为2()(2)n n G s s s ωζω=+,其中ωn =1,试绘制ζ分别为0,0.2,0.4,0.6,0.9,1.2,1.5时其单位负反馈系统的单位阶跃响应曲线。

相关主题