文档库 最新最全的文档下载
当前位置:文档库 › matlab work

matlab work

matlab work
matlab work

1.(3)

>> syms s a z

>> F=6/(s*(s+2));

>> ztrans(F,s,z)

ans =

6*ztrans(1/s/(s+2),s,z)

通过笔算:F(Z)=3*z(1-e^(-a*t))/(z-1)*(z-e*(-a*t))是相同的结果吗?

(1)

>> syms a t z

>> f=1-exp(-a*t);

>> ztrans(f,t,z)

ans =

z/(-1+z)-z/exp(-a)/(-1+z/exp(-a))

3.(1)

>> syms z

>> F=z/(z-0.5);

>> iztrans(F)

ans =

(1/2)^n

(2)

>> syms z

>> F=z^2/((z-0.8)*(z-0.1));

>> iztrans(F)

ans =

8/7*(4/5)^n-1/7*(1/10)^n

9.

有题得,G(z)=z[1/((s*(s+1))*((1-e^(-T*s))/s))] 在matlab上画出开环系统的幅相频率特性曲线如下:

gs=1/((s*(s+1))*((1-e^(-T*s))/s))

约等于1/(s*(s+1))*1/(s+T/2)

=T/(T*s^3+(T+2)*s^2+2*s)

又T=1,所以

gs=1/(s^3+3*s^2+2*s)

gs=tf([1],[1 3 2 0])

Transfer function:

1

-----------------

s^3 + 3 s^2 + 2 s

>> bode(gs)

Bode Diagram

Frequency (rad/sec)10-210-110010110

2-270-225

-180

-135-90

P h a s e (d e g )System: gs P hase Margin (deg): 32.6Delay Margin (sec): 0.76At frequency (rad/sec): 0.749Closed Loop Stable? Yes -150

-100

-50

050

100

System: gs P eak gain (dB): 274At frequency (rad/sec): 2e-014System: gs Gain Margin (dB): 9.54At frequency (rad/sec): 1.41Closed Loop Stable? Yes

M a g n i t u d e (d B )

Nyquist(gs)

Nyquist Diagram

Real Axis I m a g i n a r y A x i s -1.5-1

-0.50-20-15

-10

-5

05

10

15

20

System: gs P hase Margin (deg): 32.6Delay Margin (sec): 0.76At frequency (rad/sec): 0.749Closed Loop Stable? Yes System: gs Gain Margin (dB): 9.54At frequency (rad/sec): 1.41Closed Loop Stable? Yes

4.单位阶跃响应

gs=tf([1],[1 3 2 0]);

gz=c2d(gs,1,'imp');

gzb=gz/(gz+1);

rz=tf([1 0],[1 -1],1);

yz=rz*gzb;

step(yz)

0510152025

3035404550

05

10

15

20

25

30

35

40

45

50

Step Response

Time (sec)A m p l i t u d e

4-2

1.

gs1=tf([1],[0.005 0.15 1 0]);

gs2=tf([0.2],[0.1 2]);

gs=gs1*gs2;

gz=c2d(gs,0.1,'imp')

Transfer function:

0.02052 z^3 + 0.02507 z^2 + 0.001674 z + 4.651e-020

---------------------------------------------------

z^4 - 1.639 z^3 + 0.7564 z^2 - 0.1246 z + 0.006738

Sampling time: 0.1

we=tf([1 -2 1],[1 0 0],0.1);

dz=(1-we)/(we*gz);

impulse(dz)

wz=1-we;

rz=tf([0.1 0],[1 -2 1],0.1);

yz=wz*rz;

impulse(yz)

00.20.40.60.81 1.2 1.4 1.6 1.8

-1500-1000

-500

5001000

1500

2000

I m pulse R esponse

Tim e (sec)A m p l i t u d e

00.51 1.52 2.5

3 3.5

4 4.5501

2

3

4

5

6

Impulse Response

Time (sec)A m p l i t u d e

2.

gs1=tf([1],[0.005 0.15 1 0]);

gs2=tf([0.2],[0.1 2]);

gs=gs1*gs2;

gz=c2d(gs,0.1,'imp')

Transfer function:

0.02052 z^3 + 0.02507 z^2 + 0.001674 z + 4.651e-020

---------------------------------------------------

z^4 - 1.639 z^3 + 0.7564 z^2 - 0.1246 z + 0.006738

Sampling time: 0.1

>> Gz=zpk(gz)

Zero/pole/gain:

0.020516 z (z+1.151) (z+0.07087)

--------------------------------

(z-1) (z-0.3679) (z-0.1353)^2

Sampling time: 0.1

设计wz=k*z-1*(1+1.151z-1)(1+0.07089z-1)(1+c*z-1);

We=(1-z-1)2(1+d*z-1)(1+a*z-1);

We=1-wz;5

解得,k= ,d= ,a= ,c= We=

Wz=

Dz=Wz/(gz*We)

Rz=tf([0.1 0],[1 -2 1]);

yz=Rz*Wz;

Impulse(yz)

6.2 连续状态方程的离散化

例6-8:

>> A=[-3 1;-2 0];

>> B=[0;1];

>> [G ,H]=c2d(A,B,1)

G =

-0.0972 0.2325

-0.4651 0.6004

H =

0.1998

0.8319

则,离散化状态方程如下:

??????++)1()1(21k x k x =6004.02325.04651.00972.0--??????)()(21k x k x +8319.01998.0u (k)

y(k)=[1 0] ?

?????)()(21t x t x 例6-14

syms z

A=[0.2 0 0;0 0.4 0;0 0 0.6];

B=[1 2;2 1;1 2];

C=[1 0 1;1 2 2];

I=[1 0 0;0 1 0;0 0 1];

g=inv(z*I-A)

g =

[ 5/(5*z-1), 0, 0]

[ 0, 5/(5*z-2), 0]

[ 0, 0, 5/(5*z-3)]

>> gz=C*g*B

gz =

[ 5/(5*z-1)+5/(5*z-3), 10/(5*z-1)+10/(5*z-3)]

[ 5/(5*z-1)+20/(5*z-2)+10/(5*z-3), 10/(5*z-1)+10/(5*z-2)+20/(5*z-3)]

习题

6-3:

>> F=[0 1;0 -2];

>> G=[0;1];

>> C=[1 0];

>> [A,B]=c2d(F,G ,1)

A =

1.0000 0.4323

0 0.1353

B =

0.2838

0.4323

则,离散化的状态空间方程如下:

???

???++)1()1(21k x k x

=1353.04323.000000.1??????)()(21k x k x

+4323.02838.0)(k u

)(k y =01??

????)()(21k x k x

6-4:

syms z

A=[0.6 0;0.2 0.1];

B=[1;1];

I=[1 0 ;0 1 ];

C=[0 1];

g=inv(z*I-A)

g =

[ 5/(5*z-3), 0] [ 10/(5*z-3)/(10*z-1), 10/(10*z-1)]

>> gz=C*g*B

gz =

10/(5*z-3)/(10*z-1)+10/(10*z-1)

>> z=eig(A)

z =

0.1000

0.6000

6-6:

syms z

>> A=[0 1;-1 -2];

>> z=eig(A)

z =

-1

-1

因为z的绝对值等于1,所以该系统不稳定。6-8:(3)

A=[1 0 0;0 2 0;0 1 2];

B=[1 6;0 3;2 0];

m= [B A*B A^2*B];

n=rank(m)

n =

3

该系统状态可控。

6-10:(3)

>> A=[-1 0 0;0 1 2;0 2 0];

>> C=[0 1 2;1 0 0];

>> m=[C;C*A;C*A^2];

>> n=rank(m)

n =

3

该系统可测。

习题7-3:

>> F=[1 1 -5 -1;0 -2 0 0;2 1 -6 -1;-2 -1 2 -3];

G=[1 1;0 2;0 2;0 -1];

C=[3 2 -3 3;1 2 1 3];

[A,B]=c2d(F,G,0.1)

A =

1.0689 0.0779 -0.3985 -0.0705

0 0.8187 0 0

0.1640 0.0779 0.5063 -0.0705

-0.1640 -0.0779 0.1640 0.7408

B =

0.1039 0.0734

0 0.1813

0.0088 0.1685

-0.0088 -0.0861

>> d1=C*B

d1 =

0.2592 -0.1813

0.0864 0.3461

>> d2=C*A*B

d2 =

0.1920 -0.1484

0.0640 0.2589

>> d3=F*A*B

d3 =

0.0198 -0.3456

0 -0.2968

0.1059 -0.4317

-0.1059 0.2107

>> d4=F*B

d4 =

0.0689 -0.5019

0 -0.3625

0.1640 -0.5971

-0.1640 0.2674

有题可知m=p=2,n=4,得N=2,

>> D=[ 0.1920 -0.1484 0.2592 -0.1813 0 0; 0.0640 0.2589 0.0864 0.3461 0 0;0.0198 -0.3456 0.0689 -0.5019 1 1;0 -0.2968 0 -0.3625 0 2; 0.1059 -0.4317 0.1640 -0.5971 0 2;-0.1059 0.2107 -0.1640 0.2674 0 -1 ];

>>

7-8.

>> A=[3 -2;1 0];

B=[1;2];

C=[0 1];

P=[0.4 0.7];

>> K=place(A,B,P)

K =

-2.0200 1.9600

控制系统MATLAB仿真基础

系统仿真 § 4.1控制系统的数学模型 1、传递函数模型(tranfer function) 2、零极点增益模型(zero-pole-gain) 3、状态空间模型(state-space) 4、动态结构图(Simulink结构图) 一、传递函数模型(transfer fcn-----tf) 1、传递函数模型的形式 传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。 C(S) b1S m+b2S m-1+…+b m G(S)=----------- =- -------------------------------- R(S) a1S n + a2S n-1 +…+ a n num(S) = ------------ den(S) 2、在MATLAB命令中的输入形式 在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m]; den = [a1, a2, ..., a n]; 注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。 2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。 3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。 4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。 3、函数命令tf( ) 在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。 tf( )函数命令的调用格式为: 圆括号中的逗号不能用空格来代替 sys = tf ( num, den ) [G= tf ( num, den )]

2019年matlab优化工具箱的使用

优化工具箱的使用 MATLAB的优化工具箱提供了各种优化函数,这些优化函数可以通过在命令行输入相应的函数名加以调用;此外为了使用方便,MA TLAB还提供了图形界面的优化工具(GUI Optimization tool)。 1 GUI优化工具 GUI优化工具的启动 有两种启动方法: (1)在命令行输入optimtool; (2)在MA TLAB主界面单击左下角的“Start”按钮,然后依次选择“Toolboxes→Optimization→Optimization tool” GUI优化工具的界面 界面分为三大块: 左边(Problem Setup and Results)为优化问题的描述及计算结果显示; 中间(Options)为优化选项的设置; 右边(Quick Reference)为帮助。为了界面的简洁,可以单击右上角“<<”、“>>”的按钮将帮助隐藏或显示。 1、优化问题的描述及计算结果显示 此板块主要包括选择求解器、目标函数描述、约束条件描述等部分。 选择合适的求解器以及恰当的优化算法,是进行优化问题求解的首要工作。 ?Solver:选择优化问题的种类,每类优化问题对应不同的求解函数。 ?Algorithm:选择算法,对于不同的求解函数,可用的算法也不同。 Problem框组用于描述优化问题,包括以下内容: ?Objective function: 输入目标函数。 ?Derivatives: 选择目标函数微分(或梯度)的计算方式。 ?Start point: 初始点。 Constraints框组用于描述约束条件,包括以下内容: ?Linear inequalities: 线性不等式约束,其中A为约束系数矩阵,b代表约束向量。 ?Linear equalities: 线性等式约束,其中Aeq为约束系数矩阵,beq代表约束向量。 ?Bounds: 自变量上下界约束。 ?Nonlinear Constraints function; 非线性约束函数。 ?Derivatives: 非线性约束函数的微分(或梯度)的计算方式。 Run solver and view results框组用于显示求解过程和结果。 (对于不同的优化问题类型,此板块可能会不同,这是因为各个求解函数需要的参数个数不一样,如Fminunc 函数就没有Constraints框组。) 2、优化选项(Options) ?Stopping criteria: 停止准则。

matlab常用计算命令

Matlab常用计算命令(部分) by sunny_疑似天人 1.多项式运算: poly2sym函数,将给定的多项式系数向量转化为符号表达式,以降幂排序。 poly函数,得到矩阵的特征多项式(首项系数为1)的系数向量,然后也可以用poly2sym函数转化为多项式的符号表达式。 roots函数,得到方程的根,调用形式为roots(a),其中a 为多项式的系数;也可以直接调用roots([1 2 1])。 compan函数与eig函数,通过compan函数建立多项式的伴随矩阵再通过eig函数求伴随矩阵特征值以得到多项式的所有根。效果与roots函数相同;同时这两个函数也可单独使用: compan函数,建立多项式的伴随矩阵,如:a=[1 2 3 ];compan(a) ans = -2 -3 1 0 eig函数,求矩阵的特征值。 conv函数,求多项式的乘积,如:pd=conv(p,d),其中p和d均为多项式系数向量,得到的同样也是多项式的系数向量。 deconv函数,求多项式的除法。 polyder函数,求多项式的微分。即求一阶导数,如果要求多项式的高阶微分,可以通过循环实现。

polyfit 函数,对数据拟合得到多项式,这个多项式即可大致代表数据变化规律。例如: x=0:pi/20:pi/2; y=sin(x); p=polyfit(x,y,5) x1=0:pi/30:pi*2; y1=sin(x1); y2=polyval(p,x1); plot(x1,y1,'b-',x1,y2,'r*') legend('原曲线','拟合曲线') axis([0 7 -1.2 4]) p = 0.0057 0.0060 -0.1721 0.0021 0.9997 0.0000 1 2 3 4 5 6 7 -1-0.500.511.522.533.54 原曲线拟合曲线 2.向量及其运算 x=linspace(a,b,n),生成一个向量x ,其中a ,b 分别是生成矢量的第一个和最后一个元素,n 是采样总点数。当n 缺省时默认生成100维的向量。

MATLAB与系统仿真

学习中心/函授站_ 成都学习中心 姓名赵洪学号7020140122093 西安电子科技大学网络与继续教育学院 2015学年上学期 《MATLAB与系统仿真》期末考试试题 (综合大作业) 考试说明: 1、大作业于2015年4月3日公布,2015年5月9日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调试并运行通过,连同运行结果一并附上。 一、填空题(1? ×25=25?) 1、Matlab的全称为矩阵实验室。 2、在Matlab编辑器中运行程序的快捷键是:F5 。 3、Matlab的工作界面主要由以下五个部分组成,它们分别是:菜单栏、 工具栏、当前工作目录窗口、工作空间管理窗口和命令窗口。 4、在Matlab中inf表示:无穷大;clc表示:清空命令窗口中的显示内容;more表示:在命令窗口中控制其后每页的显示内容行数;who表示:查阅Matlad内存变量名;whos表示:列出当前工作空间所有变量。 5、在Matlab命令窗口中运行命令Simulink 可以打开Simulink模块库浏览器窗口。 6、求矩阵行列式的函数:det ;求矩阵特征值和特征向量的函数eig 。 7、Matlab预定义变量ans表示:没有指定输出变量名;eps表示:系统精度 ;nargin表示:函数输入参数的个数。 8、Matlab提供了两种方法进行程序分析和优化,分别为:通过Profiler工具优化和通过tic和toc函数进行优化。 9、建立结构数组或转换结构数组的函数为:struct ; 实现Fourier变换在Matlab中的对应函数为:fourier() ;Laplace变换的函数:Laplace() 。

MATLAB计算概率

一、实验名称 已知随机向量(X ,Y )独立同服从标准正态分布,D={(x,y)|a0&&e<6 if e==1

p=erchong(a,b,c,d) end if e==2 p=wangge(a,b,c,d); end if e==3 p=fenbu(a,b,c,d); end if e==4 p=mente(a,b,c,d); end if e==5 [X,Y]=meshgrid(-3:0.2:3); Z=1/(2*pi)*exp(-1/2*(X.^2+Y.^2)); meshz(X,Y,Z); end e=input('请选择: \n'); end % ===============================用二重积分计算function p=erchong(a,b,c,d) syms x y; f0=1/(2*pi)*exp(-1/2*(x^2+y^2)); f1=int(f0,x,a,b); %对x积分 f1=int(f1,y,c,d); %对y积分 p=vpa(f1,9); % ================================等距网格法function p=wangge(a,b,c,d) syms x y ; n=100; r1=(b-a)/n; %求步长 r2=(d-c)/n; za(1)=a;for i=1:n,za(i+1)=za(i)+r1;end %分块 zc(1)=c;for j=1:n,zc(j+1)=zc(j)+r2;end for i=1:n x(i)=unifrnd(za(i),za(i+1));end %随机取点 for i=1:n y(i)=unifrnd(zc(i),zc(i+1));end s=0; for i=1:n for j=1:n s=1/(2*pi)*exp(-1/2*(x(i)^2+y(j)^2))+s;%求和end end p=s*r1*r2;

matlab控制系统仿真课程设计

课程设计报告 题目PID控制器应用 课程名称控制系统仿真院部名称机电工程学院专业 班级 学生姓名 学号 课程设计地点 课程设计学时 指导教师 金陵科技学院教务处制成绩

一、课程设计应达到的目的 应用所学的自动控制基本知识与工程设计方法,结合生产实际,确定系统的性能指标与实现方案,进行控制系统的初步设计。 应用计算机仿真技术,通过在MATLAB软件上建立控制系统的数学模型,对控制系统进行性能仿真研究,掌握系统参数对系统性能的影响。 二、课程设计题目及要求 1.单回路控制系统的设计及仿真。 2.串级控制系统的设计及仿真。 3.反馈前馈控制系统的设计及仿真。 4.采用Smith 补偿器克服纯滞后的控制系统的设计及仿真。 三、课程设计的内容与步骤 (1).单回路控制系统的设计及仿真。 (a)已知被控对象传函W(s) = 1 / (s2 +20s + 1)。 (b)画出单回路控制系统的方框图。 (c)用MatLab的Simulink画出该系统。 (d)选PID调节器的参数使系统的控制性能较好,并画出相应的单位阶约响应

曲线。注明所用PID调节器公式。PID调节器公式Wc(s)=50(5s+1)/(3s+1) 给定值为单位阶跃响应幅值为3。 有积分作用单回路控制系统 无积分作用单回路控制系统

大比例作用单回路控制系统 (e)修改调节器的参数,观察系统的稳定性或单位阶约响应曲线,理解控制器参数对系统的稳定性及控制性能的影响? 答:由上图分别可以看出无积分作用和大比例积分作用下的系数响应曲线,这两个PID调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长,加入微分环节,有利于加快系统的响应速度,使系统超调量减小,稳定性增加。 (2).串级控制系统的设计及仿真。 (a)已知主被控对象传函W 01(s) = 1 / (100s + 1),副被控对象传函W 02 (s) = 1 / (10s + 1),副环干扰通道传函W d (s) = 1/(s2 +20s + 1)。 (b)画出串级控制系统方框图及相同控制对象下的单回路控制系统的方框图。(c)用MatLab的Simulink画出上述两系统。

MATLAB回归预测模型

MATLAB---回归预测模型 Matlab统计工具箱用命令regress实现多元线性回归,用的方法是最小二乘法,用法是:b=regress(Y,X) [b,bint,r,rint,stats]=regress(Y,X,alpha) Y,X为提供的X和Y数组,alpha为显着性水平(缺省时设定为0.05),b,bint为回归系数估计值和它们的置信区间,r,rint为残差(向量)及其置信区间,stats是用于检验回归模型的统计量,有四个数值,第一个是R2,第二个是F,第三个是与F对应的概率 p ,p <α拒绝 H0,回归模型成立,第四个是残差的方差 s2 。 残差及其置信区间可以用 rcoplot(r,rint)画图。 例1合金的强度y与其中的碳含量x有比较密切的关系,今从生产中收集了一批数据如下表 1。 先画出散点图如下: x=0.1:0.01:0.18; y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]; plot(x,y,'+') 可知 y 与 x 大致上为线性关系。 设回归模型为y =β 0+β 1 x

用regress 和rcoplot 编程如下: clc,clear x1=[0.1:0.01:0.18]'; y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]'; x=[ones(9,1),x1]; [b,bint,r,rint,stats]=regress(y,x); b,bint,stats,rcoplot(r,rint) 得到 b =27.4722 137.5000 bint =18.6851 36.2594 75.7755 199.2245 stats =0.7985 27.7469 0.0012 4.0883 即β 0=27.4722 β 1 =137.5000 β 的置信区间是[18.6851,36.2594], β 1 的置信区间是[75.7755,199.2245]; R2= 0.7985 , F = 27.7469 , p = 0.0012 , s2 =4.0883 。可知模型(41)成立。

MATLAB仿真教程

一、设计目的 通过运用MATLAB对函数进行Z域分析和单边带信号的调制与解调,使我们进一步加深对MATLAB的认识和运用,以实现以下目的: 1.本次试验进一步熟悉了MATLAB软件的使用方法及相关的操作。 2.对Z变换及其反变换函数在MATLAB中的调用有了掌握。 3.理论与实际的仿真相结合,更直观的看到结果。 4.观察了单边带信号调制与解调后的图像,加深认识。 二、设计原理 MATLAB是The MathWorks公司在1984年推出的一种商品化软件,它提供了大量丰富的应用函数,并且具有扩充的开放性结构。目前,该软件包涵盖了控制系统应用、数字信号处理、数字图像处理、通讯、神经网络、小波理论分析、优化与统计、偏微分方程、动态系统实时仿真等多学科专业领域。 其中单边带调制信号是将双边带信号中的一个边带滤掉而形成的。根据方法的不同,产生单边带调制信号的方法有:滤波和相移法。 由于滤波法在技术上比较难实现所以在此我们将用相移法对单边带调制与解调系统进行讨论与设计。 三、设计内容和MATLAB图像

1、数字系统的响应 源代码如下: b=[0 1 2 1 0]; a=[1 -0.5 0 0.3 -0.005]; subplot(421);zplane(b,a); title('系统的零极点图'); subplot(422);impz(b,a,21); title('单位脉冲响应'); subplot(423);stepz(b,a,21); title('单位阶跃响应');

N=21;n=0:N-1; x=exp(-n); x0=zeros(1,N); y0=[1,-1]; xi=filtic(b,a,y0); y1=filter(b,a,x0,xi); xi0=filtic(b,a,0); y2=filter(b,a,x,xi0); y3=filter(b,a,x,xi); [h w]=freqz(b,a,21); subplot(424);stem(n,y1); title('零输入响应');grid on; subplot(425);stem(n,y2); title('零状态响应');grid on; subplot(426);stem(n,y3); title('系统的全响应');grid on; subplot(427);plot(w,abs(h)); title('幅频特性曲线');grid on; subplot(428);plot(w,angle(h)); title('相频特性曲线');grid on;

自控-二阶系统Matlab仿真

自动控制原理 二阶系统性能分析Matlab 仿真大作业附题目+ 完整报告内容

设二阶控制系统如图1所示,其中开环传递函数 ) 1(10 )2()(2+=+=s s s s s G n n ξωω 图1 图2 图3 要求: 1、分别用如图2和图3所示的测速反馈控制和比例微分控制两种方式改善系统的性能,如果要求改善后系统的阻尼比ξ =0.707,则和 分别取多少? 解: 由)1(10 )2()(2 += +=s s s s s G n n ξωω得10 21,10,102===ξωωn t K d T

对于测速反馈控制,其开环传递函数为:) 2()s (2 2n t n n K s s G ωξωω++=; 闭环传递函数为:2 2 2)2 (2)(n n n t n s K s s ωωωξωφ+++= ; 所以当n t K ωξ2 1+=0.707时,347.02)707.0(t =÷?-=n K ωξ; 对于比例微分控制,其开环传递函数为:)2()1()(2 n n d s s s T s G ξωω++=; 闭环传递函数为:) )2 1(2)1()(2 22 n n n d n d s T s s T s ωωωξωφ++++=; 所以当n d T ωξ2 1 +=0.707时,347.02)707.0(=÷?-=n d T ωξ; 2、请用MATLAB 分别画出第1小题中的3个系统对单位阶跃输入的响应图; 解: ①图一的闭环传递函数为: 2 22 2)(n n n s s s ωξωωφ++=,10 21 ,10n ==ξω Matlab 代码如下: clc clear wn=sqrt(10); zeta=1/(2*sqrt(10)); t=0:0.1:12; Gs=tf(wn^2,[1,2*zeta*wn,wn^2]); step(Gs,t)

matlab仿真模拟

中国地质大学长城学院 本科课程设计题目:双手协调机器人 系别信息工程系 学生姓名 专业电气工程及其自动化 学号 指导教师王密香 职称研究生 2015年12 月22日

双手协调机器人 摘要 多机器人的协同作业是制造业发展的必然要求,双臂机器人就是适应这一要求而开发出的一种新型机器人,相对于单臂机器人它可以大大增强机器人对复杂装配任务的适应性,同时可以提高工作空间的利用效率。当前大多数工业机器人的应用是为单臂机器人独自工作的能力准备的。一般地,单臂机器人只适合于刚性工件的操作,并受制于环境,随着现代工业的发展和科学技术的进步,对于许多任务而言单臂操作是不够的。为了适应任务的复杂性、智能性的不断提高以及系统柔顺性的要求而扩展为双手协调控制。即由两个单臂机器人相互协调、相互配合的去完成某种作业,但由于组成双手协调控制系统的是两个机器人它们不可能是两个单手机器人的简单组合,除了它们各自共同目标的控制实现外,它们相互间的协调控制以及对环境的适应性就成为组合的关键,这样双手协调控制机器人系统的进一步应用就受到了限制。而双臂机器人能完成对于人来说易于实现的功能,它比双手协调机器人更具有实用价值,它的高自律性以及学习性,能够适应许多环境,使其在工业生产、危险处理、国防、航天航空等方面运用广泛采用了Matlab/Simulink 仿真软件,分别用模块法和程序法对双手协调机器人系统进行了PID 控制器的校正仿真设计。 关键词:双手协调机器人;Matlab/Simulink;PID 校正;仿真 Using the Matlab/Simulink simulation software, using method of module and the procedural law on hands coordinate robot system has carried on the correction for the simulation of PID controller design simulation results show that these two kinds of design method is not only convenient and quick, and the correction effect is satisfactory to people Keywords:Hands coordinate robot; Matlab/Simulink; PID correction; The simulation

MATLAB优化工具箱应用简介

MATLAB优化工具箱 1 工具箱概述 1.1 功能 (1)求解无约束条件非线性极小值; (2)求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题和半无限极小值问题; (3)求解二次规划和线性规划问题; (4)非线性最小二乘逼近和曲线拟合; (5)非线性系统的方程求解; (6)约束条件下的线性最小二乘优化; (7)求解复杂结构的大规模优化问题。 1.2 工具箱的新特色 MATLAB R2008b使用的是4.1版本的优化工具箱,较3.x的变化在于: (1)fmincon、fminimax和fgoalattain中引入了并行机制,加快梯度计算速度; (2)函数gatool和pserchtool整合到优化工具箱GUI中; (3)函数fmincon的求解器中新增内点算法; (4)提供了KNITRO优化库的接口; (5)函数lsqcurvefit、lsqnonlin和fsolve的优化选项参数PrecondBandWinth默认值由0变为inf; (6)优化选项参数TolConSQP的默认值改为1e-6; (7)输出结构中引入了参数constrviolation。 2 工具箱函数 常用函数: 输入参数中可以用options,用于所有函数,其中包括有一下参数。 (1)Display:结果显示方式,off不显示,iter显示每次迭代的信息,final为最终结果,notify只有当求解不收敛的时候才显示结果。 (2)MaxFunEvals:允许函数计算的最大次数,取值为正整数。 (3)MaxIter:允许迭代的最大次数,正整数。 (4)TolFun:函数值(计算结果)精度,正整数。 (5)TolX:自变量的精度,正整数。 而且可以用函数optimset创建和修改。 模型输入时需要注意问题: (1)目标函数最小化;

系统仿真的MATLAB实现.

第七章系统仿真的MATLAB实现 由于计算机技术的高速发展,我们可以借助计算机完成系统的数字仿真。综前所述,数字仿真实质上是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法。仿真的主要过程是:建立模型、仿真运行和分析研究仿真结果。仿真运行就是借助一定的算法,获得系统的有关信息。 MATLAB是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。MATLAB是一个高度集成的系统,MATLAB提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。在过去几年里,Simulink已经成为数学和工业应用中对动态系统进行建模时使用得最为广泛的软件包。 MATLAB仿真有两种途径:(1)MATLAB可以在SIMULINK窗口上进行面向系统结构方框图的系统仿真;(2)用户可以在MATLAB的COMMAND窗口下,用运行m文件,调用指令和各种用于系统仿真的函数,进行系统仿真。这两种方式可解决任意复杂系统的动态仿真问题,前者编辑灵活,而后者直观性强,实现可视化编辑。 下面介绍在MATLAB上实现几类基本仿真。 7.1 计算机仿真的步骤 在学习计算机仿真以前,让我们先总结一下计算机仿真的步骤。 计算机仿真,概括地说是一个“建模—实验—分析”的过程,即仿真不单纯是对模型的实验,还包括从建模到实验再到分析的全过程。因此进行一次完整的计算机仿真应包括以下步骤:

(1)列举并列项目 每一项研究都应从说明问题开始,问题由决策者提供或由熟悉问题的分析者提供。 (2)设置目标及完整的项目计划 目标表示仿真要回答的问题、系统方案的说明。项目计划包括人数、研究费用以及每一阶段工作所需时间。 (3)建立模型和收集数据 模型和实际系统没有必要一一对应,模型只需描述实际系统的本质或者描述系统中所研究部分的本质。因此,最好从简单的模型开始,然后进一步建立更复杂的模型。 (4)编制程序和验证 利用数学公式、逻辑公式和算法等来表示实际系统的内部状态和输入/输出的关系。建模者必须决定是采用通用语言如MATLAB、FORTRAN、C还是专用仿真语言来编制程序。在本教材中,我们选择的是MATLAB和其动态仿真工具Simulink。 (5)确认 确认指确定模型是否精确地代表实际系统。它不是一次完成,而是比较模型和实际系统特性的差异,不断对模型进行校正的迭代过程。 (6)实验设计 确定仿真的方案、初始化周期的长度、仿真运行的长度以及每次运行的重复次数。 (7)生产性运行和分析 通常用于估计被仿真系统设计的性能量度。利用理论定性分析、经验定性分析或系统历史数据定量分析来检验模型的正确性,利用灵敏度分析等手段来检验模型的稳定性。 (8)文件清单和报表结果 (9)实现

MATLAB仿真实验全部

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间围0---Tn 。 3、),(T sys step ;表示时间围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:)()()()(1 )(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

MATLAB仿真程序

窗型选择仿真程序: clear,clc bw=3e6;% 信号带宽 T=1e-4;%信号脉冲宽度 A=2;%信号幅度 fs=4*bw; lfft=round(T*fs);%采样点数 lfft=2^nextpow2(lfft); dt=1/fs;%采样间隔 f0=1e6; t=(0:lfft-1)*dt;%时域采样点 q=(0:lfft-1)*2*pi/lfft; s=A*exp(j*2*pi*f0*t+j*pi*bw*t.*t/T);%产生线性调频信号 S=(fft(s));%线性调频信号的傅立叶变换fft H=conj(S);%匹配滤波器的频率响应 Y=S.*H;%线性调频信号的频域匹配滤波输出 y=fftshift(ifft(Y));%线性调频信号的时域匹配滤波输出 %对chirp信号进行时域加权 h1=(triang(lfft))';%三角窗函数 s1=s.*h1;S1=fft(s1);H1=conj(S1); Y1=S1.*H1; y1=fftshift(ifft(Y1));%加三角窗后的线性调频信号的时域匹配滤波输出h2=(hanning(lfft))';%汉宁窗函数 s2=s.*h2;S2=fft(s2);H2=conj(S2); Y2=S2.*H2; y2=fftshift(ifft(Y2));%加汉宁窗后的线性调频信号的时域匹配滤波输出h3=(hamming(lfft))';%海明窗函数 s3=s.*h3;S3=fft(s3);H3=conj(S3); Y3=S3.*H3; y3=fftshift(ifft(Y3));%加海明窗后的线性调频信号的时域匹配滤波输出 figure; subplot(3,1,1), plot(t,real(s)),title('chirp signal'); subplot(3,1,2), plot(q,abs(S)),title('线性调频信号幅度谱'); subplot(3,1,3), plot(q,angle(S)),title('线性调频信号相位谱');

二阶系统matlab仿真

simulink仿真 -1<ξ<0 >> step(tf(4^2,[1,2*(-0.5)*4,4^2])) ξ<-1 >> step(tf(4^2,[1,2*(-1.5)*4,4^2])) ξ=0 >> step(tf(4^2,[1,2*0*4,4^2])) 0<ξ<1 >> figure >> step(tf(4^2,[1,2*0.1*4,4^2])) >> step(tf(4^2,[1,2*0.2*4,4^2])) >> step(tf(4^2,[1,2*0.3*4,4^2])) >> step(tf(4^2,[1,2*0.4*4,4^2])) >> step(tf(4^2,[1,2*0.5*4,4^2])) >> step(tf(4^2,[1,2*0.6*4,4^2])) >> step(tf(4^2,[1,2*0.7*4,4^2])) >> step(tf(4^2,[1,2*0.8*4,4^2])) >> step(tf(4^2,[1,2*0.9*4,4^2])) ωn不变,ζ减小

ξ=1 >> figure >> step(tf(4^2,[1,2*1*4,4^2])) ξ>1 >> hold on >> step(tf(4^2,[1,2*2.0*4,4^2])) >> step(tf(4^2,[1,2*4.0*4,4^2])) >> step(tf(4^2,[1,2*8.0*4,4^2])) ωn不变,ζ减小 ξ=0.5,改变ωn时的情况: >> figure >> step(tf(1^2,[1,2*0.5*1,1^2])) (ωn=1)

>> hold on >> step(tf(2^2,[1,2*0.5*2,2^2])) (ωn=2)>> step(tf(4^2,[1,2*0.5*4,4^2])) (ωn=4)>> step(tf(8^2,[1,2*0.5*8,8^2])) (ωn=8) ζ不变,ωn增大 曲线拟合程序 >> figure >> x=[0,0.2,0.4,0.6,0.8,1.0,1.2]; >> y=[1.135,1.135,1.216,1.351,1.534,1.737,2.0,]; >> plot(x,y,'.') >> hold on >> x1=[0:0.1:1.2]; >> y1=1+0.6*x1+0.2*x1.^2; >> plot(x1,y1) >> y1=1+0.7*x1; >> plot(x1,y1)

MATLAB仿真技术

MATLAB仿真技术 作 业 合 集

第1章 习题 5.利用直接输入法和矩阵编辑器创建矩阵A=? ? ? ? ??642531。 解:⑴利用直接输入法输入程序 A=[1 3 5;2 4 6] 按Enter 键后,屏幕显示 A = 1 3 5 2 4 6 ⑵用矩阵编辑器创建矩阵,如图1.1所示。 图1.1 MATLAB 编辑器 7.用矩阵编辑器创建矩阵a,使a 具有如下矩阵形式。 a=??????642531?a=??????????654321?a=??????????987654321?a=???? ??????098706540321?a=????? ???????00 00 09870654 0321 解:用矩阵编辑器创建矩阵a 的过程如图1.2、1.3、1.4、1.5、1.6所示。 图1.2 图1.3 图1.4 图1.5

图1.6 9.已知矩阵B=????? ?? ?????????922518113211912102201304161475231501017,试:①提取矩阵B 的第一行和第二行的第2、4、5个元素组成新矩阵1B ;②提取矩阵B 的第三行和第一行的全部元素组成新矩阵2B ;③使矩阵B 的第一行和第三行的第2;4个元素为0;④标出矩阵B 的第一行中小于5的元素。 解:①如上题,用矩阵编辑器生成矩阵B ,再输入程序 B1=B([1,2],[2,4,5]) 按Enter 键后,屏幕显示 B1 = 0 0 15 5 14 16 ②输入程序 B2=B([1,3],:) 按Enter 键后,屏幕显示 B2 = 17 0 1 0 15 4 0 13 0 22 ③第一行和第三行的第2;4个元素原本就为0。 ④输入程序如下 C=B(1,:)<5; %将B 矩阵第一行中小于5 的值标记为1 D=B(1,C) %去B 矩阵第一行中标为1的元素 按Enter 键后,屏幕显示 D= 0 1 0 11.已知矩阵a 为4阶魔方阵,令a+3赋值给b ,a+b 赋值给c ,求b 和c 。 解:程序如下。 >> a=magic(4) %建立4阶魔方矩阵 a = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> b=a+3 %将a 中各元素加3 b = 19 5 6 16 8 14 13 11 12 10 9 15 7 17 18 4

控制系统Matlab仿真 (传递函数)

控制系统仿真 [教学目的] 掌握数字仿真基本原理 控制系统的数学模型建立 掌握控制系统分析 [教学内容] 一、控制系统的数学模型 sys=tf(num,den)%多项式模型,num为分子多项式的系数向量,den为分母多项式的系%数向量,函数tf()创建一个TF模型对象。 sys=zpk(z,p,k)%z为系统的零点向量,p为系统的极点向量,k为增益值,函数zpk()创建一个ZPK模型对象。 (一)控制系统的参数模型 1、TF模型 传递函数 num=[b m b m-1b m-2…b1b0] den=[a m a m-1a m-2…a1a0] sys=tf(num,den) 【例1】系统的传递函数为。 >>num=[01124448]; >>den=[11686176105]; >>sys=tf(num,den); >>sys Transfer function: s^3+12s^2+44s+48 ------------------------------------- s^4+16s^3+86s^2+176s+105 >>get(sys) >>set(sys) >>set(sys,'num',[212])

>>sys Transfer function: 2s^2+s+2 ------------------------------------- s^4+16s^3+86s^2+176s+105 【例2】系统的传递函数为。 >>num=conv([20],[11]); >>num num= 2020 >>den=conv([100],conv([12],[1610])); >>sys=tf(num,den) Transfer function: 20s+20 ------------------------------- s^5+8s^4+22s^3+20s^2 【例3】系统的开环传递函数为,写出单位负反馈时闭环传递函数的TF模型。>>numo=conv([5],[11]); >>deno=conv([100],[13]); >>syso=tf(numo,deno); >>sysc=feedback(syso,1) Transfer function: 5s+5 ---------------------- s^3+3s^2+5s+5 【例4】反馈系统的结构图为: R

预测控制MATLAB仿真与设计

动态矩阵控制算法实验报告 院系:电子信学院 姓名:郝光杰 学号:172030039 专业:控制理论与控制工程 导师:俞孟蕻

MATLAB环境下动态矩阵控制实验 一、实验目的: 对于带有纯滞后、大惯性的研究对象,通过动态控制矩阵的MATLAB的直接处理与仿真实验,具有较强的鲁棒性和良好的跟踪性。输入已知的控制模型,通过对参数的选择,来取的良好的控制效果。 二、实验原理: 动态矩阵控制算法是一种基于被控对象非参数数学模型的控制算法,它是一种基于被控对象阶跃响应的预测控制算法,以对象的阶跃响应离散系统为模型,避免了系统的辨识,采用多步预估技术,解决时延问题,并按照预估输出与给定值偏差最小的二次性能指标实施控制,它适用于渐进稳定的线性对象,系统动态特性中存在非最小相位特性或纯滞后都不影响算法的直接使用。 三、实验环境: 计算机 MATLAB2016b 四、实验步骤: 影响控制效果的主要参数有: 1)采样周期T与模型长度N 在DMC中采样周期T与模型长度N的选择需要满足香农定理和被控对象的类型及其动态特性的要求,通常需要NT后的阶跃响应输出值接近稳定值。 2)预测时域长度P P对系统的快速性和稳定性具有重要影响。为使滚动优化有意义,应使P 包含对象的主要动态部分,P越小,快速性提高,稳定性变差;反之,P越大,系统实时性降低,系统响应过于缓慢。 3)控制时域长度M

M控制未来控制量的改变数目,及优化变量的个数,在P确定的情况下,M越小,越难保证输出在各采样点紧密跟踪期望输出值,系统响应速度缓慢, 可获得较好的鲁棒性,M越大,控制机动性越强,改善系统的动态性能,但是稳定性会变差。 五、实例仿真 (一)算法实现 设GP(s)=e-80s/(60s+1),采用DMC后的动态特性如图1所示,采样周期 T=20s,优化时域P=10,M=2,建模时域N=20。 MATLAB程序1: g=poly2tfd(1,[60 1],0,80);%通用传函转换为MPC模型 delt=20; %采样周期 nt=1; %输出稳定性向量 tfinal=1000; %截断时间 model=tfd2step(tfinal,delt,nt,g);%传函转换为阶跃响应模型 plant=model;%进行模型预测控制器设计 p=10; m=2; ywt=[];uwt=1;%设置输入约束和参考轨迹等控制器参数 kmpc=mpccon(plant,ywt,uwt,m,p);%模型预测控制器增益矩阵计算 tend=1000;r=1;%仿真时间 [y,u,yrn]=mpcsim(plant,model,kmpc,tend,r);%模型预测控制仿真 t=0:20:1000;%定义自变量t的取值数组 plot(t,y) xlabel(‘图一DMC控制动态响应曲线(time/s)’); ylabel(‘响应曲线’); 结果如下: Percent error in the last step response coefficient

最小拍系统matlab仿真

X x理工大学 课程设计任务书 2010 ~2011 学年第2学期 学生姓名: xxx 专业班级: 指导教师:工作部门: 一、课程设计题目 《控制系统建模、分析、设计和仿真》 本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。 学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。 二、课程设计内容 (一)《控制系统建模、分析、设计和仿真》课题设计内容 最少拍有波纹控制系统

[2号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取0.1秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 (二)《控制系统建模、分析、设计和仿真》课题设计要求及评分标准【共100分】 1、求被控对象传递函数G(s)的MATLAB 描述。(2分) 2、求被控对象脉冲传递函数G(z)。(4分) 3、转换G(z)为零极点增益模型并按z-1形式排列。(2分) 4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。(6分) 5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳定的要求。(8分) 6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(12分) 7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。 (3分) 8、用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。(7分) 9、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。 (8分) 8) +(s 5)+(s 1)+(s s 6) +(s 2)+(s 668)(2 s G

相关文档