基于Matlab的BP神经网络--源代码与工具箱实现

本文介绍了如何在Matlab环境下使用BP神经网络进行飞行预测,详细探讨了源码实现与工具箱实现的过程。通过一个语音分类的案例,展示了源码实现中的调整以及工具箱使用的便捷性,强调手动编写BP神经网络对于理解其工作原理的重要性。实验结果显示,BP神经网络在非线性拟合任务中表现出色。

    因为最近项目要使用BP神经网络来做一些飞行预测,所以今天从图书馆借来了《Matlab神经网络30个案例分析》,这本书很不错推荐给大家,然后研究了下代码,使用语音分类这个例子做了源码实现与工具箱实现,源码实现过程中进行了小小的改变,工具箱用起来非常方便,但是手写一下BP神经网络的前向后向对于理解BP神经网络还是有极大帮助的,这里把这两种实现方式贴出来并带有结果截图。显然BP神经网络对于这种非线性拟合场合效果是非常好的。

     (1) 源码实现 

%% 清空环境变量
clc
clear

%% 训练数据预测数据提取及归一化

%下载四类语音信号
load data1 c1
load data2 c2
load data3 c3
load data4 c4

%四个特征信号矩阵合成一个矩阵
data(1:500,:) = c1(1:500,:);
data(501:1000,:) = c2(1:500,:);
data(1001:1500,:) = c3(1:500,:);
data(1501:2000,:) = c4(1:500,:);

%从1到2000产生随机数
k = rands(1,2000);
[m,n] = sort(k);

%%提取输入、输出数据
input= data(:,2:25);
output1= data(:,1);

%将输出数据由一维变为四维
for i = 1:1:2000
	switch output1(i)
		case 1 
			output(i,:) = [1 0 0 0];
		case 2
			output(i,:) = [0 1 0 0];
		case 3
			output(i,:) = [0 0 1 0];
		case 4
			output(i,:) = [0 0 0 1];
	end
end

%随机提取1500个测试数据,500个样本为预测数据
input_train = input(n(1:1500),:)';
output_train = output(n(1:1500),:)';
input_test = input(n
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值