没有合适的资源?快使用搜索试试~ 我知道了~
PID神经网络解耦实用程序
4星 · 超过85%的资源 需积分: 13 31 下载量 177 浏览量
2011-04-06
10:51:10
上传
评论
收藏 6KB TXT 举报
温馨提示
试读
8页
PID神经网络解耦的实用程序,非常适用初学者参考学习!
资源推荐
资源详情
资源评论
web browser http://www.ilovematlab.cn/thread-62563-1-1.html
%% 清空环境变量
clc
clear
%% 网络结构初始化
rate1=0.006;rate2=0.001;rate3=0.000001; %学习率
k=0.3;K=3;
y_1=zeros(3,1);y_2=y_1;y_3=y_2; %输出值
u_1=zeros(3,1);u_2=u_1;u_3=u_2; %控制率
h1i=zeros(3,1);h1i_1=h1i; %第一个控制量
h2i=zeros(3,1);h2i_1=h2i; %第二个控制量
h3i=zeros(3,1);h3i_1=h3i; %第三个空置量
x1i=zeros(3,1);x2i=x1i;x3i=x2i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i; %隐含层输出
%权值初始化
k0=0.03;
%第一层权值
w11=k0*rand(3,2);w11_1=w11;w11_2=w11_1;
w12=k0*rand(3,2);w12_1=w12;w12_2=w12_1;
w13=k0*rand(3,2);w13_1=w13;w13_2=w13_1;
%第二层权值
w21=k0*rand(1,9);w21_1=w21;w21_2=w21_1;
w22=k0*rand(1,9);w22_1=w22;w22_2=w22_1;
w23=k0*rand(1,9);w23_1=w23;w23_2=w23_1;
%值限定
ynmax=1;ynmin=-1; %系统输出值限定
xpmax=1;xpmin=-1; %P节点输出限定
%% 清空环境变量
clc
clear
%% 网络结构初始化
rate1=0.006;rate2=0.001;rate3=0.000001; %学习率
k=0.3;K=3;
y_1=zeros(3,1);y_2=y_1;y_3=y_2; %输出值
u_1=zeros(3,1);u_2=u_1;u_3=u_2; %控制率
h1i=zeros(3,1);h1i_1=h1i; %第一个控制量
h2i=zeros(3,1);h2i_1=h2i; %第二个控制量
h3i=zeros(3,1);h3i_1=h3i; %第三个空置量
x1i=zeros(3,1);x2i=x1i;x3i=x2i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i; %隐含层输出
%权值初始化
k0=0.03;
%第一层权值
w11=k0*rand(3,2);w11_1=w11;w11_2=w11_1;
w12=k0*rand(3,2);w12_1=w12;w12_2=w12_1;
w13=k0*rand(3,2);w13_1=w13;w13_2=w13_1;
%第二层权值
w21=k0*rand(1,9);w21_1=w21;w21_2=w21_1;
w22=k0*rand(1,9);w22_1=w22;w22_2=w22_1;
w23=k0*rand(1,9);w23_1=w23;w23_2=w23_1;
%值限定
ynmax=1;ynmin=-1; %系统输出值限定
xpmax=1;xpmin=-1; %P节点输出限定
qimax=1;qimin=-1; %I节点输出限定
qdmax=1;qdmin=-1; %D节点输出限定
uhmax=1;uhmin=-1; %输出结果限定
%% 网络迭代优化
for k=1:1:200
%% 控制量输出计算
%--------------------------------网络前向计算--------------------------
%系统输出
y1(k)=(0.4*y_1(1)+u_1(1)/(1+u_1(1)^2)+0.2*u_1(1)^3+0.5*u_1(2))+0.3*y_1(2);
y2(k)=(0.2*y_1(2)+u_1(2)/(1+u_1(2)^2)+0.4*u_1(2)^3+0.2*u_1(1))+0.3*y_1(3);
y3(k)=(0.3*y_1(3)+u_1(3)/(1+u_1(3)^2)+0.4*u_1(3)^3+0.4*u_1(2))+0.3*y_1(1);
r1(k)=0.7;r2(k)=0.4;r3(k)=0.6; %控制目标
%系统输出限制
yn=[y1(k),y2(k),y3(k)];
yn(find(yn>ynmax))=ynmax;
yn(find(yn<ynmin))=ynmin;
%输入层输出
x1o=[r1(k);yn(1)];x2o=[r2(k);yn(2)];x3o=[r3(k);yn(3)];
%隐含层
x1i=w11*x1o;
x2i=w12*x2o;
x3i=w13*x3o;
qdmax=1;qdmin=-1; %D节点输出限定
uhmax=1;uhmin=-1; %输出结果限定
%% 网络迭代优化
for k=1:1:200
%% 控制量输出计算
%--------------------------------网络前向计算--------------------------
%系统输出
y1(k)=(0.4*y_1(1)+u_1(1)/(1+u_1(1)^2)+0.2*u_1(1)^3+0.5*u_1(2))+0.3*y_1(2);
y2(k)=(0.2*y_1(2)+u_1(2)/(1+u_1(2)^2)+0.4*u_1(2)^3+0.2*u_1(1))+0.3*y_1(3);
y3(k)=(0.3*y_1(3)+u_1(3)/(1+u_1(3)^2)+0.4*u_1(3)^3+0.4*u_1(2))+0.3*y_1(1);
r1(k)=0.7;r2(k)=0.4;r3(k)=0.6; %控制目标
%系统输出限制
yn=[y1(k),y2(k),y3(k)];
yn(find(yn>ynmax))=ynmax;
yn(find(yn<ynmin))=ynmin;
%输入层输出
x1o=[r1(k);yn(1)];x2o=[r2(k);yn(2)];x3o=[r3(k);yn(3)];
%隐含层
x1i=w11*x1o;
x2i=w12*x2o;
x3i=w13*x3o;
剩余7页未读,继续阅读
资源评论
- shuanglili2012-10-22程序适合初学者学习!
- huifengshiwu22013-01-10跟网上其他很多资料重复了!!!
masondongnan
- 粉丝: 18
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功