matlab在自动控制系统中应用数据处理分析方案.docx

上传人:b****6 文档编号:4765085 上传时间:2022-12-08 格式:DOCX 页数:11 大小:360.49KB
下载 相关 举报
matlab在自动控制系统中应用数据处理分析方案.docx_第1页
第1页 / 共11页
matlab在自动控制系统中应用数据处理分析方案.docx_第2页
第2页 / 共11页
matlab在自动控制系统中应用数据处理分析方案.docx_第3页
第3页 / 共11页
matlab在自动控制系统中应用数据处理分析方案.docx_第4页
第4页 / 共11页
matlab在自动控制系统中应用数据处理分析方案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

matlab在自动控制系统中应用数据处理分析方案.docx

《matlab在自动控制系统中应用数据处理分析方案.docx》由会员分享,可在线阅读,更多相关《matlab在自动控制系统中应用数据处理分析方案.docx(11页珍藏版)》请在冰豆网上搜索。

matlab在自动控制系统中应用数据处理分析方案.docx

matlab在自动控制系统中应用数据处理分析方案

模型图如下:

第一种方法:

(将模型图存盘为kp.mdl)

kp=2。

[t,x,y]=sim('kp',70)。

plot(t,y)

gtext('kp=2')

holdon

kp=3。

[t,x,y]=sim('kp',70)。

plot(t,y)

gtext('kp=3')

holdon

kp=4。

[t,x,y]=sim('kp',70)。

plot(t,y)

gtext('kp=4')

holdon

kp5。

[t,x,y]=sim('kp',70)。

plot(t,y)

gtext('kp=5')

holdon

第二种方法:

(编写M文件)

%kp2525.m

num=[1]。

den=conv([1,1],conv([2,1],[5,1]))。

forkp=2:

5

[num1,den1]=cloop(kp*num,den,-1)。

step(num1,den1)

holdon

end

在matlab命令窗口中输入此文件名,执行M文件

》kp2525

已知系统的传递函数求出其零极点和增益,并写出系统的零极点形式

在matlab命令窗口输入如下语句

>>num=[6,12,6,10]。

den=[1,2,3,1,1]。

[z,p,k]=tf2zp(num,den)

z=

-1.9294

-0.0353+0.9287i

-0.0353-0.9287i

p=

-0.9567+1.2272i

-0.9567-1.2272i

-0.0433+0.6412i

-0.0433-0.6412i

k=

6

对于典型二阶系统

试绘制出无阻尼自然振荡频率,阻尼比分别为0.2,0.4,…..1.0,2.0时系统的单位阶跃响应曲线

相应的matlab程序为:

>>wn=6。

zeta=[0.2:

0.2:

1.0,2.0]。

figure

(1)。

holdon

forI=zeta

num=wn.^2。

den=[1,2*I*wn,wn.^2]。

step(num,den)。

end

title('StepRsponse')。

holdoff

给定系统的开环状态空间表达式为

求系统的幅值裕量和相位裕量,并画出BODE图

Matlab程序

w=logspace(-1,1)。

A=[0100。

0010。

0001。

-62.5-213.8-204.2-54]。

B=[0。

0。

0。

1]。

C=[1562187500]。

D=0。

[Gm,Pm,Wcg,Wcp]=margin(A,B,C,D),bode(A,B,C,D,1,w)。

disp(['幅值裕量=',num2str(20*log10(Gm)),'dB,','相位裕量=',num2str(Pm),'°'])。

title(['Gainmargin=',num2str(Gm)','Phasemargin='num2str(Pm)])

Gm=

4.4922

Pm=

23.0706

Wcg=

12.6467

Wcp=

5.8275

幅值裕量=13.0492dB,相位裕量=23.0706°

子系统的封装

仿真系统的线性化模型

x=[0。

0。

0]。

u=0。

y=[1。

1]。

ix=[]。

iu=[]。

iy=[1。

2]。

[x,u,y,dx]=trim('ex6_14',x,u,y,ix,iu,iy)。

x

x=

0.0000

0.5380

0.5000[A,B,C,D]=linmod('ex6_14')。

[num,den]=ss2tf(A,B,C,D)。

printsys(num,den,'s')

num

(1)/den=

4.4409e-016s^2+1s+1

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

s^3+2.4s^2+2.4s+2

num

(2)/den=

s^3+2.4s^2+2.4s+1

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

s^3+2.4s^2+2.4s+2

[x,u,y,dx]=trim('ex6_15',[],[],100,[],[],1)

x=

100

u=

9.9000e+003

y=

100

dx=

3.6380e-015

%ex6_9.m

functiondx=ex6_9(t,x)

dx=[x

(2)。

(1-x

(1)^2)*x

(2)-x

(1)]。

>>[t,x]=ode45('ex6_9',[0,30],[1。

0])。

plot(t,x(:

1),t,x(:

2))。

xlabel('t'),ylabel('x(t)')

连续系统的数字仿真

set_param('zcf6_11/Gain','Gain','2')。

[t,x,y]=sim('zcf6_11',10)。

plot(t,y(:

1),':

b',t,y(:

2),'-r')。

legend('y1','y2')

SIMULINK的基本应用

MATLAB的基本操作

%ex_1.m

%ThisisanM_ileforcalculatessqrt|x|+x^3

x1=abs(x)。

x2=sqrt(x1)+x^3。

y=x2

y=

-62

%ex1_2.m

function[y1,y2]=ex1_2(x1,x2,x3)

z1=3*x1.^2。

z2=(x2+x3)。

y1=z1+z2。

y2=z1-z2。

a1=-2。

a2=3。

a3=1。

[y1,y2]=ex1_2(a1,a2,a3)

y1=

16

y2=

8

x=0:

0.1:

2*pi。

plot(x,sin(x),x,cos(x))

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1