导航:首页 > 编程大全 > 网络pid

网络pid

发布时间:2023-03-01 23:22:54

⑴ 基于BP神经网络的PID,输入参数的归一化,问题求助

利用BP神经网络来整定PID,也许能实现。但是书本上的这个BP-PID理论书本是错误的。你仔细看看,它的输出激活函数的值域是【0,1】,PID的参数不可能是只在这个范围啊!可以说输出没有反归一化(值域扩展)。至于输入归一化,可用不做,但是输出在0和1之间,就是闹笑话了

⑵ s函数-神经网络PID

我毕设是这个研究好几天了
终于有点头绪.虽然你是3年前发的我忍不住跟你分享一下.
估计还会有人需要。我找了整整几天在网上找不到任何有用的资料
等过几天答辩完了有新的理解会回来补充,就当造福后人了。

switch flag,
case 0
[sys,x0,str,ts]=mdlInitializeSizes(nh);
case 3
sys=mdlOutputs(t,x,u,nh,xite,alfa,KF1,KF2,wi,wo);
case { 1,2, 4, 9 }
sys=[];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end

flag是标志位.不同的flag取值代表函数进行不同的运算,这里flag=0进行初始化运算,=3进行sys输出运算,其他的不运算。

function [sys,x0,str,ts] = mdlInitializeSizes(nh)
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 4+7*nh; % dynamically sized?
sizes.NumInputs = 14*nh+7; % dynamically sized?
sizes.DirFeedthrough = 1; % has direct feedthrough
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
str = [];
x0 = [];
ts = [-1 0];
这些是必要的参数设置,分别是连续参数为0,离散参数为0,输出个数4+7*nh,输入个数14*nh+7(不知道4和7是哪来的?分别是输入参数和返回参数的数量),直接馈入(我也不知道是什么)为1,取样次数为1.设置完赋给sys输出。
str是没用的东西,x0是初始状态为空矩阵,这里你打错字了是ts=[T0],ts是一个1X2的向量,ts(1)是采样周期,ts(2)是偏移量。

wi_2=wi+reshape(u(8:7+4*nh),nh,4);
wo_2=wo+reshape(u(8+4*nh:7+7*nh),3,nh);
wi_1=wi+reshape(u(8+7*nh:7+11*nh),nh,4);
wo_1=wo+reshape(u(8+11*nh:7+14*nh),3,nh);
这个是学习网络的建立过程,具体我也不懂。

xx=[u(1)-u(2);u(1);u(1)+u(3)-2*u(2)];
这句是增量式PID控制算法,应该是你说的PID部分,我也不太懂。
程序部分我就知道这些。

还有我好久才查到的,nh代表神经元个数,xite是学习速率,alfa惯性系数。

希望对再来看的人有帮助。

阅读全文

与网络pid相关的资料

热点内容
华硕p7h55mplus升级 浏览:240
servlet调用jsp 浏览:481
文件的命名原则有哪些 浏览:352
苹果的文件管理是哪个 浏览:387
智能黑板如何给pdf文件做批注 浏览:788
哈弗智联app如何绑定二手车 浏览:728
cad文件不多可是异常增大 浏览:872
苹果手机怎样将音频文件导入剪映 浏览:432
2016秋季飞歌导航升级 浏览:151
电脑字符串怎么编程 浏览:381
暴风不能在线观看视频文件 浏览:267
三国卡可以升级吗 浏览:939
如何筛选出相同数据 浏览:311
vbox文件找不到 浏览:49
linux互传文件夹 浏览:796
touch1mini灯光控台怎么编程序 浏览:395
ug编程和精雕编程哪个好用 浏览:126
抖音转转app广告哪里接 浏览:820
sublime左侧文件夹 浏览:309
java重复提交 浏览:219

友情链接