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

📄 matlab 用bp实现函数逼近.txt

📁 MATLAB绘制出权值wv和阀值bv确定的误差曲面
💻 TXT
字号:
用BP实现函数逼近2007/06/03 00:12可以改变原始非线性函数的频率及BP网络隐层单元神经元的数目,可见网络隐层单元神经元数目越多,或训练次数越多,精度越小,也就越能对非线性程度越高的函数进行更好地逼近。

%通过下面两个参数值的改变比较结果
k=1; %设置非线性函数的频率
n=10; %设置网络隐单元的神经元数目
%定义要逼近的非线性函数
p = [-1:.05:1];
t = sin(k*pi*p);
plot(p,t,'-')
title('要逼近的非线性函数');
xlabel('时间');
ylabel('非线性函数');
%建立相应的BP网络
net = newff(minmax(p),[n,1],{'tansig' 'purelin'},'trainlm');
%对没有训练的网络进行仿真
y1 = sim(net,p);
%绘出仿真得到的曲线
figure;
plot(p,t,'-',p,y1,'--')
title('没有训练的网络仿真结果');
xlabel('时间');
ylabel('仿真输出--   原函数-');
%训练网络
net.trainParam.epochs = 50;
net.trainParam.goal = 0.01;
net = train(net,p,t);
%对训练后的网络进行仿真
y2 = sim(net,p);
%绘出训练后的仿真结果
figure;
plot(p,t,'-',p,y1,'--',p,y2,'--')
title('训练后的网络仿真结果');
xlabel('时间');
ylabel('仿真输出');


 

⌨️ 快捷键说明

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