资源简介
自己写了一些注释,主要是刚开始还不是很熟悉Simulink里的一下模块,然后其中的机理就不太清楚,所以加了一些注释在里面
代码片段和文件信息
function [sysx0strts] = spacemodel(txuflag)
switch flag
case 0
[sysx0strts]=mdlInitializeSizes;%初始化写入
case 1
sys=mdlDerivatives(txu);
%写入微分方程,虽然写入的是微分方程,其实本质上是对方程进行积分,然后输出到sys里面,sys通过中间变量x传输到Output的x里面。
case 3
sys=mdlOutputs(txu);%写入输出方程
case {249}
sys=[];
otherwise
error([‘Unhandled flag = ‘num2str(flag)]);
end
function [sysx0strts]=mdlInitializeSizes
global c b%全局变量
sizes = simsizes;%生成参数结构体
sizes.NumContStates = 5;%连续状态变量个数
sizes.NumDiscStates = 0;%离散状态变量个数
sizes.NumOutputs = 2;%输出变量个数
sizes.NumInputs = 2;%输入变量个数
sizes.DirFeedthrough = 1;%输入能否直接控制输出
sizes.NumSampleTimes = 0;%采样时间次数
sys = simsizes(sizes);%结构赋值
%%%%%%%%%%%参数赋值%%%%%%%%%%%%%%
x0 = [0*ones(51)];
c= [-2 -1 0 1 2;
-2 -1 0 1 2];
b=0.20;
str = [];
ts = [];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function sys=mdlDerivatives(txu)
global c b
gama=1200;
yd=0.1*sin(t);%理想跟踪指令
dyd=0.1*cos(t);%理想跟踪指令导数
ddyd=-0.1*sin(t);%理想跟踪指令导数的导数
e=u(1);%模块输入第一组数据
de=u(2);%模块输入第二组数据
x1=yd-e;%系统输出
x2=dyd-de;%系统输出导数
kp=30;kd=50;
K=[kp kd]‘;%误差系统参数,使得误差的微分方程根在S的左半平面
E=[ede]‘;%误差矩阵
Fai=[0 1;-kp -kd];%简化闭环系统表达式
A=Fai‘;
Q=[500 0;0 500];%构造函数
P=lyap(AQ);%李雅普诺夫函数
xi=[e;de];%误差矩阵
h=zeros(51);%高斯核函数初始化
for j=1:1:5
h(j)=exp(-norm(xi-c(:j))^2/(2*b^2));
end
W=[x(1) x(2) x(3) x(4) x(5)]‘;%权值初始化
B=[0;1];%B矩阵
S=-gama*E‘*P*B*h;%构造自适应律
for i=1:1:5
sys(i)=S(i);
end
function sys=mdlOutputs(txu)
global c b
yd=0.1*sin(t);
dyd=0.1*cos(t);
ddyd=-0.1*sin(t);
e=u(1);
de=u(2);
x1=yd-e;
x2=dyd-de;
kp=30;kd=50;
K=[kp kd]‘;
E=[e de]‘;
W=[x(1) x(2) x(3) x(4) x(5)]‘;
xi=[e;de];
h=zeros(51);
for j=1:1:5
h(j)=exp(-norm(xi-c(:j))^2/(2*b^2));
end
fxp=W‘*h;%RBF模型输出
gx=133;%已知参数
ut=1/gx*(-fxp+ddyd+K‘*E);%构造控制律
sys(1)=ut;
sys(2)=fxp;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2121 2018-12-07 13:50 chap4_1ctrl.m
文件 822 2018-12-07 14:12 chap4_1plant.m
文件 548 2010-12-02 09:01 chap4_1plot.m
文件 23646 2010-12-02 09:02 chap4_1sim.mdl
- 上一篇:可运行的matlab-SIFT.zip
- 下一篇:IHS 融合算法 matlab
相关资源
- 基于RBF神经网络的PID控制仿真代码
- RBF插值算法Matlab代码
- RBF神经网络matlab程序
- Matlab用梯度下降算法开发的rbf神经网
- PSO优化RBFNN的MATLAB源代码
- Matlab神经网络及应用于近红外光谱的
- 多输入多输出RBF神经网络MATLAB程序
-
S函数的RBF神经网络PID控制器Simuli
- RBFNN的Matlab仿真
- PSO-RBF的MATLAB程序实现
- 用复数RBF网络实现的复函数逼近
- RBF神经网络自适应控制MATLAB仿真程序
- Matlab的RBF神经网络用于模式分类-RBF
- RBF预测 matlab
- RBF神经网络拟合函数的,附注释
- 基于MATLAB实现的说话人识别程序,分
- 径向基神经网络MATLAB仿真
- RBF神经网络负荷预测
- 基于 GM-RBF 神经网络的光伏发电功率预
- 粒子群算法优化RBF神经网络
- 基于k-均值的RBF神经网络实现
- RBF神经网络的训练 MATLAB源程序代码
- 基于s函数的RBF网络自适应pid控制器
- 机械手的rbf自适应控制建模与matlab程
- rbf神经网络的建模与matlab程序与simu
- PSO 优化径向基神经网络参数
- Matlab可用于电力系统短期负荷预测的
- Matlab遗传算法优化RBF网络权值-遗传算
- 基于改进RBF的Q算法路径规划仿真MAT
- RBF and svm matlab code matlab回归预测的源
评论
共有 条评论