资源简介
本内容为作者本科毕设代码中挑选的一个范例。其余功放或者其他神经网络模型构建都与之类似。压缩包中包含一个9040功放的非线性包络(CDMA2000)数据(.txt),以及对该数据建模的三个神经网络模型(BP神经网络;RBF神经网络;Elman神经网络)(.m)相关内容见作者博客:https://blog.csdn.net/ChijinLoujue/article/details/86564616 以及 https://blog.csdn.net/ChijinLoujue/article/details/80947900
代码片段和文件信息
%% 第一种神经网络:BP神经网络--幅度/相位模型
%% 清空环境变量
clc
clear
set(0‘defaultfigurecolor‘‘w‘);
%% 训练数据预测数据提取
%下载输入输出数据
load(‘AMAM9040_1.txt‘)
load(‘PMPM9040_1.txt‘)
%将数据分类存储
A = AMAM9040_1(:2);
P = PMPM9040_1(:2);
T = AMAM9040_1(:1);
T0 = T(1:300)‘;
Ain = A(1:300);
Aout = A(301:600);
Pin = P(1:300);
Pout = P(301:600);
%显示原始数据图形
plot(T0Ain);
hold on
plot(T0Aout);
title(‘9040\_原始时域输入输出幅度‘)
xlabel(‘时间/S‘);
ylabel(‘幅度/V‘);
grid on
figure
plot(T0Pin);
hold on
plot(T0Pout);
title(‘9040\_原始时域输入输出相位‘)
xlabel(‘时间/S‘);
ylabel(‘相位/角度‘);
grid on
Pin = Pin*pi/180;
Pout = Pout*pi/180;
for i = 1:300
if Pout(i)<-0.81
Pout(i)=Pout(i)+2*pi;
end
end
figure
plot(AinAout‘r.‘);
title(‘9040\_原始输入输出幅度关系‘)
xlabel(‘输入幅度/V‘);
ylabel(‘输出幅度/V‘);
legend(‘原数据‘‘预测数据‘);
grid on
figure
plot(PinPout‘r.‘);
title(‘9040\_原始输入输出相位关系‘)
xlabel(‘输入相位/弧度‘);
ylabel(‘输入相位/弧度‘);
legend(‘输入相位‘‘输出相位‘);
grid on
Ain_train = Ain(1:200)‘;
Pin_train = Pin(1:200)‘;
Aout_train = Aout(1:200)‘;
Pout_train = Pout(1:200)‘;
Vinput_train = [Ain_train;Pin_train];
Voutput_train = [Aout_train;Pout_train];
Ain_test = Ain(201:300)‘;
Pin_test = Pin(201:300)‘;
Aout_test = Aout(201:300)‘;
Pout_test = Pout(201:300)‘;
Vinput_test = [Ain_test;Pin_test];
Voutput_test = [Aout_test;Pout_test];
%% BP网络训练
% %初始化网络结构
net=newff(Vinput_trainVoutput_train5);
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00004;
%网络训练
net=train(netVinput_trainVoutput_train);
%netBPAP780_5挺好的
save(‘D:\Study\Graduation_project\Code\Mycode\netBPAP9040_1.mat‘‘net‘);
%load netBPAP9040 %net为已保存的网络
%% BP网络预测
%网络验证输出
BPoutput_train = sim(netVinput_train);
%网络预测输出
BPoutput_test = sim(netVinput_test);
% 预测输出整理
A_BPoutput_train = BPoutput_train(1:);
P_BPoutput_train = BPoutput_train(2:);
A_BPoutput_test = BPoutput_test(1:);
P_BPoutput_test = BPoutput_test(2:);
%% 结果分析
% 我们使用图像来看网络对非线性函数的拟合效果
figure
plot(Ain_trainAout_train‘r.‘);
hold on
plot(Ain_trainA_BPoutput_train‘bo‘);
title(‘9040\_BP网络验证输出幅度‘)
xlabel(‘Ainput‘)
ylabel(‘Aoutput‘)
grid on
figure
plot(Pin_trainPout_train‘r.‘);
hold on
plot(Pin_trainP_BPoutput_train‘bo‘);
title(‘9040\_BP网络验证输出相位‘)
xlabel(‘Pinput‘)
ylabel(‘Poutput‘)
grid on
figure
plot(Ain_testAout_test‘r.‘);
hold on
plot(Ain_testA_BPoutput_test‘bo‘);
title(‘9040\_BP网络预测输出幅度‘)
xlabel(‘Ainput/V‘)
ylabel(‘Aoutput/V‘)
legend(‘原数据‘‘预测数据‘);
grid on
figure
plot(Pin_testPout_test‘r.‘);
hold on
plot(Pin_testP_BPoutput_test‘bo‘);
title(‘9040\_BP网络预测输出相位‘)
xlabel(‘Pinput/rad‘)
ylabel(‘Poutput/rad‘)
legend(‘原数据‘‘预测数据‘);
grid on
%% 观察误差
A_BPerroproportion = abs((A_BPoutput_test-Aout_test)./Aout_test);
P_BPerroproportion = abs((P_BPoutput_test-Pout_test)./Pout_test);
A_BPnum1_10 =0;
P_BPnum1_10 =0;
for i = 1:100
if A_BPerroproportion(i) <= 0.1
A_BPnum1_10=A_BPnum1_10+1;
end
if P_BPerropro
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 27660 2018-05-30 21:20 AMAM9040_1.txt
文件 4061 2018-06-10 15:47 BP_AP_9040_1.m
文件 3624 2018-06-10 17:09 Elman_AP_9040_1.m
文件 9911 2018-06-10 16:01 netBPAP9040_1.mat
文件 362 2018-05-29 20:44 NRMS.m
文件 27917 2018-05-30 21:23 PMPM9040_1.txt
文件 3308 2018-06-03 17:38 RBF_AP_9040_1.m
文件 196329 2018-05-16 15:26 Rd_Nu.mat
文件 51 2018-05-16 15:26 Rd_Num.m
文件 750 2019-02-28 18:18 readme.txt
文件 267 2018-05-29 20:43 RMSE.m
相关资源
- 基于遗传算法的神经网络金融时序预
- 小波神经网络的时间序列预测
- 一种神经网络模式分析系统 的设计与
- 基于卷积神经网络和注意力模型的文
- 基于小波包与概率神经网络相结合的
- 数据挖掘之神经网络分析实验报告
- NWP风电功率预测
- bp神经网络预测汽油浓度
- 有导师学习神经网络的回归拟合——
- ansys workbench进行线形非线性分析的材
- 人工神经网络及其应用含代码
- 基于 PCA - RBF 神经网络的混凝土坝
- 非线性分析答案
- 人工神经网络水果识别
- BP_Pso算法
- 遗传算法GA优化BP神经网络代码
- rbf神经网络在变压器故障诊断中的应
- iris神经网络.zip
- GA-BP算法
- BP神经网络算法,内含3个程序,直接
- RNN变体——最小门限递归神经网络M
- BP神经网络鲍鱼年龄预测.zip
- RBF神经网络 实现非线性函数回归
- 模糊控制与bp神经网络范例
- LeNet-5论文完整版
- 研究论文-基于线性二次型调节器的神
- 论文研究-基于回声状态神经网络的脑
- 论文研究-基于卷积神经网络的城市交
- 基于遗传算法的小波神经网络交通流
- 论文研究-基于信息融合技术的电梯控
评论
共有 条评论