⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap3_2app.asv

📁 基于RBF网络的机器人手臂运动关节的仿真实例。利用RBF网络实现机器人手臂运动关节的仿真实例建模。
💻 ASV
字号:
function [sys,x0,str,ts]=s_function(t,x,u,flag)
flag=1;
switch flag,
case 0,
    [sys,x0,str,ts]=mdlInitializeSizes;
case 3,
    sys=mdlOutputs(t,x,u);
case {2, 4, 9 }
    sys = [];
otherwise
    error(['Unhandled flag = ',num2str(flag)]);
end

function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates  = 0;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 1;
sizes.NumInputs      = 2;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 0;
sys=simsizes(sizes);
x0=[];
str=[];
ts=[];
function sys=mdlOutputs(t,x,u)
persistent w w_1 w_2 w_3 ci ci_1 ci_2 ci_3 bi bi_1 bi_2 bi_3
alfa=0.05;
xite=0.35;

if t==0
%	bi=rands(4,1);   
%	ci=rands(2,4);   
	bi=3*ones(4,1);   
	ci=0.1*ones(2,4);   
	w=zeros(4,1);   
	w_1=w;w_2=w_1;w_3=w_1;
	ci_1=ci;ci_3=ci_1;ci_2=ci_1;
	bi_1=bi;bi_2=bi_1;bi_3=bi_2;
end

ui=u(1);
yout=u(2);

xi=[0,0]';
xi(1)=ui;
xi(2)=yout;
   
for j=1:1:4
    h(j)=exp(-norm(xi-ci_1(:,j))^2/(2*bi_1(j)*bi_1(j)));
end
ymout=w_1'*h';
    
d_w=0*w;d_bi=0*bi;d_ci=0*ci;
for j=1:1:4
   d_w(j)=xite*(yout-ymout)*h(j);
   d_bi(j)=xite*(yout-ymout)*w_1(j)*h(j)*(bi_1(j)^-3)*norm(xi-ci_1(:,j))^2;
   for i=1:1:2
   d_ci(i,j)=xite*(yout-ymout)*w_1(j)*h(j)*(xi(i)-ci_1(i,j))*(bi_1(j)^-2);
   end
end
   w=w_1+ d_w+alfa*(w_1-w_2);
   bi=bi_1+d_bi+alfa*(bi_1-bi_2);
   ci=ci_1+d_ci+alfa*(ci_1-ci_2);
   
   w_2=w_1   
w_1=w
   ci_2=ci_1
 ci_1=ci
   bi_2=bi_1
 bi_1=bi
sys(1)=ymout;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -