⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my1.m

📁 一个bp的逼近算法
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   求逼近问题                        %
% author : shanjiao (lin_HuiQiang)    %
% day    : 2004/11/11                 %
% time   :    10:30                   %
% what   : 作业1                      %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%初始化训练矩阵u,u的范围是[-0.5 0.5],步长0.05
u=[-0.5:0.05:0.5]
x=[0:1:20]
%计算d,以便得到输出,并用这个输出,作为教导信号
j=1;
for i=-0.5:0.05:0.5
    d(j)=exp(-1.9*(i+0.5))*sin(10*i);
    j=j+1;
end 

%建立网络,[1,10,1]
net=newff([-0.5 0.5],[10,1],{'tansig' 'purelin'});
%训练前先进行一次仿真
a1=sim(net,u);
%设置训练参数:训练次数5000,目标:误差限0.01,训练方法是bp普通算法
net.trainParam.epochs=5000;
net.trainParam.goal=0.0001;
net=train(net,u,d);
%训练完成后进行仿真
a2=sim(net,u);

%将结果绘图比较:原图像,训练前的网络仿真图,训练后的网络仿真图
axis([-0.5 0.5 0 20])
figure 
plot(x,u,'o');
figure
plot(x,d,'ro');
figure
plot(x,a1,'b-');
figure
plot(x,a2,'*');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -