资源简介
本内容为作者本科毕设代码中挑选的一个范例。其余功放或者其他神经网络模型构建都与之类似。压缩包中包含一个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
相关资源
- bp神经网络源代码,可直接运行
- 连续hopfield神经网络解决TSP问题
- 改进的BP神经网络算法
- 基于bp神经网络的表情识别
- 神经网络仿真工具源代码
- 使用卷积神经网络在e + e-对撞机上改
- 非线性渗流下的油井产量计算
- 用labview编写的一个神经网络Vi图
- 非相对论弦论中非线性西格玛模型的
- 纠缠熵探测具有指数非线性电动力学
- 具有非线性电动力学的高维全息超导
- 非线性电动力学对铜价奇特金属的反
- 非线性高自旋方程的0形区的电流相互
- 具有指数非线性电动力学的一维反向
- 大规模M2膜理论的全息术:非线性扩展
- 非线性电动力学的膜范例和全息直流
- 具有非线性电动力学的Lifshitz黑洞中铁
- 非线性电动力学全息超导体的非平衡
- 具有非线性电动力学的全息顺磁性-铁
- 全息的非线性兰格文动力学
- 遗传算法的堆石料非线性本构模型参
- 简单二阶互联系统的非线性动力学分
- 基于改进的SOM神经网络在产品配置中
- 深度学习卷积神经网络可检测和分类
- 标量场理论的回归和生成神经网络
- 基于ARIMA、BP神经网络与GM的组合模型
- 车辆自适应神经网络编队控制
- 基于RBF神经网络在线辨识的永磁同步
- 基于BP人工神经网络的SmFeN永磁材料工
- 融合粗糙集和人工神经网络的产品敏
评论
共有 条评论