clear all;
close all;
%前向算法
for k=1:1:200
net_1(k)=r(k); %输入层计算
net_2(k)=y(k);
for i=1:2
if -1<=net_i(k)<=1
x_i(k)=net_i(k);
elseif net_i(k)>1
x_i(k)=1;
elseif net_i(k)<-1
x_i(k)=-1;
end
end
%隐含层计算
for j=1:1:3
u_j(k)=0;
for i=1:2
u_j(k)=u_j(k)+x_i(k)*w_ij(k);
end
if j==1
net_1(k)=u_j(k); %P
elseif j==2
net_2(k)=net_2(k-1)+u_j(k); %I
elseif j==3
net_3(k)=u_j(k)-u_j(k-1); %D
end
end
%输出层计算
for j=1:3
u0_j(k)=0;
u0_j(k)=u0_j(k)+net_j(k)*w_j(k);
if -1<u0_j(k)<1
v(k)=u0_j(k);
elseif u0_j(k)>1
v(k)=1;
elseif u0_j(k)<-1
v(k)=-1;
end
end
e(k)=r(k)-y(k);
ee(k)=e(k)*e(k);
end
w_1(0)=0.1;w_2(0)=0.09;w_3(0)=0.2;
w_11=1;w_12=1;w_13=1;w_21=-1;w_22=-1;w_23=-1;
%反向算法
for k=1:200
for n=1:k
Je(n)=Je(n)+ee(k)/200;
for j=1:200
if(i~=j)&&(ee(i)<=ee(j))
emin=ee(i); %计算预定误差最小值
end
end
end
if Je(n)<emin
break
elseif Je(n)<=Je(n-1)
Je(n)=Je(n);
else Je(n)=Je(n-1);
end
for j=1:3 %隐含层至输出层权重值恢复
w_j(n)=w_j(n-1);
end
for j=1:3 %输入层至隐含层权重值恢复
for i=1:2
w_ij(n)=w_ij(n-1);
end
end
end
for j=1:3 %修改权重值
x1=0;
for k=1:200
x1=x1+e(k)*Sgn((y(k+1)-y(k))/(v(k)-v(k-1)))*net_j(k);
end
ddw_j(j)=-x1/200;
end
for j=1:3
for i=1:2
x2=0;
for k=1:200
x2=x2+e(k)*Sgn((y(k+1)-y(k))/(v(k)-v(k-1)))*w_jk(n)*Sgn((net_j(k)-net_j(k-1))/(u_j(k)-u_j(k-1)))*xi(k);
end
dw_j(i)=-x2/200;
end
end
for j=1:3
w_j(n+1)=w_j(n)-ddw_j(j)*0.2; %隐含层至输出层权重值的修改计算
end
for j=1:3
for i=1:2
w_ij(n+1)=w_ij(n)-dw_j(i)*0.2; %输入层至隐含层的权重值的修改计算
end
end
save pidnn1 net
gensim(net,-1)
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的PID神经网络前向和反向学习算法的MATLAB实现的原程序代码+使用说明文档.rar
共2个文件
md:1个
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 143 浏览量
2024-05-22
17:17:15
上传
评论
收藏 5KB RAR 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的PID神经网络前向和反向学习算法的MATLAB实现的原程序代码+使用说明文档.rar 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB实现的PID神经网络前向和反向学习算法的MATLAB实现的原程序代码+使用说明文档.rar (2个子文件)
pidnn.m 2KB
使用说明文档.md 13KB
共 2 条
- 1
资源评论
IT狂飙
- 粉丝: 4778
- 资源: 2640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2_期末网店运营报告模版.pdf
- MyBatisCodeHelperPro 3.3.2-2322 2023.2-2024.1
- 基于Python的简单的学生成绩管理程序设计(课程设计)
- jdk-8u20-windows-x64安装版本-jdk-8u301-linux-x64解压版
- 植物大战僵尸杂交版 修改阳光和冷却
- html css js网页设计ntion-model-for-开发笔记
- 数据库课程设计-processing开发笔记
- matlab画图sic-开发demo
- 数据库原理课程设计-图书馆数据库管理系统
- IEC101Sim IEC870-5-101协议仿真主站、子站 (含源码 C++Builder)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功