返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 人工智能|模式识别|机器学习|数字图像处理|SAR图像处理-不仅仅是MATLAB! > 人工神经网络(ANN)


人工神经网络(ANN) A discussion board for Artificial Neural Network(ANN)



回复
 
LinkBack 主题工具 显示模式
旧 2019-03-22, 11:46 AM   #1
初级会员
 
注册日期: 2019-03-22
年龄: 21
帖子: 1
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
kougen 正向着好的方向发展
帖子 单神经元pid仿真时出现错误

这是我做的单神经元pid的simulink和s函数,仿真时候出现了“未定义函数或变量 'u1'。”的错误,请问是怎么回事?
这是我的s函数m文件

function [sys,x0,str,ts]=neuropid(t,x,u,flag)
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;
case 1
sys=[ ];
case 2
sys=mdlUpdate(t,x,u);
case 3
sys=mdlOutputs(t,x,u);
case 4
sys=[ ];
case 9
sys=[ ];
otherwise
error(['Unhandled flag=',num2str(flag)]);
end

function [sys,x0,str,ts]=mdlInitializeSizes
sizes=simsizes;
sizes.NumContStates=0;
sizes.NumDiscStates=3;
sizes.NumOutputs=1;
sizes.NumInputs=4;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[0.3,0.3,0.3];%初始权值
str=[ ];
ts=[-1 0];

function sys=mdlUpdate(t,x,u)
sys(1)=x(1)+0.3*u(1)*u(1);%x(1)=e(k)
sys(2)=x(2)+0.3*u(1)*(u(1)-u(2));%x(2)=e(k)-e(k-1)
sys(3)=x(3)+0.5*u(1)*(u(1)-2*u(2)+u(3));%x(3)=e(k)-2e(k-1)+e(k-2)

function sys=mdlOutputs(t,x,u)
sys=u(4)+0.12*(x(1)*u(1)+x(2)*(u(1)-u(2))+x(3)*(u1-2*u(2)+u(3)))/(abs(x(1))+abs(x(2))+abs(x(3)));
上传的图像
文件类型: jpg 单神经元pid.jpg (14.1 KB, 0 次查看)
kougen 当前离线   回复时引用此帖
回复

书签

标签
simulink 单神经元 pid

主题工具
显示模式

发帖规则
不可以发表新主题
可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 10:13 PM


Powered by vBulletin
版权所有 ©2000 - 2019,Jelsoft Enterprises Ltd.

SEO by vBSEO ©2009, Crawlability, Inc.