在哪能下的matlab的神经网络工具箱

在哪能下的matlab的神经网络工具箱,第1张

MATLAB的神经网络工具箱是内置的,如果完全安装了MATLAB,那么你可以在MATLAB的帮助页面上(帮助页面可以在Comand Window下输入'help help '(不名括单引号),然后看Contents里有 Neural Network Toolbox。 神经网络工具箱有个教学GUI,可以在Comand Window下输nnd'(不名括单引号,小写)(因为这个教学GUI是和一本书结合的,这本书叫Neural Network Design,作者Martin THagan,Howard BDemuth,强烈推荐学习这本经典教材,会让你入门并稍有进阶) 我也是学习ANN的哈,加油

如果是系统自带的,你可以直接用,如果是外部的或者是自编的你需要先把文件夹拷贝到tools文件夹下,再设置路径。

Matlab常用工具箱介绍(英汉对照)

Matlab Main Toolbox——matlab主工具箱

Control System Toolbox——控制系统工具箱

Communication Toolbox——通讯工具箱

Financial Toolbox——财政金融工具箱

System Identification Toolbox——系统辨识工具箱

Fuzzy Logic Toolbox——模糊逻辑工具箱

Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱

Image Processing Toolbox——图象处理工具箱

LMI Control Toolbox——线性矩阵不等式工具箱

Model predictive Control Toolbox——模型预测控制工具箱

μ-Analysis and Synthesis Toolbox——μ分析工具箱

Neural Network Toolbox——神经网络工具箱

Optimization Toolbox——优化工具箱

Partial Differential Toolbox——偏微分方程工具箱

Robust Control Toolbox——鲁棒控制工具箱

Signal Processing Toolbox——信号处理工具箱

Spline Toolbox——样条工具箱

Statistics Toolbox——统计工具箱

Symbolic Math Toolbox——符号数学工具箱

Simulink Toolbox——动态仿真工具箱

System Identification Toolbox——系统辨识工具箱

Wavele Toolbox——小波工具箱

例如:控制系统工具箱包含如下功能:

连续系统设计和离散系统设计

状态空间和传递函数以及模型转换

时域响应(脉冲响应、阶跃响应、斜坡响应)

频域响应(Bode图、Nyquist图)

根轨迹、极点配置

较为常见的matlab控制箱有:

控制类:

控制系统工具箱(control systems toolbox)

系统识别工具箱(system identification toolbox)

鲁棒控制工具箱(robust control toolbox)

神经网络工具箱(neural network toolbox)

频域系统识别工具箱(frequency domain system identification toolbox)

模型预测控制工具箱(model predictive control toolbox)

多变量频率设计工具箱(multivariable frequency design toolbox)

信号处理类:

信号处理工具箱(signal processing toolbox)

滤波器设计工具箱(filter design toolbox)

通信工具箱(communication toolbox)

小波分析工具箱(wavelet toolbox)

高阶谱分析工具箱(higher order spectral analysis toolbox)

其它工具箱:

统计工具箱(statistics toolbox)

数学符号工具箱(symbolic math toolbox)

定点工具箱(fixed-point toolbox)

射频工具箱(RF toolbox)

Matlab神经网络工具箱几乎包含了现有神经网络的最新成果,神经网络工具箱模型包括感知器、线性网络、BP网络、径向基函数网络、竞争型神经网络、自组织网络和学习向量量化网络、反馈网络BP神经网络具有很强的映射能力,主要用于模式识别分类、函数逼近、函数压缩等。下面通过实例来说明BP网络在函数逼近方面的应用需要逼近的函数是f(x)=1+sin(kpi/2x),其中,选择k=2进行仿真,设置隐藏层神经元数目为n,n可以改变,便于后面观察隐藏层节点与函数逼近能力的关系。

使用matlab2010b以后的版本会有完整的神经网络工具箱,使用nnstart可以调出toolbox,然后选择需要的功能,导入数据,选择训练参数和每层神经元个数,最后训练会输出网络与结果

举个例子就知道了

clear;

%输入数据矩阵

p1=zeros(1,1000);

p2=zeros(1,1000);

%填充数据

for i=1:1000

p1(i)=rand;

p2(i)=rand;

end

%输入层有两个,样本数为1000

p=[p1;p2];

%目标(输出)数据矩阵,待拟合的关系为简单的三角函数

t = cos(pip1)+sin(pip2);

%对训练集中的输入数据矩阵和目标数据矩阵进行归一化处理

[pn, inputStr] = mapminmax(p);

[tn, outputStr] = mapminmax(t);

%建立BP神经网络

net = newff(pn, tn, [200,10]);

%每10轮回显示一次结果

nettrainParamshow = 10;

%最大训练次数

nettrainParamepochs = 5000;

%网络的学习速率

nettrainParamlr = 005;

%训练网络所要达到的目标误差

nettrainParamgoal = 10^(-8);

%网络误差如果连续6次迭代都没变化,则matlab会默认终止训练。为了让程序继续运行,用以下命令取消这条设置

netdivideFcn = '';

%开始训练网络

net = train(net, pn, tn);

%训练完网络后要求网络的权值w和阈值b

%获取网络权值、阈值

netiw = netiw;

netlw = netlw;

netb = netb;

w1 = netiw{1,1}; %输入层到隐层1的权值

b1 = netb{1} ; %输入层到隐层1的阈值

w2 = netlw{2,1}; %隐层1到隐层2的权值

b2 = netb{2} ; %隐层1到隐层2的阈值

w3 = netlw{3,2}; %隐层2到输出层的权值

b3 = netb{3} ;%隐层2到输出层的阈值

%在默认的训练函数下,拟合公式为,y=w3tansig(w2tansig(w1in+b1)+b2)+b3;

%用公式计算测试数据[x1;x2]的输出,输入要归一化,输出反归一化

in = mapminmax('apply',[x1;x2],inputStr);

y=w3tansig(w2tansig(w1in+b1)+b2)+b3;

y1=mapminmax('reverse',y,outputStr);

%用bp神经网络验证计算结果

out = sim(net,in);

out1=mapminmax('reverse',out,outputStr);

这是一个来自<神经网络之家>nnetinfo的例子,在matlab2012b运行后的确可以,因为的文本宽度不够,注释挤到第二行了,有些乱,楼主注意区分哪些是代码哪些是注释,

x1 =

[-3,-27,-24,-21,-18,-15,-12,-09,-06,-03,0,03,06,09,12,15,18]; %x1:x1 = -3:03:2;

x2 =

[-2,-18,-16,-14,-12,-1,-08,-06,-04,-02,-22204,02,04,06,08,1,12];%x2:x2 = -2:02:12;

y = [06589,02206,-01635,-04712,-06858,-07975,-08040,

-07113,-05326,-02875

,0,03035,05966,08553,10600,11975,12618]; %y:

y = sin(x1)+02x2x2;

inputData = [x1;x2]; %将x1,x2作为输入数据

outputData = y; %将y作为输出数据

%使用用输入输出数据(inputData、outputData)建立网络,

%隐节点个数设为3其中隐层、输出层的传递函数分别为tansig和purelin,使用trainlm方法训练。

net = newff(inputData,outputData,3,{'tansig','purelin'},'trainlm');

%设置一些常用参数

nettrainparamgoal = 00001;

%训练目标:均方误差低于00001

nettrainparamshow = 400; %每训练400次展示一次结果

nettrainparamepochs = 15000;

%最大训练次数:15000

[net,tr] = train(net,inputData,outputData);%调用matlab神经网络工具箱自带的train函数训练网络

simout = sim(net,inputData);

%调用matlab神经网络工具箱自带的sim函数得到网络的预测值

figure; %新建画图窗口窗口

t=1:length(simout);

plot(t,y,t,simout,'r')%画图,对比原来的y和网络预测的y

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12179357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存