当前位置:文档之家› Matlab工具箱中的BP与RBF函数

Matlab工具箱中的BP与RBF函数

Matlab工具箱中的BP与RBF函数
Matlab工具箱中的BP与RBF函数

Matlab工具箱中的BP与RBF函数

Matlab神经网络工具箱中的函数非常丰富,给网络设置合适的属性,可以加快网络的学习速度,缩短网络的学习进程。限于篇幅,仅对本章所用到的函数进行介绍,其它的函数及其用法请读者参考联机文档和帮助。

1 BP与RBF网络创建函数

在Matlab工具箱中有如表1所示的创建网络的函数,作为示例,这里只介绍函数newff、newcf、newrb和newrbe。

表 1 神经网络创建函数

(1) newff函数

功能:创建一个前馈BP神经网络。

调用格式:net = newff(PR,[S1 S2...S Nl],{TF1 TF2...TF Nl},BTF,BLF,PF) 参数说明:

?PR - R个输入的最小、最大值构成的R×2矩阵;

?S i–S NI层网络第i层的神经元个数;

?TF i - 第i层的传递函数,可以是任意可导函数,默认为'tansig',可

设置为logsig,purelin等;

?BTF -反向传播网络训练函数,默认为'trainlm',可设置为trainbfg,trainrp,traingd等;

?BLF -反向传播权值、阈值学习函数,默认为'learngdm';

?PF -功能函数,默认为'mse';

(2) newcf函数

功能:创建一个N层的层叠(cascade)BP网络

调用格式:net = newcf(Pr,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) 参数同函数newff。

(3) newrb函数

功能:创建一个径向基神经网络。径向基网络可以用来对一个函数进行逼近。newrb函数用来创建一个径向基网络,它可以是两参数网络,也可以是四参数网络。在网络的隐层添加神经元,直到网络满足指定的均方误差要求。

调用格式:net = newrb(P,T,GOAL,SPREAD)

参数说明:

?P:Q个输入向量构成的R×Q矩阵;

?T:Q个期望输出向量构成的S×Q矩阵;

?GOAL:均方误差要求,默认为0。

?SPREAD:分散度参数,默认值为1。SPREAD越大,网络逼近的函数越平滑,但SPREAD取值过大将导致在逼近变化比较剧烈的函数时神经元过多,若SPREAD取值过小,则导致在逼近平滑函数时,

导致神经元过多。

(4) newrbe函数

功能:创建一个精密径向基网络。newrbe函数可以很快地根据设计向量创建一个0误差的径向基网络。

调用格式:Net=Newrbe(P,T,SPREAD)

参数说明:参数P,T和SPREAD同newrb函数中的参数P,T和SPREAD含义相同。

2 网络训练函数

(1) Adapt函数

功能:神经网络单步训练函数。

调用格式:[net,Y,E,Pf,Af] = adapt(net,P,T,Pi,Ai)

参数说明:

Adapt函数调用由net.adaptFcn所指定的函数和net.adaptParam所指定的参数来训练网络。在执行命令Adapt之前,可以预先指定训练函数net.adaptFcn和训练参数net.adaptParam。

输入参数:

?net –所要训练的网络;

?P - 网络的输入;

?T - 网络的期望输出,可选项,只在有教师训练时需要,一般不用,默认值为0;

?Pi –初始输入延迟,可选项,只在有输入延迟时需要,一般不用,默认值为0;

?Ai –初始层延迟,可选项,只在有层延迟时需要,默认值为0;

?输出参数:NET –训练后的网络;

?Y - 网络输出;

? E - 网络误差;

?Pf -训练后的输入延迟,一般不用.;

?Af -训练后的层延迟,一般不用。

ADAPT的参数有两种格式:阵列格式和矩阵格式。阵列格式易于描述,最适合于多输入多输出网络。当ADAPT的参数为阵列格式时:P - Ni×TS阵列, 阵列的每个元素P{i,ts}是一个Ri×Q 的矩阵;

T - Nt×TS阵列, 阵列的每个元素P{i,ts}是一个V i×Q的矩阵;

Pi - Ni×ID阵列, 阵列的每个元素{i,k}是一个Ri×Q 的矩阵;

Ai - Nl×LD阵列, 阵列的每个元素{i,k}是一个Si×Q的矩阵;

其中:

Ni = net.numInputs

Nl = net.numLayers

Nt = net.numTargets

ID = net.numInputDelays

LD = net.numLayerDelays

TS = Number of time steps

Q = Batch size

Ri = net.inputs{i}.size

Si = https://www.doczj.com/doc/1913943703.html,yers{i}.size

V i = net.targets{i}.size

矩阵格式最适合于单输入单输出网络,但也可以用于多输入多输出网络。每个矩阵元素通过把相应阵列参数元素存储到一个单一的矩阵来寻找。当ADAPT的参数为矩阵格式时:

P-(sum of Ri)×Q matrix

T-(sum of V i)×Q matrix

Pi-(sum of Ri)×(ID*Q) matrix

Ai-(sum of Si)×LD*Q) matrix

其中Pi, Ai, Pf和Af的列为最初的延迟条件到最近的延迟条件。

Pi{i,k}为时刻ts=k-ID的输入i;

Pf{i,k}为时刻ts=TS+k-ID 的输入i ;

Ai{i,k}为时刻ts=k-LD的层输出i;

Af{i,k}为时刻ts=TS+k-LD的层输出i。

(2) adaptwb函数

功能:网络权值和偏置单步训练函数

调用格式:

[net,Ac,El] = adaptwb(net,Pd,T,Ai,Q,TS)

info = adaptwb(code)

说明:adaptwb函数根据网络的学习函数(net.learnFcn)对网络的权值和偏置进行单步训练。

输入参数:

net 所要训练的神经网络;

?Pd 延迟输入,是一个No×Ni×TS阵列,元素P{i,j,ts}是一个Zij ×Q矩阵;

?Tl 各层的期望输出,Nl×TS阵列,元素P{i,ts}是一个V i×Q矩阵或空矩阵;

?Ai 初始输入条件,Nl×LD阵列,元素Ai{i,k}是一个Si×Q矩阵;

?Q 输入向量的个数

?TS 步长

输出参数:

?net 更新后的网络

?Ac 总的层输出,Nl×(LD+TS)阵列,元素El{i,k}是一个Si×Q 矩阵或空矩阵。

?El 该层的误差

其中参数Ni、Nl、LD、Ri、Si和V i同adapt函数中的参数Ni、Nl、LD、Ri、Si和V i相同。

Zij = Ri*length(net.inputW eights{i,j}.delays)

adaptwb(code)函数根据code返回有用的信息,code可以取为‘pnames’训练参数的名称

‘pdefaults’缺省的训练参数

如果要使一个网络使用adaptwb函数进行网络训练,需要作如下设置:

?设置net.adaptFcn为adaptwb(net.adaptParam将自动设为adaptwb的缺省值);

?设置第i层各偏置的学习函数(net.biases{i}.learnFcn)和各权值的学习函数(net.inputW eights{i,j}.learnFcn 和https://www.doczj.com/doc/1913943703.html,yerW eights{i,j}.learnFcn)为各自的期望学习函数;

(3) train函数

功能:神经网络学习函数。

调用格式:

[net,tr] = train(net,P,T,Pi,Ai)

[net,tr] = train(net,P,T,Pi,Ai,VV,TV)

说明:

train函数根据net.trainFcn和net.trainParam训练网络net。

输入参数:

train函数的输入参数同adapt函数的输入参数相同。

输出参数:

?net –返回网络;

?tr –网络训练步数和性能;

Train函数的信号参数可以有两种格式:阵列或矩阵,输入参数的阵列格式和矩阵格式同adapt函数相同。

Train函数的第二种调用格式[net,tr] =train(NET,P,T,Pi,Ai,VV,TV)与其第一种格式的区别在于:第二种调用格式在训练完网络过程中进行网络测试,确认向量用来尽早终止训练,以免过训练损害网络的普遍性,而第一种调用格式在训练过程中不进行这种测试。如果VV.Pi、VV.Ai设为空矩阵或空阵列,将使用起默认值。其中VV.P,TV.P为给定/测试输入,

VV.T, TV.T为给定/测试输入的期望输出,默认值为0;VV.Pi,TV.Pi为给定/测试初始输入延迟条件,默认值为0;VV.Ai,TV.Ai为给定/测试层延迟条件,默认值为0;

(4) trainwb函数

功能:网络权值/偏置训练函数

调用格式:

[net,tr]=trainwb(net,Pd,Tl,Ai,Q,TS,VV)

info = trainwb(code)

说明:

输入参数:

?Pd 延迟输入,No×Ni×TS阵列,元素P{i,j,ts}是一个Dij×Q矩阵,其中

◆Dij=Ri*length(net.inputW eights{i,j}.delays)

?VV 变量向量结构体或空矩阵

其它参数同adaptwb函数中相应的参数相同。

?输出参数:

?net 训练后的网络

?tr 每一步中各个值的训练记录,它有四个参量,tr.epoch为训练次数,tr.perf为训练性能,tr.vperf为验证性能,tr.tperf为测试性能。同adaptwb函数一样,若要设计一个用trainwb函数进行训练的网络,需要对网络作一些设置,设置的参数与设置方法同adaptwb相同。

3 网络初始化函数

(1) init函数

功能:网络初始化函数。

调用格式:init(net)

说明:根据由net.initFcn说明的网络初始化函数和net.initParam说明的参数值重新初始化网络的权值和阈值。

示例:net = newp([0 1;-2 2],1); %创建一个感知器神经网络;

net.iw{1,1} %显示网络的输入权值,其结果为

ans =

00

P = [0 1 0 1; 0 0 1 1]; %网络的输入矩阵

T = [0 0 0 1]; %网络的输出矩阵

net = train(net,P,T); %对网络进行训练

net.iw{1,1} %显示训练后网络的输入权值,其结果为

ans =

1 1

net = init(net); %重新初始化网络

net.iw{1,1} %显示重新初始化后网络的输入权值,其结果为

ans =

00

(2) initlay函数

功能:网络层初始化函数。

调用格式:

net = initlay(net)

info= initlay(code)

说明:第一种调用格式根据网络各层的初始化函数https://www.doczj.com/doc/1913943703.html,yers{i}.initFcn对网络相应层进行初始化,其中i为初始化层的序号;第二种调用格式根据code指定的代码返回一些有用的信息,其中code可以取

?‘pnames’初始化参数的名称

?‘pdefaults’缺省的初始化参数

(3) initwb函数

功能:神经网络某一层的权值和偏置的初始化函数

调用格式:

net = initwb(net,i)

说明:initwb函数只对网络中的第i层的权值和偏置进行初始化。

(4) initzero函数

功能:将权值/偏置初始化为0的函数。

调用格式:

W=initzero(S,PR)

B=initzero(S,[1 1])

说明:initzero(S,PR)函数将网络的权值矩阵初始化为0矩阵;B=initzero(S,[1 1])将网络的偏置初始化为0,它返回一个0偏置向量。其中S为神经元个数,PR为输入向量的范围。

4 网络学习函数

Matlab工具箱中的学习函数用于网络的设置,以配合adapt函数和train函数对网络进行训练,一般不单独调用。

(1) Learnp函数

功能:感知器权值和偏置值学习函数。

调用格式:[dW,LS] = learnp(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)

[db,LS] = learnp(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)

info= learnp(code)

参数说明:输入参数

W - S×R权值矩阵(或S×1 偏置向量);

P - R×Q 输入向量;

Z - S×Q 加权输入向量;

N - S×Q 网络输入向量;

A - S×Q输出向量;

T - S×Q l层期望向量;

E - S×Q 层误差向量;

gW - S×R 关于性能的梯度;

gA - S×Q 关于性能的输出梯度;.

D - S×S 节点距离;

LP –学习参数,它是一个空矩阵;

LS –学习状态,初始状态应为空;

返回参数:

dW - S×R 权值(或偏置)变化量矩阵;

LS –新的学习状态;

learnp(code)根据code代码返回相应的有用信息,code可以取为

●‘pnames’返回学习参数的名称

●‘pdefaults’返回默认的学习参数

●‘needg’如果该函数使用gW或gA,则返回值为1。

(2) learngd函数

功能:梯度下降权值/偏置学习函数

调用格式:

[dW,LS] = learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)

[db,LS] = learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)

info = learngd(code)

说明:learngd函数的参数同learnp函数的参数相同,只是参数本身附带一个学习步长参数LP.lr,默认值为0.01

其它学习函数的调用格式和参数同learnp相同,只是有的学习函数没有第二种调用格式而已,为节省篇幅起见,这里不再赘述。

5 网络仿真函数

SIM函数

功能:神经网络仿真函数。只有在创建好一个网络后才能进行网络仿真。调用格式:

[T,X,Y] = SIM('model',TIMESPAN,OPTIONS,UT)

[T,X,Y1,...,Yn] = SIM('model',TIMESPAN,OPTIONS,UT)

参数说明:

输出参数:

?T:返回的时间向量;

?X:返回的矩阵状态或结构格式状态;

?Y:返回的输出;

输入参数:

?Y1,...,Yn:只能用于框图模式,这里n为根输出块的个数;

?model:框图模型名称,即仿真的网络名,它必须在进行网络仿真前已经创建好;

?TIMESPAN:时间范围,写成[TStart TFinal]格式或[TStart OutputTimes TFinal]格式,其中TStart为起始时间,Tfinal为终止时间,OutputTimes为时间步长;

?OPTIONS:可选仿真参数,这是由SIMSET创建的一个结构体,一般不用;

UT:可选外部输入,UT = [T, U1, ... U n],或者是一个u=UT(t)的函数表达式,其中T = [t1, ..., t m]';

UP=[-13.84 10.69 28.88 47.05 65.19 83.36...

-13.49 9.32 26.34 43.12 59.99 76.82... -10.80 7.54 24.84 42.05 59.25 76.38...

-9.72 6.56 23.87 41.21 58.58 75.87...

-8.62 4.86 21.84 38.70 56.32 73.75...

-7.72 3.72 21.25 38.60 55.56 73.28]; UT=[27.64 26.95 26.43 25.92 25.45 24.94...

34.41 33.93 33.47 32.93 32.47 31.91...

37.76 36.92 36.44 35.97 35.39 35.09...

54.88 53.97 52.87 52.41 51.93 51.55...

65.77 64.79 63.84 62.91 61.99 61.06...

86.12 84.94 83.78 82.65 81.55 80.45]; P=[0 1.0 2.0 3.0 4.0 5.0...

0 1.0 2.0 3.0 4.0 5.0...

0 1.0 2.0 3.0 4.0 5.0...

0 1.0 2.0 3.0 4.0 5.0...

0 1.0 2.0 3.0 4.0 5.0...

0 1.0 2.0 3.0 4.0 5.0];

T=[21.5 21.5 21.5 21.5 21.5 21.5...

28.0 28.0 28.0 28.0 28.0 28.0...

34.0 34.0 34.0 34.0 34.0 34.0...

44.0 44.0 44.0 44.0 44.0 44.0...

50.0 50.0 50.0 50.0 50.0 50.0...

70.0 70.0 70.0 70.0 70.0 70.0];

Matlab优化工具箱函数简介

Matlab优化工具箱函数简介 一维搜索问题fminbnd 无约束极小值fminunc, fminsearch 约束极小值fmincon 线性规划linprog 二次规划quadprog 1.一维搜索问题 优化工具箱函数fminbnd 对应问题:min f(x) x10表示计算收敛,exitflag=0表示超过了最大的迭代次数,exitflag<0表示计算不收敛,返回值output有3个分量,其中iterations是优化过程中迭代次数,funcCount是代入函数值的次数,algorithm是优化所采用的算法。 例: clear fun='(x^5+x^3+x^2-1)/(exp(x^2)+sin(-x))' ezplot(fun,[-2,2])

matlab中常见函数功用

⊙在matlab中clear,clc,clf,hold作用介绍 clear是清变量, clc只清屏, clf清除图形窗口上的旧图形, hold on是为了显示多幅图像时,防止新的窗口替代旧的窗口。 ①format:设置输出格式 对浮点性变量,缺省为format short. format并不影响matlab如何计算和存储变量的值。对浮点型变量的计算,即单精度或双精度,按合适的浮点精度进行,而不论变量是如何显示的。对整型变量采用整型数据。整型变量总是根据不同的类(class)以合适的数据位显示,例如,3位数字显示显示int8范围-128:127。 format short, long不影响整型变量的显示。 format long 显示15位双精度,7为单精度(scaled fixed point) format short 显示5位(scaled fixed point format with 5 digits) format short eng 至少5位加3位指数 format long eng 16位加至少3位指数 format hex 十六进制 format bank 2个十进制位 format + 正、负或零 format rat 有理数近似 format short 缺省显示 format long g 对双精度,显示15位定点或浮点格式,对单精度,显示7位定点或浮点格式。 format short g 5位定点或浮点格式 format short e 5位浮点格式 format long e 双精度为15位浮点格式,单精度为7为浮点格式 ②plot函数 基本形式 >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 >> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线。 多重线 在同一个画面上可以画许多条曲线,只需多给出几个数组,例如 >> x=0:pi/15:2*pi; >> y=sin(x); >> w=cos(x);

(完整版)BP神经网络matlab实例(简单而经典).doc

p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); % 原始数据归一化 net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx'); %设置网络,建立相应的BP 网络net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM 算法训练BP 网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); anew=postmnmx(anewn,mint,maxt); %对 BP 网络进行仿真%还原数据 y=anew'; 1、 BP 网络构建 (1)生成 BP 网络 net newff ( PR,[ S1 S2...SNl],{ TF1 TF 2...TFNl }, BTF , BLF , PF ) PR :由R 维的输入样本最小最大值构成的R 2 维矩阵。 [ S1 S2...SNl] :各层的神经元个数。 {TF 1 TF 2...TFNl } :各层的神经元传递函数。 BTF :训练用函数的名称。 (2)网络训练 [ net,tr ,Y, E, Pf , Af ] train (net, P, T , Pi , Ai ,VV , TV ) (3)网络仿真 [Y, Pf , Af , E, perf ] sim(net, P, Pi , Ai ,T ) {'tansig','purelin'},'trainrp' BP 网络的训练函数 训练方法 梯度下降法 有动量的梯度下降法 自适应 lr 梯度下降法 自适应 lr 动量梯度下降法弹性梯度下降法训练函数traingd traingdm traingda traingdx trainrp Fletcher-Reeves 共轭梯度法traincgf Ploak-Ribiere 共轭梯度法traincgp

matlab拟合工具箱的使用

matlab拟合工具箱使用 2011-06-17 12:53 1.打开CFTOOL工具箱。在Matlab 6.5以上的环境下,在左下方有一个"Start"按钮,如同Windows的开始菜单,点开它,在目录"Toolboxes"下有一个"Curve Fitting",点开"Curve Fitting Tool",出现数据拟合工具界面,基本上所有的数据拟合和回归分析都可以在这里进行。也可以在命令窗口中直接输入”cftool”,打开工具箱。 2.输入两组向量x,y。 首先在Matlab的命令行输入两个向量,一个向量是你要的x坐标的各个数据,另外一个是你要的y坐标的各个数据。输入以后假定叫x向量和y向量,可以在workspace里面看见这两个向量,要确保这两个向量的元素数一致,如果不一致的话是不能在工具箱里面进行拟合的。 例如在命令行里输入下列数据: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; y=[0.012605,0.013115,0.016866,0.014741,0.022353,0.019278,0.041803,0.0 38026,0.038128,0.088196]; 3.数据的选取。打开曲线拟合共工具界面,点击最左边的"Data..."按钮,出现一个Data对话框,在Data Sets页面里,在X Data选项中选取x向量,Y Data 选项中选取y向量,如果两个向量的元素数相同,那么Create data set按钮就激活了,此时点击它,生成一个数据组,显示在下方Data Sets列表框中。关闭Data对话框。此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。

(完整版)matlab函数大全(非常实用)

信源函数 randerr 产生比特误差样本 randint 产生均匀分布的随机整数矩阵 randsrc 根据给定的数字表产生随机矩阵 wgn 产生高斯白噪声 信号分析函数 biterr 计算比特误差数和比特误差率 eyediagram 绘制眼图 scatterplot 绘制分布图 symerr 计算符号误差数和符号误差率 信源编码 compand mu律/A律压缩/扩张 dpcmdeco DPCM(差分脉冲编码调制)解码dpcmenco DPCM编码 dpcmopt 优化DPCM参数 lloyds Lloyd法则优化量化器参数 quantiz 给出量化后的级和输出值 误差控制编码 bchpoly 给出二进制BCH码的性能参数和产生多项式convenc 产生卷积码 cyclgen 产生循环码的奇偶校验阵和生成矩阵cyclpoly 产生循环码的生成多项式 decode 分组码解码器 encode 分组码编码器 gen2par 将奇偶校验阵和生成矩阵互相转换gfweight 计算线性分组码的最小距离 hammgen 产生汉明码的奇偶校验阵和生成矩阵rsdecof 对Reed-Solomon编码的ASCII文件解码rsencof 用Reed-Solomon码对ASCII文件编码rspoly 给出Reed-Solomon码的生成多项式syndtable 产生伴随解码表 vitdec 用Viterbi法则解卷积码 (误差控制编码的低级函数) bchdeco BCH解码器 bchenco BCH编码器 rsdeco Reed-Solomon解码器 rsdecode 用指数形式进行Reed-Solomon解码 rsenco Reed-Solomon编码器 rsencode 用指数形式进行Reed-Solomon编码 调制与解调

Matlab工具箱中地BP与RBF函数

Matlab工具箱中的BP与RBF函数 Matlab神经网络工具箱中的函数非常丰富,给网络设置合适的属性,可以加快网络的学习速度,缩短网络的学习进程。限于篇幅,仅对本章所用到的函数进行介绍,其它的函数及其用法请读者参考联机文档和帮助。 1 BP与RBF网络创建函数 在Matlab工具箱中有如表1所示的创建网络的函数,作为示例,这里只介绍函数newff、newcf、newrb和newrbe。 表 1 神经网络创建函数 (1) newff函数 功能:创建一个前馈BP神经网络。 调用格式:net = newff(PR,[S1 S2...S Nl],{TF1 TF2...TF Nl},BTF,BLF,PF) 参数说明: ?PR - R个输入的最小、最大值构成的R×2矩阵; ?S i–S NI层网络第i层的神经元个数; ?TF i - 第i层的传递函数,可以是任意可导函数,默认为'tansig',

可设置为logsig,purelin等; ?BTF -反向传播网络训练函数,默认为'trainlm',可设置为trainbfg,trainrp,traingd等; ?BLF -反向传播权值、阈值学习函数,默认为'learngdm'; ?PF -功能函数,默认为'mse'; (2) newcf函数 功能:创建一个N层的层叠(cascade)BP网络 调用格式:net = newcf(Pr,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) 参数同函数newff。 (3) newrb函数 功能:创建一个径向基神经网络。径向基网络可以用来对一个函数进行逼近。newrb函数用来创建一个径向基网络,它可以是两参数网络,也可以是四参数网络。在网络的隐层添加神经元,直到网络满足指定的均方误差要求。 调用格式:net = newrb(P,T,GOAL,SPREAD) 参数说明: ?P:Q个输入向量构成的R×Q矩阵; ?T:Q个期望输出向量构成的S×Q矩阵; ?GOAL:均方误差要求,默认为0。 ?SPREAD:分散度参数,默认值为1。SPREAD越大,网络逼近的函数越平滑,但SPREAD取值过大将导致在逼近变化比较剧烈的函

matlab函数用法

A a abs 绝对值、模、字符的ASCII码值 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具 all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名 any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令 B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令 brighten 亮度控制 C c

capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图 colspace 列空间的基 close 关闭指定窗口 colperm 列排序置换向量 comet 彗星状轨迹图 comet3 三维彗星轨迹图 compass 射线图 compose 求复合函数 cond (逆)条件数 condeig 计算特征值、特征向量同时给出条件数condest 范-1条件数估计 conj 复数共轭 contour 等位线 contourf 填色等位线 contour3 三维等位线

BP神经网络地设计实例(MATLAB编程)

神经网络的设计实例(MATLAB编程) 例1 采用动量梯度下降算法训练BP 网络。训练样本定义如下: 输入矢量为 p =[-1 -2 3 1 -1 1 5 -3] 目标矢量为t = [-1 -1 1 1] 解:本例的MATLAB 程序如下: close all clear echo on clc % NEWFF——生成一个新的前向神经网络% TRAIN——对BP 神经网络进行训练 % SIM——对BP 神经网络进行仿真pause % 敲任意键开始 clc % 定义训练样本 P=[-1, -2, 3, 1; -1, 1, 5, -3]; % P 为输入矢量T=[-1, -1, 1, 1]; % T 为目标矢量

clc % 创建一个新的前向神经网络 net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights=net.IW{1,1} inputbias=net.b{1} % 当前网络层权值和阈值 layerWeights=net.LW{2,1} layerbias=net.b{2} pause clc % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 1000; net.trainParam.goal = 1e-3; pause clc % 调用TRAINGDM 算法训练BP 网络 [net,tr]=train(net,P,T);

matlab遗传算法工具箱函数及实例讲解

matlab遗传算法工具箱函数及实例讲解 最近研究了一下遗传算法,因为要用遗传算法来求解多元非线性模型。还好用遗传算法的工箱予以实现了,期间也遇到了许多问题。借此与大家分享一下。 首先,我们要熟悉遗传算法的基本原理与运算流程。 基本原理:遗传算法是一种典型的启发式算法,属于非数值算法范畴。它是模拟达尔文的自然选择学说和自然界的生物进化过程的一种计算模型。它是采用简单的编码技术来表示各种复杂的结构,并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。遗传算法的操作对象是一群二进制串(称为染色体、个体),即种群,每一个染色体都对应问题的一个解。从初始种群出发,采用基于适应度函数的选择策略在当前种群中选择个体,使用杂交和变异来产生下一代种群。如此模仿生命的进化进行不断演化,直到满足期望的终止条件。 运算流程: Step 1:对遗传算法的运行参数进行赋值。参数包括种群规模、变量个数、交叉概率、变异概率以及遗传运算的终止进化代数。 Step 2:建立区域描述器。根据轨道交通与常规公交运营协调模型的求解变量的约束条件,设置变量的取值范围。 Step 3:在Step 2的变量取值范围内,随机产生初始群体,代入适应度函数计算其适应度值。 Step 4:执行比例选择算子进行选择操作。 Step 5:按交叉概率对交叉算子执行交叉操作。 Step 6:按变异概率执行离散变异操作。 Step 7:计算Step 6得到局部最优解中每个个体的适应值,并执行最优个体保存策略。 Step 8:判断是否满足遗传运算的终止进化代数,不满足则返回Step 4,满足则输出运算结果。 其次,运用遗传算法工具箱。 运用基于Matlab的遗传算法工具箱非常方便,遗传算法工具箱里包括了我们需要的各种函数库。目前,基于Matlab的遗传算法工具箱也很多,比较流行的有英国设菲尔德大学开发的遗传算法工具箱GATBX、GAOT以及Math Works公司推出的GADS。实际上,GADS 就是大家所看到的Matlab中自带的工具箱。我在网上看到有问为什么遗传算法函数不能调用的问题,其实,主要就是因为用的工具箱不同。因为,有些人用的是GATBX带有的函数,但MATLAB自带的遗传算法工具箱是GADS,GADS当然没有GATBX里的函数,因此运行程序时会报错,当你用MATLAB来编写遗传算法代码时,要根据你所安装的工具箱来编写代码。

matlab各种函数的用法

1 Text函数的用法: 用法 text(x,y,'string')在图形中指定的位置(x,y)上显示字符串string text(x,y,z,'string') 在三维图形空间中的指定位置(x,y,z)上显示字符串string 2, plot([0,z1,z12],'-b','LineWidth',3)[ ]里面表示数组. 3, x,y均为矩阵,plot命令就是画出x,y矩阵对应的二维平面的点形成的曲线。y(:,1)中逗号前是行,逗号后是列,冒号表示从几到几。所以y(:,1)表示第一列的所有元素。如果是y(3:5,1)则表示第一列的第3到第5行对应的元素。只要你的y矩阵有100列,那你当然可以将1改成100。同理,x矩阵也可以这样。 4 sym的意思是symbol,就是后面括号里面是个代数式,要进行符号运算,class()判断对象是什么类型。 5 matlab控制运算精度用的是digits和vpa这两个函数 xs = vpa(x,n) 在n位相对精度下,给出x的数值型符号结果xs xs = vpa(x) 在digits指定的精度下,给出x的数值型符号结果xs

digits用于规定运算精度,比如: digits(20); 这个语句就规定了运算精度是20位有效数字。但并不是规定了就可以使用,因为实际编程中,我们可能有些运算需要控制精度,而有些不需要控制。vpa就用于解决这个问题,凡是用需要控制精度的,我们都对运算表达式使用vpa函数。例如: digits(5); a=vpa(sqrt(2)); 这样a的值就是1.4142,而不是准确的1.4880 又如: digits(5); a=vpa(sqrt(2)); b=sqrt(2); 这样a的值是1.4142,b没有用vpa函数,所以b是1.4880...... 6

Matlab训练好的BP神经网络如何保存和读取方法(附实例说明)

Matlab训练好的BP神经网络如何保存和读取方法(附实例说明) 看到论坛里很多朋友都在提问如何存储和调用已经训练好的神经网络。 本人前几天也遇到了这样的问题,在论坛中看了大家的回复,虽然都提到了关键的两个函数“save”和“load”,但或多或少都简洁了些,让人摸不着头脑(呵呵,当然也可能是本人太菜)。通过不断调试,大致弄明白这两个函数对神经网络的存储。下面附上实例给大家做个说明,希望对跟我有一样问题的朋友有所帮助。 如果只是需要在工作目录下保到当前训练好的网络,可以在命令窗口 输入:save net %net为已训练好的网络 然后在命令窗口 输入:load net %net为已保存的网络 加载net。 但一般我们都会在加载完后对网络进行进一步的操作,建议都放在M文件中进行保存网络和调用网络的操作 如下所示: %% 以函数的形式训练神经网络 functionshenjingwangluo() P=[-1,-2,3,1; -1,1,5,-3]; %P为输入矢量 T=[-1,-1,1,1,]; %T为目标矢量 net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm') %创建一个新的前向神经网络 inputWeights=net.IW{1,1} inputbias=net.b{1} %当前输入层权值和阀值 layerWeights=net.LW{2,1} layerbias=net.b{2} net.trainParam.show=50; net.trainParam.lr=0.05; net.trainParam.mc=0.9;

matlab基本函数的用法

一. Matlab中常见函数基本用法 1.sum (1 )sum(A)A为矩阵得出A矩阵每列的和组成的一个矢量; A为矢量得出A的各元 素之和 (2)sum(diag(A))得矩阵A的对角元素之和 (3)sum(A,dim) A为矩阵,sum(A,1)按列求和;sum(A,2)按行求和 2.max(min) (1)max(A) 若A为矩阵则得出A矩阵每列的最大元素组成的一个矢量 若A为矢量则得出A中最大的元 (2)max(A,B) A与B为同维矩阵得出取A 与B中相同位置元素中较大者组成的新矩阵 (3)max(A,[],dim) max(a,[ ],1),求每列的最大值;max(a,[ ],2)求每行的最大值 3.find (1)find(X)若X为行向量则得出X中所有非零元素所在的位置(按行)若X为列向量或矩阵则得出X中所有非零元素的位置(按列)(2)ind = find(X, k)/ind = find(X,k,'first') 返回前k个非零元的指标ind = find(X,k,'last') 返回后k个非零元的指标 (3)[row,col] = find(X) row代表行指标,col代表列指标 [row,col,val] = find(X) val表示查找到对应位置非零元的值 [row,col] = find(A>100 & A<1000) 找出满足一定要求的元素 4.reshape (1)B = reshape(A,m,n) 把A变成m*n的矩阵 5.sort (1)B = sort(A) 把A的元素按每列从小到大的顺序排列组成新矩阵

(2)B = sort(A,dim) dim=1同(1); dim=2 把A按每行从小到大的顺序排列组成新矩阵 6.cat (1)C = cat(dim, A, B) dim=1相当于[A;B];dim=2相当于[A,B] (2)C = cat(dim, A1, A2, A3, A4, ...) 类推(1) 7.meshgrid (1)[X,Y] = meshgrid(x,y) 将向量x和y定义的区域转换成矩阵X和Y,矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制。(2)[X,Y] = meshgrid(x) (1)y=x中情形 8.diag (1)X = diag(v,k) 向量v作为X的第k对角线上的元素X的其他元素为零(2)X = diag(v) (1)中k=0的情况 (2)v = diag(X,k) v为矩阵X的第k对角线的元素组成的列向量 (4)v = diag(X) (3)中k等于零的情况

MATLAB模型预测控制工具箱函数..

MATLAB模型预测控制工具箱函数 8.2 系统模型建立与转换函数 前面读者论坛了利用系统输入/输出数据进行系统模型辨识的有关函数及使用方法,为时行模型预测控制器的设计,需要对系统模型进行进一步的处理和转换。MATLAB的模型预测控制工具箱中提供了一系列函数完成多种模型转换和复杂系统模型的建立功能。 在模型预测控制工具箱中使用了两种专用的系统模型格式,即MPC状态空间模型和MPC传递函数模型。这两种模型格式分别是状态空间模型和传递函数模型在模型预测控制工具箱中的特殊表达形式。这种模型格式化可以同时支持连续和离散系统模型的表达,在MPC传递函数模型中还增加了对纯时延的支持。表8-2列出了模型预测控制工具箱的模型建立与转换函数。 表8-2 模型建立与转换函数 8.2.1 模型转换 在MATLAB模型预测工具箱中支持多种系统模型格式。这些模型格式包括: ①通用状态空间模型; ②通用传递函数模型; ③MPC阶跃响应模型; ④MPC状态空间模型;

⑤ MPC 传递函数模型。 在上述5种模型格式中,前两种模型格式是MATLAB 通用的模型格式,在其他控制类工具箱中,如控制系统工具箱、鲁棒控制工具等都予以支持;而后三种模型格式化则是模型预测控制工具箱特有的。其中,MPC 状态空间模型和MPC 传递函数模型是通用的状态空间模型和传递函数模型在模型预测控制工具箱中采用的增广格式。模型预测控制工具箱提供了若干函数,用于完成上述模型格式间的转换功能。下面对这些函数的用法加以介绍。 1.通用状态空间模型与MPC 状态空间模型之间的转换 MPC 状态空间模型在通用状态空间模型的基础上增加了对系统输入/输出扰动和采样周期的描述信息,函数ss2mod ()和mod2ss ()用于实现这两种模型格式之间的转换。 1)通用状态空间模型转换为MPC 状态空间模型函数ss2mod () 该函数的调用格式为 pmod= ss2mod (A,B,C,D) pmod = ss2mod (A,B,C,D,minfo) pmod = ss2mod (A,B,C,D,minfo,x0,u0,y0,f0) 式中,A, B, C, D 为通用状态空间矩阵; minfo 为构成MPC 状态空间模型的其他描述信息,为7个元素的向量,各元素分别定义为: ◆ minfo(1)=dt ,系统采样周期,默认值为1; ◆ minfo(2)=n ,系统阶次,默认值为系统矩阵A 的阶次; ◆ minfo(3)=nu ,受控输入的个数,默认值为系统输入的维数; ◆ minfo(4)=nd ,测量扰的数目,默认值为0; ◆ minfo(5)=nw ,未测量扰动的数目,默认值为0; ◆ minfo(6)=nym ,测量输出的数目,默认值系统输出的维数; ◆ minfo(7)=nyu ,未测量输出的数目,默认值为0; 注:如果在输入参数中没有指定m i n f o ,则取默认值。 x0, u0, y0, f0为线性化条件,默认值均为0; pmod 为系统的MPC 状态空间模型格式。 例8-5 将如下以传递函数表示的系统模型转换为MPC 状态空间模型。 1 2213)(232+++++=s s s s s s G 解:MATLAB 命令如下:

Matlab中常见数学函数的使用

给自己看的----Matlab 的内部常数(转) 2008/06/19 14:01 [Ctrl C/V--学校 ] MATLAB 基本知识 Matlab 的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf 或 inf 无穷大 Matlab 的常用内部数学函数

我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’) 即:maple(‘convert(表达式,form)’)将表达式转换成form的表示方式 maple(‘convert(表达式,form, x)’)指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 如何用Matlab进行变量替换 syms 表达式和代换式中包含的所有变量subs(表达式,要替换的变量或式子,代换式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或a+bj real(z)求复数z的实部 imag(z)求复数z的虚部 abs(z)求复数z的模 angle(z)求复数z的辐角, conj(z)求复数z的共轭复数 exp(z)复数的指数函数,表示e^z 如何在matlab中表示集合 [a, b, c,…] 表示由a, b, c,…组成的集合(注意:元素之间也可用空格隔开) unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 也可调用maple的命令,格式如下: maple('{a, b, c,…}')表示由a, b, c,…组成的集合 下列命令可以生成特殊的集合: maple(‘{seq(f(i),i=n..m)}’)生成集合{f(n), f(n+1), f(n+2), … , f(m)} 如何用Matlab求集合的交集、并集、差集和补集

BP神经网络matlab实例

神经网络Matlab p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx');%设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = net newff PR S S SNl TF TF TFNl BTF BLF PF (,[1 2...],{ 1 2...},,,) R?维矩阵。 PR:由R维的输入样本最小最大值构成的2

S S SNl:各层的神经元个数。 [1 2...] TF TF TFNl:各层的神经元传递函数。 { 1 2...} BTF:训练用函数的名称。 (2)网络训练 = [,,,,,] (,,,,,,) net tr Y E Pf Af train net P T Pi Ai VV TV (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp' BP网络的训练函数 训练方法训练函数 梯度下降法traingd 有动量的梯度下降法traingdm 自适应lr梯度下降法traingda 自适应lr动量梯度下降法traingdx 弹性梯度下降法trainrp Fletcher-Reeves共轭梯度法traincgf Ploak-Ribiere共轭梯度法traincgp Powell-Beale共轭梯度法traincgb 量化共轭梯度法trainscg 拟牛顿算法trainbfg 一步正割算法trainoss Levenberg-Marquardt trainlm

matlab BP神经网络

基于MATLAB的BP神经网络工具箱函数 最新版本的神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器和BP网络等。对于各种不同的网络模型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便[16]。Matlab R2007神经网络工具箱中包含了许多用于BP网络分析与设计的函数,BP网络的常用函数如表3.1所示。 3.1.1BP网络创建函数 1) newff 该函数用于创建一个BP网络。调用格式为: net=newff net=newff(PR,[S1S2..SN1],{TF1TF2..TFN1},BTF,BLF,PF) 其中, net=newff;用于在对话框中创建一个BP网络。 net为创建的新BP神经网络; PR为网络输入向量取值范围的矩阵; [S1S2…SNl]表示网络隐含层和输出层神经元的个数; {TFlTF2…TFN1}表示网络隐含层和输出层的传输函数,默认为‘tansig’; BTF表示网络的训练函数,默认为‘trainlm’; BLF表示网络的权值学习函数,默认为‘learngdm’; PF表示性能数,默认为‘mse’。

2)newcf函数用于创建级联前向BP网络,newfftd函数用于创建一个存在输入延迟的前向网络。 3.1.2神经元上的传递函数 传递函数是BP网络的重要组成部分。传递函数又称为激活函数,必须是连续可微的。BP网络经常采用S型的对数或正切函数和线性函数。 1) logsig 该传递函数为S型的对数函数。调用格式为: A=logsig(N) info=logsig(code) 其中, N:Q个S维的输入列向量; A:函数返回值,位于区间(0,1)中; 2)tansig 该函数为双曲正切S型传递函数。调用格式为: A=tansig(N) info=tansig(code) 其中, N:Q个S维的输入列向量; A:函数返回值,位于区间(-1,1)之间。 3)purelin 该函数为线性传递函数。调用格式为: A=purelin(N) info=purelin(code) 其中, N:Q个S维的输入列向量; A:函数返回值,A=N。 3.1.3BP网络学习函数 1)learngd 该函数为梯度下降权值/阈值学习函数,它通过神经元的输入和误差,以及权值和阈值的学习效率,来计算权值或阈值的变化率。调用格式为: [dW,ls]=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) [db,ls]=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)

MATLAB工具箱函数

表Ⅰ-11 线性模型函数 函数描述 anova1 单因子方差分析 anova2 双因子方差分析 anovan 多因子方差分析 aoctool 协方差分析交互工具 dummyvar 拟变量编码 friedman Friedman检验 glmfit 一般线性模型拟合 kruskalwallis Kruskalwallis检验 leverage 中心化杠杆值 lscov 已知协方差矩阵的最小二乘估计manova1 单因素多元方差分析manovacluster 多元聚类并用冰柱图表示multcompare 多元比较 多项式评价及误差区间估计 polyfit 最小二乘多项式拟合 polyval 多项式函数的预测值 polyconf 残差个案次序图 regress 多元线性回归 regstats 回归统计量诊断 续表 函数描述 Ridge 岭回归 rstool 多维响应面可视化 robustfit 稳健回归模型拟合 stepwise 逐步回归 x2fx 用于设计矩阵的因子设置矩阵 表Ⅰ-12 非线性回归函数 函数描述 nlinfit 非线性最小二乘数据拟合(牛顿法)nlintool 非线性模型拟合的交互式图形工具nlparci 参数的置信区间 nlpredci 预测值的置信区间 nnls 非负最小二乘 表Ⅰ-13 试验设计函数 函数描述 cordexch D-优化设计(列交换算法)daugment 递增D-优化设计 dcovary 固定协方差的D-优化设计ff2n 二水平完全析因设计 fracfact 二水平部分析因设计 fullfact 混合水平的完全析因设计hadamard Hadamard矩阵(正交数组)rowexch D-优化设计(行交换算法) 表Ⅰ-14 主成分分析函数 函数描述 barttest Barttest检验 pcacov 源于协方差矩阵的主成分pcares 源于主成分的方差 princomp 根据原始数据进行主成分分析 表Ⅰ-15 多元统计函数 函数描述 classify 聚类分析 mahal 马氏距离 manova1 单因素多元方差分析manovacluster 多元聚类分析 表Ⅰ-16 假设检验函数 函数描述 ranksum 秩和检验 signrank 符号秩检验 signtest 符号检验 ttest 单样本t检验 ttest2 双样本t检验 ztest z检验 表Ⅰ-17 分布检验函数 函数描述 jbtest 正态性的Jarque-Bera检验kstest 单样本Kolmogorov-Smirnov检验kstest2 双样本Kolmogorov-Smirnov检验lillietest 正态性的Lilliefors检验 表Ⅰ-18 非参数函数 函数描述 friedman Friedman检验 kruskalwallis Kruskalwallis检验ranksum 秩和检验 signrank 符号秩检验 signtest 符号检验

bp神经网络及matlab实现

bp神经网络及matlab实现 分类:算法学习2012-06-20 20:56 66399人阅读评论(28) 收藏举报网络matlab算法functionnetworkinput 本文主要内容包括:(1) 介绍神经网络基本原理,(2) https://www.doczj.com/doc/1913943703.html,实现前向神经网络的方法,(3) Matlab实现前向神经网络的方法。 第0节、引例 本文以Fisher的Iris数据集作为神经网络程序的测试数据集。Iris数据集可以在https://www.doczj.com/doc/1913943703.html,/wiki/Iris_flower_data_set 找到。这里简要介绍一下Iris数据集: 有一批Iris花,已知这批Iris花可分为3个品种,现需要对其进行分类。不同品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度会有差异。我们现有一批已知品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度的数据。 一种解决方法是用已有的数据训练一个神经网络用作分类器。 如果你只想用C#或Matlab快速实现神经网络来解决你手头上的问题,或者已经了解神经网络基本原理,请直接跳到第二节——神经网络实现。 第一节、神经网络基本原理 1. 人工神经元( Artificial Neuron )模型 人工神经元是神经网络的基本元素,其原理可以用下图表示:

图1. 人工神经元模型 图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值( threshold ),或称为偏置( bias )。则神经元i的输出与输入的关系表示为: 图中yi表示神经元i的输出,函数f称为激活函数 ( Activation Function )或转移函数( Transfer Function ) ,net称为净激活(net activation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为: 若用X表示输入向量,用W表示权重向量,即: X = [ x0 , x1 , x2 , ....... , xn ]

Matlab神经网络工具箱函数.

MATLAB 神经网络工具箱函数 说明:本文档中所列出的函数适用于 MATLAB5.3以上版本, 为了简明起见, 只列出了函数名, 若需要进一步的说明,请参阅 MATLAB 的帮助文档。 1. 网络创建函数 newp 创建感知器网络 newlind 设计一线性层 newlin 创建一线性层 newff 创建一前馈 BP 网络 newcf 创建一多层前馈 BP 网络 newfftd 创建一前馈输入延迟 BP 网络 newrb 设计一径向基网络 newrbe 设计一严格的径向基网络 newgrnn 设计一广义回归神经网络 newpnn 设计一概率神经网络 newc 创建一竞争层 newsom 创建一自组织特征映射 newhop 创建一 Hopfield 递归网络 newelm 创建一 Elman 递归网络 2. 网络应用函数

sim 仿真一个神经网络 init 初始化一个神经网络 adapt 神经网络的自适应化 train 训练一个神经网络 3. 权函数 dotprod 权函数的点积 ddotprod 权函数点积的导数 dist Euclidean 距离权函数normprod 规范点积权函数negdist Negative 距离权函数mandist Manhattan 距离权函数linkdist Link 距离权函数 4. 网络输入函数 netsum 网络输入函数的求和dnetsum 网络输入函数求和的导数5. 传递函数 hardlim 硬限幅传递函数hardlims 对称硬限幅传递函数purelin 线性传递函数

tansig 正切 S 型传递函数 logsig 对数 S 型传递函数 dpurelin 线性传递函数的导数 dtansig 正切 S 型传递函数的导数dlogsig 对数 S 型传递函数的导数compet 竞争传递函数 radbas 径向基传递函数 satlins 对称饱和线性传递函数 6. 初始化函数 initlay 层与层之间的网络初始化函数initwb 阈值与权值的初始化函数initzero 零权/阈值的初始化函数 initnw Nguyen_Widrow层的初始化函数initcon Conscience 阈值的初始化函数midpoint 中点权值初始化函数 7. 性能分析函数 mae 均值绝对误差性能分析函数 mse 均方差性能分析函数 msereg 均方差 w/reg性能分析函数

相关主题
文本预览
相关文档 最新文档