77范文网 - 专业文章范例文档资料分享平台

中国矿业大学控制系统计算机仿真实验答案(7)

来源:网络收集 时间:2019-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

G(i)=(1- F(i))*D(i)/A(i);

H(i)=h*D(i)/A(i)-G(i)*B(i)/A(i); C1(i)=C(i)/D(i)-A(i)/B(i);

D1(i)=D(i)/B(i); %求惯性、比例惯性环节离散系数 end end end

?=diag(F(:, 1));G1=diag(G(:, 1));H1=diag(H(:, 1)); ?=diag(C1(:, 1));D2=diag(D1(:, 1));

%求各环节输入

Y=zeros(4,1);X=Y;y=zeros(1,4);r=10;Uk=zeros(4,1); t=0:h:Tf; N=length(t); t1=0; %求采样点个数 for k=1:N-1

Ub=Uk; %保存前一次输入

Uk=W*Y+W0*r; %求当前个环节输入v Udot=(Uk-Ub)/h; %求当前各环节输入导数 Uf=2*Uk-Ub; %求下一拍输入 %求各环节状态变量及输出

X=F'.*X+G'.*Uk+H'.*Udot; Y=C1'.*X+D1'.*Uf; y=[y;Y']; end

y4=y(:,4); plot(t,y4)

10. function uc=satura(ur,s1) %ur=1;s1=5; if (ur>=s1) uc=s1;

elseif (ur<=-1*s1) uc=-1*s1; else uc=ur; end

11.clc clear

Tf=input('仿真时间Tf='); %输入仿真时间 h=input('计算步长h='); %输入仿真步长

a=input('ASR参数a='); %输入转速调节器参数 P=[1 0.01 0.1 0; 0 0.85 1 a;

31

1 0.01 1 0;

0 0.051 1 0.15; 12.clc clear u=1;

x0=0; t=0;y=0; x0=[0;0;0];

A=[0 1 0;0 0 1;-22.06 -27 -10]; B=[0;0;1]; C=[40.6 0 0];

Tf=input('仿真时间Tf='); h=input('计算步长h='); x=x0;

for i=1:Tf/h K1=A*x+B*u;

K2=A*(x+h*K1/2)+B*u; K3=A*(x+h*K2/2)+B*u; K4=A*(x+h*K3)+B*u;

x=x+h*(K1+2*K2+2*K3+K4)/6; y=[y;C*x]; t=[t;t(i)+h]; end

plot(t,y)

1 0.0067 70 0; 1 0.15 0.21 0; 0 1 130 0; 1 0.01 0.1 0;

1 0.01 0.0044 0]; %输入各环节参数 W0=zeros(9,1);W0(1,1)=1; %输入外部链接矩阵

W=zeros(9,9);W(2,1)=1;W(2,9)=-1;W(3,2)=1;W(4,3)=1; W(4,8)=-1;W(5,4)=1;W(6,5)=1;W(6,7)=-0.212;W(7,6)=1;W(8,6)=1;W(9,7)=1; %输入系统连接矩阵 A=diag(P(:, 1));B=diag(P(:, 2));

C=diag(P(:, 3));D=diag(P(:, 4)); %生成系数矩阵 Q=B-D*W;Q1=inv(Q); R=C*W-A; V=C*W0;

A1=Q1*R; B1=Q1*V; %生成闭环系数矩阵 C1=[0 0 0 0 0 0 1 0 0];

u=1; %阶跃输入幅值

x0=zeros(9,1); t=0;y=0; %设置初值 x=x0;

for i=1:Tf/h

K1=A1*x+B1*u;

32

K2=A1*(x+h*K1/2)+B1*u; K3=A1*(x+h*K2/2)+B1*u; K4=A1*(x+h*K3)+B1*u;

x=x+h*(K1+2*K2+2*K3+K4)/6; y=[y;C1*x]; t=[t;t(i)+h]; end

plot(t,y)

13.clc clear u=1;

x0=[0 0 0]; C=[40.6 0 0]'; tspan=[0,10];

[t,x]=ode45('funexam2',tspan,x0); y=x*C;

plot(t,y);

14.clc clear

Tf=input('仿真时间Tf='); %输入仿真时间 h=input('计算步长h='); %输入仿真步长 x0=1/3; t=0; x=x0; %输入初始值 for i=1:Tf/h K1=-30*x0; x1=x0+h*K1;

x=[x;x1]; %变量以向量形式保存

t=[t;t(i)+h]; %对应时刻以向量形式保存 x0=x1; end

[t,x] %以数据形式输出 plot(t,x) %以曲线形式输出

15.clear

x0=[620,10,70]; % 置状态变量初值

tspan=[0,30]; % 置仿真时间区间

[t,x]=ode45('myf',tspan,x0); % 调用ode45求仿真解

plot(t,x(:,1),t,x(:,2),'--',t,x(:,3),':'); % 用不同的线型绘制仿真结果曲线

xlabel('time(天) t0=0, tf=30'); % 对t-x轴进行标注 ylabel('x(人):x1(0)=620,x2(0)=10;x3(0)=70');

33

legend('x1','x2','x3'); grid;

16.function dx=myf(t,x) dx = zeros(3,1);

dx(1)=-0.001*x(1)*x(2); % 第一个微分方程

dx(2)=0.001*x(1)*x(2)-0.072*x(2); % 第二个微分方程 dx(3)=0.072*x(2);

17.clear all

num=[0.005,0.005,0]; % 脉冲传递函数分子多项式按z的降幂系数 % 排列的行向量

den=[1,-2.4,1.863,-0.453]; % 脉冲传递函数分母多项式按z的降幂系数 % 排列的行向量

[yk,x,n]=dstep(num,den); % yk为存放输出离散序列的数组,n为dstep % 函数自动设定的采样点数 T=0.1; % 已知系统采样周期为0.1s for k=1:n

plot(k*T,yk(k),'*k'); % k为采样序列号,k*T为第k次采样对应的时刻 hold on end

xlabel('时间(s)'); grid hold off

18. function dy = vdp1000(t,y)

dy = zeros(2,1); % a column vector dy(1) = y(2);

dy(2) = 1000*(1 - y(1)^2)*y(2) - y(1);

34

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库中国矿业大学控制系统计算机仿真实验答案(7)在线全文阅读。

中国矿业大学控制系统计算机仿真实验答案(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/649409.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: