完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是我做的单神经元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)));
|
|
相关推荐
1个回答
|
|
你最后一段的u1没括号吧,应该是u(1)
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
979 浏览 3 评论
使用simulink进行三相短路故障分析时,各参数应该如何设置
1600 浏览 1 评论
想请教一下图中是simulink的什么模块,需要这种三段斜率函数模块但没找到在哪
1675 浏览 1 评论
2598 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
2850 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 02:31 , Processed in 0.658767 second(s), Total 76, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号