📄 baocunquanzhi.m
字号:
%%%%%%%%%%%%%%%保存权值的方法%%%%%%%%%%%%%%%%%%%%%%%
clc
clear
close all
%训练
p = [-1 -1 2 2;0 5 0 5];
t = [-1.5 -2.5 1.9 1.4];
net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingdm');
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 300;
net.trainParam.goal = 1e-5;
[net,tr]=train(net,p,t);
w1=net.IW{1,1};
b1=net.b{1,1};
w2=net.LW{2,1};
b2=net.b{2,1};
%保存网络训练结果
fww1=fopen('w1.dat','w');
fwb1=fopen('b1.dat','w');
fww2=fopen('w2.dat','w');
fwb2=fopen('b2.dat','w');
fprintf(fww1,'%6.4f %6.4f\n',w1);
fprintf(fwb1,'%6.4f %6.4f\n',b1);
fprintf(fww2,'%6.4f %6.4f\n',w2);
fprintf(fwb2,'%6.4f %6.4f\n',b2);
fclose(fww1);
fclose(fwb1);
fclose(fww2);
fclose(fwb2);
%即时仿真
test_data=[-1.1;5];
a = sim(net,test_data)
%仿真程序
%此为一仿真程序
%首先读入权域值参数
frw1=fopen('w1.dat','r');
frb1=fopen('b1.dat','r');
frw2=fopen('w2.dat','r');
frb2=fopen('b2.dat','r');
[w1,count]=fscanf(frw1,'%f',[3,4])
[b1,count]=fscanf(frb1,'%f',[3,1])
[w2,count]=fscanf(frw2,'%f',[1,3])
[b2,count]=fscanf(frb2,'%f',[1,1])
fclose(frw1);
fclose(frb1);
fclose(frw2);
fclose(frb2);
%net = newff([-1 2;0 5],3);
net=newff([-1 2;0 5],[3,1],{'tansig','purelin'},'traingdm');
%net = initwb(net,3)
net.IW{1,1}=w1;
net.b{1,1}=b1;
net.LW{2,1}=w2;
net.b{2,1}=b2;
test_data=[-1.1;5];
a = sim(net,test_data)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -