控制系统数字仿真与CAD-第三次实验-附完整代码

简介: 控制系统数字仿真与CAD-第三次实验-附完整代码

创建satur.m文件

function [uo]=satur(ui,c)
if (abs(ui)<=c)
    uo=ui;
elseif (ui>c)
    uo=c;
else
    uo=-c;
end
end

创建exc3.m文件

clear;
clear all;
Kn=26.7;
tn=0.03;
Ki=0.269;
ti=0.067;
Ks=76;
Ts=0.00167;
R=6.58;
Tl=0.018;
Tm=0.25;
Ce=0.031;
Alpha=0.00337;
Beta=0.4;
A=[0 0 1 1 0];
B=[tn ti Ts Tl Tm*Ce];
C=[Kn Ki Ks 1/R R];
D=[Kn*tn Ki*ti 0 0 0];
c=8;
r=1;
W=[0 0 0 0 -Alpha;
    1 0 0 -Beta 0;
    0 1 0 0 0;
    0 0 1 0 -Ce;
    0 0 0 1 0];
W0=[1 0 0 0 0 ]';
block_num=5;
h=0.001; 
t_end=0.5;
t=0:h:t_end;
for k=1:block_num
    if (A(k)==0) %求积分或积分比例环节各系数
        FI(k)=1;
        FIM(k)=h*C(k)/B(k);
        FIJ(k)=h*h*C(k)/B(k)/2; 
        FIC(k)=1;
        FID(k)=0;
        if(D(k)~=0) %若为积分比例,修正fai d
            FID(k)=D(k)/B(k);
        end
    else
        FI(k)=exp(-h*A(k)/B(k)); % 求惯性或惯性比例环节各系数 
        FIM(k)=(1-FI(k))*C(k)/A(k);
        FIJ(k)=h*C(k)/A(k)-FIM(k)*B(k)/A(k); 
        FIC(k)=1;
        FID(k)=0;
        if(D(k)~=0)
            FIC(k)=C(k)/D(k)-A(k)/B(k);
            FID(k)=D(k)/B(k);
        end
    end
end
Y0=[0 0 0 0 0]'; 
n=length(t);
Y=Y0;
X=zeros(block_num,1);
result=Y;
Uk=zeros(block_num,1);
Ub=Uk; 
for m=1:(n-1)
    Ub=Uk;
    Uk=W*Y+W0*r;
    Uf=2*Uk-Ub;
    Udot=(Uk-Ub)/h;
%     X=FI'.*X+FIM'.*Uk;
%     Y=FIC'.*X+FID'.*Uf;
    X=FI'.*X+FIM'.*Uk+FIJ'.*Udot;
    Y=FIC'.*X+FID'.*Uf;
    Y(1)=satur(Y(1),c);
    result=[result,Y];
end
plot(t,result(1,:),t,result(2,:),t,result(3,:),t,result(4,:),t,result(5,:))
legend('y1','y2','y3','y4','y5')

你可以在这里找到完整代码。

相关文章
|
3月前
|
人工智能 C语言
【51单片机】让AI识别电路图,帮你进行编码(以51单片机为例)
【51单片机】让AI识别电路图,帮你进行编码(以51单片机为例)
144 0
|
4月前
|
传感器 数据采集 安全
LabVIEW编程控制ABB机械臂
LabVIEW编程控制ABB机械臂
65 0
|
异构计算
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
951 0
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
|
机器学习/深度学习 决策智能 计算机视觉
控制系统数字仿真与CAD-第四次实验-附完整代码
控制系统数字仿真与CAD-第四次实验-附完整代码
控制系统数字仿真与CAD-第二次实验-附完整代码
控制系统数字仿真与CAD-第二次实验-附完整代码
|
机器学习/深度学习 决策智能 计算机视觉
控制系统数字仿真与CAD-第一次实验-附完整代码
控制系统数字仿真与CAD-第一次实验-附完整代码
|
测试技术
电力电子技术课程实验:实验一、DC/DC直流斩波电路制作与性能测试
电力电子技术课程实验:实验一、DC/DC直流斩波电路制作与性能测试
电力电子技术课程实验:实验一、DC/DC直流斩波电路制作与性能测试
现代检测技术课程实验编程:波特图分析仪原理仿真:一阶检测系统编程仿真
现代检测技术课程实验编程:波特图分析仪原理仿真:一阶检测系统编程仿真
现代检测技术课程实验编程:波特图分析仪原理仿真:一阶检测系统编程仿真
|
芯片 异构计算
数电FPGA实验:实验一 基于FPGA的计数器设计 (基本任务:采用原理图法设计一个十进制计数器,完成波形功能仿真和时序仿真。拓展任务1:采用原理图法设计一个六进制计数器,完成波形功能仿真和时序仿真)
数电FPGA实验:实验一 基于FPGA的计数器设计 (基本任务:采用原理图法设计一个十进制计数器,完成波形功能仿真和时序仿真。拓展任务1:采用原理图法设计一个六进制计数器,完成波形功能仿真和时序仿真)
606 0
数电FPGA实验:实验一 基于FPGA的计数器设计 (基本任务:采用原理图法设计一个十进制计数器,完成波形功能仿真和时序仿真。拓展任务1:采用原理图法设计一个六进制计数器,完成波形功能仿真和时序仿真)
|
传感器 存储 编解码
复习单片机:温度检测 DS18B20(内含:1 DS18B20 介绍+2 硬件设计+3 软件设计+4 实验现象)
复习单片机:温度检测 DS18B20(内含:1 DS18B20 介绍+2 硬件设计+3 软件设计+4 实验现象)
308 0
复习单片机:温度检测 DS18B20(内含:1 DS18B20 介绍+2 硬件设计+3 软件设计+4 实验现象)