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

📄 f_appr.m

📁 我们上课的资料
💻 M
字号:
% 用BP网络实现函数逼近的问题
k=1;
n=10;
aim=0.01;
% 产生频率可调的正弦波作为要逼近的非线性函数
p=[-1:0.05:1];
t=sin(k*pi*p);
plot(p,t);
title('要逼近的非线性函数');
xlabel('时间');
ylabel('非线性函数');
hold on;
pause;
% 建立一具有两层结构的BP网络,第一层(隐层)神经元数目为n,传递函数为tansig,输出层有一个线性神经元
net=newff(minmax(p),[n,1],{'tansig' 'purelin'},'trainlm');
y1=sim(net,p);
plot(p,t,p,y1,'--');
title('未训练的网络输出结果');
xlabel('时间');
ylabel('仿真输出-- 原函数—');
pause;
% 网络训练
% 先设置训练参数
net.trainParam.epochs = 50;
net.trainParam.goal =aim;
net= train(net,p,t);
% 网络测试
y2 = sim(net,p);
plot(p,t,p,y1,p,y2);
title('训练后的网络输出结果');
xlabel('时间');
ylabel('仿真输出');
pause;


⌨️ 快捷键说明

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