当前位置:文档之家› matlab辅助神经网络设计[1]

matlab辅助神经网络设计[1]

matlab辅助神经网络设计[1]
matlab辅助神经网络设计[1]

目录第一节神经网络基本理论

一、人工神经网络概论

二、生物神经元模型

三、Matlab的神经网络工具包

第二节感知器

一、感知器神经元模型

二、感知器的网络结构

三、感知器神经网络的学习规则

四、感知器神经网络的训练

五、重要的感知器神经网络函数的使用方法

六、感知器神经网络应用举例

第三节线性神经网络

一、线性神经元模型

二、线性神经网络结构

三、线性神经学习网络的学习规则

四、线性神经网络训练

五、重要线性神经网络函数的使用方法

六、线性神经网络的应用举例

第四节 BP网络

一、BP网络的网络结构

二、BP网络学习规则

三、BP网络的训练

四、重要BP神经网络函数的使用方法

五、BP网络的应用举例

第五节径向基函数网络

一、径向基函数神经网络结构

二、径向基函数的学习算法

三、重要径向基函数的函数使用方法第六节反馈网络

一、Hopfield网络的结构与算法

二、Hopfield网络运行规则

三、重要的反馈网络函数

四、重要的自组织网络函数

五、反馈网络应用举例

第七节自组织网络

一、自组织特征映射的网络结构

二、自组织特征映射网络的学习

三、自组织特征映射网络的训练

四、重要的自组织网络函数

五、自组织网络应用举例

第一节神经网络基本理论

一、人工神经网络概论

近代神经生理学和神经解剖学的研究结果表明,人脑是由约一千多亿个神经元(大脑皮层约140多亿,小脑皮层约1000多亿)交织在一起的、极其复杂的网状结构,能完成智能、思维、情绪等高级精神活动,无论是脑科学还是智能科学的发展都促使人们对人脑(神经网络)的模拟展开了大量的工作,从而产生了人工神经网络这个全新的研究领域。

人工神经网络(ANNS)常常简称为神经网络(NNS),是以计算机网络系统模拟生物神经网络的智能计算系统,是对人脑或自然神经网络的若干基本特性的抽象和模拟。网络上的每个结点相当于一个神经元,可以记忆(存储)、处理一定的信息,并与其它结点并行工作。

神经网络的研究最早要追述到40年代心理学家Mcculloch和数学家Pitts合作提出的兴奋与抑制型神经元模型和Hebb提出的神经元连接强度的修改规则,其成果至今仍是许多神经网络模型研究的基础。50~60年代的代表性工作主要有Rosenblatt的感知器模型、Widrow的自适应网络元件Adaline。然而在1969年Minsky和Papert合作发表的Perceptron一书中阐述了一种消极悲观的论点,在当时产生了极大的消极影响,加之数字计算机正处于全盛时期并在人工智能领域取得显著成就,这导致了70年代人工神经网络的研究处于空前的低潮阶段。80年代以后,传统的V on Neumann数字计算机在模拟视听觉的人工智能方面遇到了物理上不可逾越的障碍。与此同时Rumelhart、Mcclelland和Hopfield等人在神经网络领域取得了突破性进展,神经网络的热潮再次掀起。目前较为流行的研究工作主要有:前馈网络模型、反馈网络模型、自组织网络模型等方面的理论。人工神经网络是在现代神经科学的基础上提出来的。它虽然反映了人脑功能的基本特征,但远不是自然神经网络的逼真描写,而只是它的某种简化抽象和模拟。

求解一个问题是向人工神网络的某些结点输入信息,各结点处理后向其它结点输出,其它结点接受并处理后再输出,直到整个神经网工作完毕,输出最后结果。如同生物的神经网络,并非所有神经元每次都一样地工作。如

视、听、摸、想不同的事件(输入不同),各神经元参与工作的程度不同。当有声音时,处理声音的听觉神经元就要全力工作,视觉、触觉神经元基本不工作,主管思维的神经元部分参与工作;阅读时,听觉神经元基本不工作。在人工神经网络中以加权值控制结点参与工作的程度。正权值相当于神经元突触受到刺激而兴奋,负权值相当于受到抑制而使神经元麻痹直到完全不工作。

如果通过一个样板问题“教会”人工神经网络处理这个问题,即通过“学习”而使各结点的加权值得到肯定,那么,这一类的问题它都可以解。好的学习算法会使它不断积累知识,根据不同的问题自动调整一组加权值,使它具有良好的自适应性。此外,它本来就是一部分结点参与工作。当某结点出故障时,它就让功能相近的其它结点顶替有故障结点参与工作,使系统不致中断。所以,它有很强的容错能力。

人工神经网络通过样板的“学习和培训”,可记忆客观事物在空间、时间方面比较复杂的关系,适合于解决各类预测、分类、评估匹配、识别等问题。例如,将人工神经网络上的各个结点模拟各地气象站,根据某一时刻的采样参数(压强、湿度、风速、温度),同时计算后将结果输出到下一个气象站,则可模拟出未来气候参数的变化,作出准确预报。即使有突变参数(如风暴,寒流)也能正确计算。所以,人工神经网络在经济分析、市场预测、金融趋势、化工最优过程、航空航天器的飞行控制、医学、环境保护等领域都有应用的前景。

人工神经网络的特点和优越性使它近年来引起人们的极大关注,主要表现在三个方面:

第一,具有自学习功能。例如实现图像识别时,只需把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像。自学习功能对于预测有特别重要的意义。人工神经网络计算机将为人类提供经济预测、市场预测、效益预测,其前途是很远大的。

第二,具有联想存储功能。人的大脑是具有联想功能的。如果有人和你提起你幼年的同学张某某,你就会联想起张某某的许多事情。用人工神经网

络的反馈网络就可以实现这种联想。

第三,具有高速寻找最优解的能力。寻找一个复杂问题的最优解,往往需要很大的计算量,利用一个针对某问题而设计的人工神经网络,发挥计算机的高速运算能力,可能很快找到最优解。

人工神经网络是未来微电子技术应用的新领域,智能计算机的构成就是作为主机的冯·诺依曼计算机与作为智能外围机的人工神经网络的结合。二、生物神经元模型

神经元是脑组织的基本单元,其结构如图1所示,神经元由三部分构成:细胞体,树突和轴突;每一部分虽具有各自的功能,但相互之间是互补的。

树突是细胞的输入端,通过细胞体间联结的节点“突触”接受四周细胞传出的神经冲动;轴突相当于细胞的输出端,其端部的众多神经未梢为信号的输出端子,用于传出神经冲动。

神经元具有兴奋和抑制的两种工作状态。当传入的神经冲动,使细胞膜电位升高到阀值(约为40mV)时,细胞进入兴奋状态,产生神经冲动,由轴突输出。相反,若传入的神经冲动,使细胞膜电位下降到低于阀值时,细胞进入抑制状态,没有神经冲动输出。

图1 生物神经元结构

二、人工神经元模型

人工神经元模型是以大脑神经细胞的活动规律为原理的,反映了大脑神

经细胞的某些基本特征,但不是也不可能是人脑细胞的真实再现,从数学的角度而言,它是对人脑细胞的高度抽象和简化的结构模型。虽然人工神经网络有许多种类型,但其基本单元—人工神经元是基本相同的。如图2是一个典型的人工神经元模型:

图2 人工神经元模型

神经元模型相当于一个多输入单输出的非线性阀值元件,X1,X2,…,Xn表示神经元的n个输入,W1,W2,…,Wn表示神经元之间的连接强度,称为连接权,∑WiXi称为神经元的激活值,O表示这个神经元的输出,每个神经元有一个阀值θ,如果神经元输入信号的加权和超过θ,神经元就处于兴奋状态。以数学表达式描述为:

O=f(∑WiXi-θ)

三、Matlab的神经网络工具包

由于神经网络自身的特点,计算中经常涉及到大量的训练样本数据、复杂的运算操作、繁琐的程序设计等问题。对此,具有强大功能的数学软件Matlab,为我们提供了神经网络工具箱Neural Netwoks Toolbox (NNT)及丰富的函数命令。NNT是进行神经网络训练和仿真的优良平台。常用来对网络进行初始化、仿真、设计、调整、优化。集成化的处理方式、友好的界面、形象的演示过程、简易的操作,为神经网络应用者节约了大量的不必要的编程时间,使得非专业人士应用神经网络成为了可能。

Matlab是Mathworks公司开发的工程计算软件包,其中有一个神经网络工具包,可以用来方便地创建各种神经网络,对数据进行学习和模拟输出。

Matlab中普遍采用的是物理和工程学中强有力的矩阵描述的语言,简洁优美。

第二节 感知器

感知器(Pereceptron)是一种特殊的神经网络模型,是由美国心理学家F.Rosenblatt 于1958年提出的,一层为输入层,另一层具有计算单元,感知器特别适合于简单的模式分类问题,也可用于基于模式分类的学习控制和多模态控制中。

一、感知器神经元模型

感知器神经元通过对权值的训练,可以使感知器神经元的输出能代表对输入模式进行的分类,图2.1为感知器神经元模型。

图2.1 感知器神经元模型

感知器神经元的每一个输入都对应于一个合适的权值,所有的输入与其对应权值的加权和作为阀值函数的输入。由于阀值函数的引入,从而使得感知器可以将输入向量分为两个区域,通常阀函数采用双极阶跃函数,如:

???<≥=0

,00

,1)(x x x f (2.1)

而感知器神经元模型的实际输出为

??

?

??-=∑-=R i i i b x w f o 1 (2.2)

其中b 为阀值

二、感知器的网络结构

图2.2所描述的是一个简单的感知器网络结构,输入层有R 个输入,Q 个输出,通过权值w ij 与s 个感知器神经元连接组成的感知器神经网络。

根据网络结构,可以写出感知器处理单元对其输入的加权和操作,即:

∑==

R

j j ij

i p w

n 1

(2.3)

而其输出a i 为

a i =f (n i +

b i ) (2.4)

由式2.1易知

??

?<+≥+=0

01

i i i i i b n b n a (2.5)

则当输入n i +b i 大于等于0,即有n i ≥-b i 时,感知器的输出为1;否则输出为0。

上面所述的单层感知器神经网络是不可能解决线性不可分的输入向量分类问题,也不能推广到一般的前向网络中去。为解决这一问题,我们可以设计多层感知器神经网络以实现任意形状的划分。

图2.3描述了一个双层感知器神经网络。其工作方式与单层感知器网络一样,只不过是增加了一层而已,具体的内容这里不做讨论。

三、感知器神经网络的学习规则

感知器的学习规则主要是通过调整网络层的权值和阀值以便能够地网络的输入向量进行正确的分类。

P 1

S ×1

图2.2 感知器神经网络结构

P 1 图2.3 感知器神经网络结构

如图2.2所示的输入向量P、输出和量a和目标向量为t的感知器神经网络,感知器的学习规则是根据以下输出矢量a可能出现的几种情况未进行参与调整的:

1)如果第i个神经元的输出是正确的,即有a i=t1,则与第i个神经元联接的权值和阀值保持不变。

2)如果第i个神经元的输出是不正确,应该有两种情况。

i)实际输出为0,而理想输出为1,即有a i=0,而t i=1,则所有的输入j 对权值和阀值进行调整,修正值Δw1j=p j,Δb j=1。

ii)实际输出为1,而期望输出为0,即有a i=1,而t i=0,则对所有的输入j进行权值和阀值调整,Δw1j=-p j,Δb i=-1。

基于感知器误差e=t-a,感知器学习规则可望写为:

Δw1j=e i·p j

可以证明当前输入样本来自线性可分的模式时,上述学习算法在有限步同收敛,这时所得的权值能对所有样本正确分类,这一结论被称为感知器收敛定理。

四、感知器神经网络的训练

要使前向神经网络模型实现某种功能,必须对它进行训练,让它逐步学会要做的事情,并把所学到的知识记忆在网络的权值中。感知器神经网络的训练是采用由一组样本组成的集合来进行。在训练期间,将这些样本重复输入,通过调整权值使感知器的输出达到所要求的理想输出。感知器的训练主要是反复对感知器神经网络进行仿真和学习,最终得到最优的网络阀值和权值。

我们可以用以下方法训练网络:

1)确定我们所解决的问题的输入向量P、目标向量t,并确定各向量的维数,以及网络结构大小、神经元数目。假定我们采用图2.2的网络结构。

2)初始化:权值向量w和阀值向量b分别赋予[-1,+1]之间的随机值,并且给出训练的最大次数。

3)根据输入向量P、最新权值向量w和阀值向量b,计算网络输出向量a。

4)检查感知器输出向量与目标向量是否一致,或者是否达到了最大的训练次数,如果是则结束训练,否则转入(5)。

5)根据感知器学习规则调查权向量,并返回3)。

五、重要的感知器神经网络函数的使用方法

对于感知器的初始化、训练、仿真,在MA TLABP神经网络工具箱中分别提供了init( ), trainp( )和sim( )函数。

1.初始化函数init( )

感知器初始化函数init( )可得到R个输入,S个神经元数的感知器层的权值和阀值,其调用格式为:

[w,b]=init(R,S)

另外,也可以利用输入向量P和目标向量t来初始化。

[w,b]=init(p,t)

在介绍trainp( )函数前,让我们先介绍一下训练的控制参数tp。

tp=[disp_freq max_epoch]

其中disp_freq指定两次显示间训练次数,缺省值为1;map_epoch指定训练的最大次数,缺省值为100。

调用训练函数trainp( )函数后又得到新的权值矩阵,阀值向量以及误差te。trainp( )函数所需要的输入变量为:输入向量P、目标向量t以及网络的初始权值和阀值,训练的控制参数tp。调用格式为:

[w,b,te]=trainp(w,b,p,t,tp)

由于函数trainp( )并不能保证感知器网络所得到的网络权值和阀值达到要求。因此,在训练完后,要用下列验证语句验证一下。

a=sim(p, w, b);

if all(a= =t),disp( ′It works!′),end

假如网络不能成功运行,就可以继续运用trainp( )函数对网络进行训练。经足够的训练后,网络仍达不到要求,那么就应当认真分析一下,感知器网络是否适合于这个问题。

3.仿真函数sim( )

sim( )函数主要用于计算网络输出。它的调用比较简单。

a=sim(p,w,b)

六、感知器神经网络应用举例

为了便于消化与理解感知器神经网络的四只问题,下面将给出一个具体的问题进行分析,问题的描述如下:

两种蠓虫Af 和Apf 已由生物学家W.L.Grogan 与w. w. Wirth(1981)根据它们触角长度和翼长中以区分。见表2.1中9Af 蠓和6只Apf 蠓的数据。根据给出的触角长度和翼长可识别出一只标本是Af 还是Apf 。

1.给定一只Af 或者Apf 族的蒙,你如何正确地区分它属于哪一族? 2.将你的方法用于触角长和翼中分别为(1.24,1.80)、(1.28,1.84)、(1.40,2.04)的三个标本

表2.1

输入向量为:

p=[1.24 1.36 1.38 1.378 1.38 1.40 1.48 1.54 1.56 1.14 1.18 1.20 1.26 1.28 1.30;1.72 1.74 1.64 1.82 1.90 1.70 1.70 1.82 2.08 1.78 1.96 1.86 2.00 2.00 1.96 ]

目标向量为:

t=[1 1 1 1 1 1 1 1 1 0 0 0 0 0 0] 图形显示,目标值1对应的用“+”、目标值0对应的用“o 来表示:

plotpv(p ,t)

为解决该问题,利用函数newp 构造输入量在[0,2.5]之间的感知器神经网络模型:

net=newp([0 2.5;0 2.5],1) 初始化网络: net=init(net)

利用函数adapt调整网络的权值和阀值,直到误差为0时训练结束:[net, y, e]=adapt(net, p, t)

训练结束后可得如图2.5的分类方式,可见感知器网络将样本正确地分成两类:

图2.5 网络训练结果

感知器网络训练结束后,可以利用函数sim进行仿真,解决实际的分类问题:

p1=[1.24;1.80]

a1=sim(net,p1)

p2=[1.28;1.84]

a2=sim(net,p2)

p3=[1.40;2.04]

a3=sim(net,p3)

网络仿真结果为:

a1=0 a2=0 a3=0

第三节线性神经网络

线性神经网络是最简单的一种神经元网络,由一个或多个线性神经元构成。1959年,美国工程师B.widrow和M.Hoft提出自适应线性元件(Adaptive linear element,简称Adaline)是线性神经网络的最早典型代表。它是感知器的变化形式,尤其在修正权矢量的方法上进行了改进,不仅提高了训练收敛速度,而且提高了训练精度。线性神经网络与感知器神经网络的主要不同之处在于其每个神经元的传递函数为线性函数,它允许输出任意值,而不是象感知器中只能输出0或1。此外,线性神经网络一般采用Widrow-Hoff (简称W-H)学习规则或者最小场方差(Least mean Square,简称LMS)规则来调整网络的权值和阀值。

线性神经网络的主要用途是线性逼近一个函数表达式,具有联想功能。另外,它还适用于信号处理滤波、预测、模式识别和控制等方面。

一、线性神经元模型

线性神经元可以训练学习一个与之对应的输入/输出函数关系,或线性逼近任意一个非线性函数,但它不能产生任何非线性的计算特性。

图3.1描述了一个具有R个输入的由纯线性函数组成的线性神经元。

1

图3.1 线性神经元模型

由于线性神经网络中神经元的传递函数为线性函数,其输入与输出之间是简单的比例关系:

a=g(w*p,b)

其中函数g(x)为线性函数。

二、线性神经网络结构

如图3.2描述了一个由S 个神经元相并联形成一层网络,这种网络也称为Madaline 网络。

W -H 学习规则只能训练单层的线性神经网络,但这并不是什么严重问题。因为对线性神经网络而言,完全可以设计出一个性能完全相当的单层线性神经网络。

三、线性神经学习网络的学习规则

前面我们提到过,线性神经网络采用W -H 学习规则。W -H 学习规则是Widrow 是Hoft 提出的用来求得权值和阀值的修正值的学习规则。

首先要定义一个线性网络的输出误差函数:

E(w,b)=

2

1(t ―a)2

=

2

1(t ―w*p)2

3.1

由式3.1可看出,线性网络具有抛物线型误差函数所形成的误差表面。所以只有一个误差最小值。通过W -H 学习规则来计算权值和偏差的变化,并使网络的误差平方和最小化,总能够训练一个网络的误差趋于最小值。这可通过沿着相对于误差平方和最速下降方向连续调整网络的权值和阀值来实现。根据梯度下降法,权矢量的修正值正比于当前位置上E (w,b )的梯度,对于第i 输出节点为:

j i i ij

ij p a t w E w )(-=??-=?ηη

3.2

或表示为:

P

1 S ×1

图3.2 线性神经元网络

j i ij p w ηδ=? 3.3

i i b ηδ=? 3.4

这里δi 定义为第i 个输出节点的误差:

δi =t i ―a i 3.5

式3.3称为W -H 学习规则。W -H 学习规则的权值变化量正比于网络的输出误差及网络的输入向量。它不需求导数,所以算法简单,又具有收敛速度快和精度高的优点。

式3.3中的 称为学习率,学习率的选取可以适当防止学习过程中产生振荡,提高收敛速度和精度。

四、线性神经网络训练

首先给线性神经网络提供输入向量P ,计算线性网络层的输出向量a ,并求得误差e=t ―a ;

然后比较输出的误差平方和是否小于期望的误差平方和,如果是,则停止训练;否则,采用W -H 规则调整权值和阀值,反复进行。

如果经过训练网络不能达到期望目标,可以继续对网络进行训练。经过足够的训练后,网络还是达不到要求。那么就仔细地分析一下, 所要解决的问题,是否适合于线性神经网络。

五、重要线性神经网络函数的使用方法

在MA TLAB 神经网络工具箱中提供了基于线性神经网络的初始化函数initlin( )、设计函数solvelin( )、仿真函数simulin( )以及训练函数trainwh 和adaptwh 。下面我们将分别介绍多种函数的使用方法。

1.初始化函数initlin( )

函数initlin( )对线性神经网络初始化时,将权值和阀值取为绝对值很小的数。其使用格式

[w,b]=initlin(R,S)

R 为输入数,S 为神经元数。

另外,R 和S 也可用输入向量P 和目标向量t 来代替,即 [w,b]=initlin(p,t) 2.设计函数solvelin( )

与大多数其它神经网络不同,只要已知其输入向量P和目标向量t,就可以直接设计出线性神经网络使得线性神经网络的权值矩阵误差最小。其调用命令如下:

[w,b]=solve lin(p,t);

3.仿真函数simulin( )

函数simulin( )可得到线性网络层的输出

a=simulin(p,w,b)

其中a为输出向量,b为阀值向量

4.训练函数trainwh 和adaptwh( )

线性神经网络的训练函数有两种:trainwh( )和adaptwh( )。其中函数trainwh可以对线性神经网络进行离线训练;而函数adaptwh( ) 可以对线性神经网络进行在线自适应训练。

利用trainwh( )函数可以得到网络的权矩阵w,阀值向量b,实际训练次数te 以及训练过程中网络的误差平方和lr。

[w,b,te,lr]=trainwh(w,b,p,t,tp)

输入变量中训练参数tp为:

·tp(1)指定两次更新显示间的训练次数,其缺省值为25;

·tp(2)指定训练的最大次数,其缺省值为100;

·tp(3)指定误差平方和指标,其缺省值为0.02;

·tp(4)指定学习速率,其缺省值可由maxlinlr( )函数(此函数主要用于计算采用W-H规则训练线性网络的最大的稳定的分辨率)得到。

而利用函数adaptwh( )可以得到网络的输出a、误差e、权值矩阵w和阀值向量b。

[a,e,w,b]=adaptwh(w,b,p,t,lr)

输入变量lr为学习速率,学习速率lr 为可选参数,其缺省值为1.0。

另外,函数maxlinlr( )的调用格式为:

lr=maxlinlr(p);

六、线性神经网络的应用举例

为了理解线性神经网络的理论及其应用问题,下面给出一个实际问题进

行分析,设计一个线性神经网络,用于信号仿真及信号预测。

首先输入信号样本为:

time=1:0.0025:5;

p=sin(sin(time)*time*10);

目标信号为:

t=p*2+2;

图形显示样本信号的规律为:

plot(time, p, time, t, ’---’)

title(‘Input and Target Signals’)

xlabel(‘Time’)

ylabel(‘Input__ Target__’)

图3.3 样本信号

利用输入样本信号和理想输出进行线性神经网络初始化:[w,b]=initlin(p,t)

然后利用函数adaptwh对构造的网络进行训练,

lr=0.01;[a, e, w, b]=adaptwh(w, b, p, t, lr)

其中lr为学习率,a为网络的输出,e为误差。

仿真结果与目标信号对比分析:

plot(time, a, time, t, ‘--’)

title(‘Output and Target Signals’)

xlabel(‘Time’);ylabel(‘Output__ Target__’)

图3.4 仿真结果与目标信号对比分析误差分析:

plot(time,e)

hold on;plot([min(time) max(time)],[0 0],':r') xlabel('Time');ylabel('Error')

图3.5 误差分析

第四节 BP 网络

感知器神经网络模型和线性神经网络模型虽然对人工神经网络的发展起了很大的作用,它们的出现也曾掀起了人们研究神经网络的热潮。但它们有许多不足之处。人们也曾因此失去了对神经网络研究的信心,但rumelhart 、mcclellard 和他们的同事洞悉到网络信息处理的重要性,并致力于研究并行分布信息处理方法,探索人类认知的微结构,于1985年发展了BP 网络的学习算法。从而给人工神经网络增添了活力,使其得以全面迅速地恢复发展起来。

BP 网络是一种多层前馈神经网络,其神经元的激励函数为S 型函数,因此输出量为0到1之间的连续量,它可以实现从输入到输出的任意的非线性映射。由于其权值的调整是利用实际输出与期望输出之差,对网络的各层连接权由后向前逐层进行校正的计算方法,故而称为反向传播(Back-Propogation )学习算法,简称为BP 算法。BP 算法主要是利用输入、输出样本集进行相应训练,使网络达到给定的输入输出映射函数关系。算法常分为两个阶段:第一阶段(正向计算过程)由样本选取信息从输入层经隐含层逐层计算各单元的输出值;第二阶段(误差反向传播过程)由输出层计算误差并逐层向前算出隐含层各单元的误差,并以此修正前一层权值。BP 网络主要用于函数逼近、模式识别、分类以及数据压缩等方面。

一、BP 网络的网络结构

BP 网络通常至少有一个隐含层,如图4.1所示的是一个具有R 个输入

感知器与线性神经元的主要差别在于激励函数上:前者是二值型的,而

后者是线性的。BP 网络除了在多层网络上与已介绍过的模型有不同外,其

图4.1 具有一个隐含层的BP 网络结构

P 1

主要差别也表现在激励函数上。

图4.2所示的两种S 型激励函数的图形,可以看到f (· )是连续可微的单调递增函数,这种激励函数的输出特性比较软,其输出状态的取值范围为[0,1]或者[-1,+1],其硬度可以由参数λ来调节。函数的输入输出关系表达式如下所示:

双极型的S 型激励函数:)

exp(12

)(net net f λ-+=

, f(net)∈(-1,1)

单极型的S 型激励函数:)

exp(11

)(net net f λ-+=, f(net)∈(0,1)

图4.2 sigmoid 型函数图形

对于多层网络,这种激励函数所划分的区域不再是线性划分,而是由一个非线性的超平面组成的区域。

因为S 型函数具有非线性的大系数功能。它可以把输入从负无穷到正无穷大的信号变换成-1到+1之间输出,所以采用S 型函数可以实现从输入到输出的非线性映射。

二、BP 网络学习规则

BP 网络最为核心的部分便是网络的学习规则。用BP 算法训练网络时有两种方式:一种是每输入一样本修改一次权值;另一种是批处理方式,即使组成一个训练周期的全部样本都依次输入后计算总的平均误差。这里我们主要探讨的是后一种方式。

MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数 (Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和 cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

matlab常用操作命令

matlab常用操作备忘(1)2007-11-30 22:01:06 分类: 北京理工大学 20981 陈罡 帮助朋友做几个数据的卷积的仿真,一用才知道,呵呵,发现对不住偶的导师了。。。好多matlab的关键字和指令都忘记了。特意收集回顾一下: (1)管理命令和函数 addpath :添加目录到MATLAB搜索路径 doc :在Web浏览器上现实HTML文档 help :显示Matlab命令和M文件的在线帮助 helpwin helpdesk :help 兄弟几个 lookfor :在基于Matlab搜索路径的所有M文件中搜索关键字 partialpath:部分路径名 8*) path :所有关于路径名的处理 pathtool :一个不错的窗口路径处理界面 rmpath :删除搜索路径中指定目录 type :显示指定文件的内容 ver :版本信息 version :版本号 web :打开web页 what :列出当前目录吓所有的M文件 Mat文件和 Mex文件 whatsnew :显示readme文件 which :显示文件位置 (2)管理变量和工作区 clear :从内存中删除所有变量,clear x y z是删除某个变量 disp :显示文本或数组内容 length :数组长度(最长维数) load :重新载入变量(从磁盘上) mlock :锁定文件,防止文件被错误删除 munlock :解锁文件 openvar :在数组编辑器中打开变量 pack :整理内存空间 save :保存变量到文件 8*) size :数组维数

who whos :列出内存变量 workspace :显示工作空间窗口 (3)管理命令控制窗口(command窗口) clc :清空命令窗口 echo :禁止或允许显示执行过程 format :设置输出显示格式 home :光标移动到命令窗口左上角 more :设置命令窗口页输出格式 (4)文件和工作环境 cd :改变工作目录 copyfile :复制文件 delete :删除文件和图形对象 diary :把命令窗口的人机交互保存到文件 dir :显示目录 edit :编辑文本文件 fileparts :返回文件的各个部分 fullfile :使用指定部分建立文件全名 inmem :返回内存(伪代码区)的matlab函数名 ls :在unix系统中列出目录(win中亦可) matlabroot :根目录 mkdir :新建目录 open :打开文件 pwd :显示当前目录 tempdir :返回系统临时目录的名字 tempname :随机给出一个临时字符串(可用作文件名) ! :直接调用操作系统command命令 (5)启动和推出matlab matlabrc :Matlab的启动M文件 exit quit :退出Matlab startup :运行matlab启动文件 (6)程序设计 builtin :从可重载方法中调用内置函数 eval :执行包含可执行表达式的字符串

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

matlab快捷键大全

1.使用“Tab”键可以在Matlab进行命令输入时补全变量名或者命令名; 2.使用“Ctrl+C”组合键能够强制从运行的或者进入死循环的Matlab程序中退出; 3.使用“上”“下”方向键能够调用Matlab的历史命令; 4.Matlab的变量命名规则注意: a.区分大小写; b.必须以字母开头; c.中间不能有空格、标点符号等; 5.在一条命令或语句的末尾加上一个分号,则Matlab就不会在屏幕上显示这条命令计算的结果; 6.在Matlab中,“...”(3个句点)称为“续行符”,表示同一语句的延续输入; 注意:只有当续行符出现在变量名和运算符之间,才能起到语句延续的作用。出现在一个变量名中间时,是不能实现语句延续的。换句话说,变量名不能分割成两行书写。 7.在进行三角函数运算时,Matlab使用的是“弧度制”而不是“角度制”; 8.选择需要注释的语句块以后,使用“Ctrl+R”可以进行Matlab语句注释;使用“Ctrl+T”可以进行语句块的解注释; 9.Matlab数组的下标是从“1”开始的,这点与C语言不同; 1 0.使用空格和逗号隔开的元素指定的是同一行的元素,使用分号或者回车分开的元素指定的是不同行的元素。 Q1:matlab有没有监视内存的方法? A:用函数whos。 Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...

A:换matlab7的sp2。 Q3:自从安装matlab,一开机就在进程里有matlab。 能不能开机的时候进程就不运行matlab? A:开始-->控制面板-->管理工具-->服务 把MATLAB Server的属性改成“手动”就行了。 Q4:退出matlab7程序运行的快捷键。 A:ctrl+q Q5:matlab7远程控制是否有限制? A:不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。 Q6:Matlab占用资源太多怎么办? A:用matlab-nojvm启动(如果不需要图形界面)。 Q7:怎样给matlab添加新的toolbox? A:在matlab的文件菜单里边添加路径,选set path。 Q8:请问matlab有没有命令可以调出历史输入啊? A:command history窗口。 Q9:matlab7.0不能在64位的cpu下运行? A:matlab应该是依赖于自己的虚拟机的 但是好像这个虚拟机是在IA32里面作出来的,所以,应该找个带64位的java虚拟机替换原来的,不过不一定能行or so,记不清了) Q10:matlab有没有注释一段的功能? A:选中一段代码,ctrl r就是区段注释 选中一段代码,ctrl t取消区段注释

matlab常用计算命令

Matlab常用计算命令(部分) by sunny_疑似天人 1.多项式运算: poly2sym函数,将给定的多项式系数向量转化为符号表达式,以降幂排序。 poly函数,得到矩阵的特征多项式(首项系数为1)的系数向量,然后也可以用poly2sym函数转化为多项式的符号表达式。 roots函数,得到方程的根,调用形式为roots(a),其中a 为多项式的系数;也可以直接调用roots([1 2 1])。 compan函数与eig函数,通过compan函数建立多项式的伴随矩阵再通过eig函数求伴随矩阵特征值以得到多项式的所有根。效果与roots函数相同;同时这两个函数也可单独使用: compan函数,建立多项式的伴随矩阵,如:a=[1 2 3 ];compan(a) ans = -2 -3 1 0 eig函数,求矩阵的特征值。 conv函数,求多项式的乘积,如:pd=conv(p,d),其中p和d均为多项式系数向量,得到的同样也是多项式的系数向量。 deconv函数,求多项式的除法。 polyder函数,求多项式的微分。即求一阶导数,如果要求多项式的高阶微分,可以通过循环实现。

polyfit 函数,对数据拟合得到多项式,这个多项式即可大致代表数据变化规律。例如: x=0:pi/20:pi/2; y=sin(x); p=polyfit(x,y,5) x1=0:pi/30:pi*2; y1=sin(x1); y2=polyval(p,x1); plot(x1,y1,'b-',x1,y2,'r*') legend('原曲线','拟合曲线') axis([0 7 -1.2 4]) p = 0.0057 0.0060 -0.1721 0.0021 0.9997 0.0000 1 2 3 4 5 6 7 -1-0.500.511.522.533.54 原曲线拟合曲线 2.向量及其运算 x=linspace(a,b,n),生成一个向量x ,其中a ,b 分别是生成矢量的第一个和最后一个元素,n 是采样总点数。当n 缺省时默认生成100维的向量。

MATLAB常用指令

MATLAB常用指令 1.常用命令-->管理命令和函数 addpath 添加目录到MATLAB搜索路径 doc 在Web浏览器上现实HTML文档 help 显示Matlab命令和M文件的在线帮助 helpwin helpdesk help lookfor 在基于Matlab搜索路径的所有M文件中搜索关键字partialpath 部分路径名 path 所有关于路径名的处理 pathtool 一个不错的窗口路径处理界面 rmpath 删除搜索路径中指定目录 type 显示指定文件的内容 ver 版本信息 version 版本号 web 打开web页 what 列出当前目录吓所有的M文件Mat文件和Mex文件whatsnew 显示readme文件 which 显示文件位置 (返回) 2.常用命令-->管理变量和工作区(输入输出、内存管理等) clear 从内存中删除 disp 显示文本或数组内容 length 数组长度(最长维数) load 重新载入变量(从磁盘上) mlock 锁定文件,防止文件被错误删除 munlock 解锁文件 openvar 在数组编辑器中打开变量 pack 整理内存空间 save 保存变量到文件8*) size 数组维数 who 列出内存变量 whos 列出内存变量,同时显示变量维数 workspace 显示工作空间窗口 (返回) 3.常用命令-->管理命令控制窗口(command窗口) clc 清空命令窗口 echo 禁止或允许显示执行过程 format 设置输出显示格式 home 光标移动到命令窗口左上角 more 设置命令窗口页输出格式 (返回)

matlab基础实验

实验一 MATLAB基础知识 一、实验目的 1.熟练掌握Matlab的启动与退出; 2. 熟悉Matalb的命令窗口,常用命令和帮助系统; 3. 熟悉Matalb的数据类型; 4. 熟悉Matlab的基本矩阵操作,运算符和字符串处理 二、实验设备 1.方正电脑 2.MATLAB软件 三、实验内容 1. 已知矩阵 A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] 写出完成下列操作的命令: (1) 将矩阵A的第2-5行中第1,3,5列元素赋给矩阵B; (2) 删除矩阵A的第7号元素; (3) 将矩阵A的每个元素加上30; (4) 求矩阵A的大小和维数; (5) 将矩阵A的右下角3*2矩阵构成矩阵C; (6) 输出[-5,5]范围内的所有元素; 程序: A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] %(1) B=A(2:5,[1 3 5]) %(2) A2=A; A2(7)=[] %(3) A3=A+30 %(4) length(A) size(A) %(5) C=A(end-2:end,end-1:end) %(6) A6=A.*(A>=-5 & A<=5) 结果: A =

3 4 -1 1 -9 10 6 5 0 7 4 -16 1 -4 7 -1 6 -8 2 -4 5 -6 12 -8 -3 6 -7 8 -1 1 8 -4 9 1 3 0 B = 6 0 4 1 7 6 2 5 12 -3 -7 -1 A2 = Columns 1 through 7 3 6 1 2 -3 8 5 Columns 8 through 14 -4 -4 6 -4 -1 0 7 Columns 15 through 21 5 -7 9 1 7 -1 - 6 Columns 22 through 28 8 1 -9 4 6 12 -1 Columns 29 through 35 3 10 -16 -8 -8 1 0 A3 = 33 34 29 31 21 40 36 35 30 37 34 14

第一章 基本MATLAB基本命令

MATLAB学习指南 第1章.基本MATLAB指令 1.1.基本数量运算 首先,我们来谈一谈怎样向程序中添加注释(例如此行)。注释就是我们向程序中添加的文字,用来解释我们在做什么。所以,如果我们或其他人以后读到此代码,就能很容易地理解代码在执行什么指令。在一个MATLAB文件中,如果百分号%出现在一行文字中,百分号后面的所有文字都是注释,而不是MATLAB想要进行解释的指令。首先,我们向屏幕输入信息,告诉计算机我们开始运行1.1节。 指令disp('字符串')在屏幕上展示了文本字符串。 接下来,我们令一个变量等于1。 如果x没有被声明,这一指令先为变量x在内存中分配一个空间,然后又将x的值1存储在所分配的空间中。同时,这一指令会将"x = 1"显示在屏幕上。通常,我们不希望像这样的输出结果把屏幕弄得杂乱,所以我们在指令的最后加上一个分号就可以使指令变得“不可见”。例如,我们使用下列指令把x的值“不可见地”变为2,然后将结果显示在屏幕上。x=2;x的值发生了改变,但是却没有显示在屏幕上 disp('我们已经改变了x的值'); 然后,通过输入“x”,不带分号,我们显示x的值。 现在,我们来看如何声明其它变量。 y=2*x; 对y的值进行初始化,使其等于x的值的2倍。 x=x+1;使x的值增加1。 z=2*x; 声明了另一变量z。 因为在声明变量z时x的值已经发生了变化,所以z不等于y。 接下来,我们想看存储在内存中的变量的列表。我们使用指令“who”来实现。 通过使用“whos”我们能得到更多的信息 我们也可使用这些指令来得到有关仅有的某些变量的信息。

我们想要去掉变量“差”。 使用指令“clear”来实现。 接下来,我们想要去掉变量x和y。 我们再次使用指令“clear”。 一般来说,好的程序设计模式都要求每行只编写一个指令;但是,MATLAB却允许将多个指令放在一行。 更普遍的情况是,由于语句结构的长度使得我们希望一个指令能够分成多行。这可通过使用3个点来实现。 最后,当使用指令“clear all”时,我们可一次去掉所有变量。 1.2.基本向量运算 声明一个变量最简单的,但不值得推荐的方法就是逐一输入其分量。 x显示x的值 一般来说,最好一下子声明一个变量,因为这样的话MATLAB从一开始就知道它需要分配多少内存。对于大型向量,这会更加有效。 y=[1 4 6] 与上述代码作用相同。 注意到这次声明了一个行向量。为得到一个列向量,我们或者使用转置(复合x的伴随矩阵)算符xT=x’;把实行向量x进行转置,或从一开始就将其变成列向量。 为了看到行向量和列向量在大小上的不同,使用指令“size”便可返回向量或矩阵的大小。

matlab常用命令

matlab常用命令 1.Patch [1,1,1]表示白色; 2.潮汐椭圆:ECC为短轴与长轴的比率;负值表示椭圆逆时针旋转; INC表示东方向与主轴 的夹角,PHA表示与最小流时间有关. 3.textread (%n)表示读入数据,并转换为双精度数据. 4.[x,y]=ginput(2); [lon,lat]=m_xy2ll(x,y) 以上命令表示在地图上任意点两点,返回该点的经纬度值。 5.matlab保存图像:print(土星句柄,存储格式,文件名) png格式-png 推荐一种,与bmp一样清晰; jpeg:-djpeg 文件小,较清晰; tiff:-dtiff bmp -dbitmap 清晰,文件大 gif -dgif 文件小,不清晰 A a abs 绝对值、模 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 色图

matlab中的矩阵的基本运算命令

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

matlab常见操作123

1.示波器图像导出处理1)仿真用示波器查看2)matlab命令框中输入:shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 图片的菜单就出来了。。。3)在edit菜单中编辑波形4)edit-copy figure复制波形到word文档。 2.在matlab命令窗口里,在语句行尾加上三个英文句号表示续行;运算符=、+、-前后的空格不影响计算结果;在输入命令后以分号结束,则不会显示命令执行结果,但可使程序运行速度大大提高,这对大量输出数据的成句特别有用;可用Ctrl+c键来终止正在运行的程序。 3.启动matlab默认窗口设置Desktop Layout—>Default,则四个小窗口则按系统默认的布局显示。Save Layout保存布局显示 4.运行matlab语句或程序时有三种方式:1)在已安装的Notebook 的Word窗口的英语输入状态下,输入matlab语句或程序,用鼠标左键将其选中,然后点击Notebook——>Evaluate Cell,即为程序的Notebook执行方式。计算的数据与绘图都保留在word环境里。 2)在matlab命令窗口中直接输入指令或语句并按回车键运行。3)程序文件执行方式:在“Untitled”模型文件窗口中输入程序并以某文件名存盘,然后在matlab命令窗口中输入改文件名,按回车执行该程序。计算的数据保存在matlab的命令窗口中,如有绘图,则另弹出figure画面。常用

Matlab常用函数及指令大全

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 三维等位线 contourslice 四维切片等位 线图 conv 多项式乘、卷积 cool 青紫调冷色图 copper 古铜调色图 cos 余弦 cosh 双曲余弦 cot 余切 coth 双曲余切 cplxpair 复数共轭成对排列 csc 余割 csch 双曲余割 cumsum 元素累计和 cumtrapz 累计梯形积分 cylinder 创建圆柱 D d dblquad 二重数值积分 deal 分配宗量 deblank 删去串尾部的空格 符 dec2base 十进制转换为X 进制 dec2bin 十进制转换为二进

MATLAB常用命令检索大全

MATLAB命令 MATLAB COMMANDS AND FUNCTIONS LIST 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条件数估计

matlab命令大全

matlab命令 一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。 !dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键 Ctrl+P 返回前一行输入 方向下键 Ctrl+N 返回下一行输入 方向左键 Ctrl+B 光标向后移一个字符 方向右键 Ctrl+F 光标向前移一个字符 Ctrl+方向右键 Ctrl+R 光标向右移一个字符 Ctrl+方向左键 Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减, *:乘, /:除,\:左除 ^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数) log( ) 对数 acos( ) 余正弦(返回弧度) log10( ) 以10为底对数 acosd( ) 余正弦(返回度数) sqrt( ) 开方

matlab常见操作123

1.示波器图像导出处理 1)仿真用示波器查看 2)matlab命令框中输入: shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 图片的菜单就出来了。。。 3)在edit菜单中编辑波形 4)edit-copy figure复制波形到word文档。 2.在matlab命令窗口里,在语句行尾加上三个英文句号表示续行; 运算符=、+、-前后的空格不影响计算结果; 在输入命令后以分号结束,则不会显示命令执行结果,但可使程序运行速度大大提高,这对大量输出数据的成句特别有用; 可用Ctrl+c键来终止正在运行的程序。 3.启动matlab默认窗口设置 Desktop Layout—>Default,则四个小窗口则按系统默认的布局显示。 Save Layout保存布局显示 4.运行matlab语句或程序时有三种方式: 1)在已安装的Notebook 的Word窗口的英语输入状态下,输入matlab语句或程序,用鼠标左键将其选中,然后点击Notebook——>Evaluate Cell,即为程序的Notebook执行方式。计算的数据与绘图都保留在word环境里。 2)在matlab命令窗口中直接输入指令或语句并按回车键运行。 3)程序文件执行方式:在“Untitled”模型文件窗口中输入程序并以某文件名存盘,然后在matlab命令窗口中输入改文件名,按回车执行该程序。计算的数据保存在matlab的命令窗口中,如有绘图,则另弹出figure画面。常用在程序中有带鼠标操作或绘制多条曲线或使用人机交互指令时。 4.在命令窗口输入命令语句时,若语句后不跟分号,按回车后则执行该条语句并且显示结果;若跟分号后按回车键,则只执行语句不显示执行后结果。 5.在命令窗口输入clear或clc按回车键则清除前面所有命令,对于matlab(R2009a)则输入clc.

matlab指令大全

1、运算符: +:加,-:减, *:乘, /:除, \:左除 ^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数) log( ) 对数 acos( ) 余正弦(返回弧度) log10( ) 以10为底对数 acosd( ) 余正弦(返回度数) sqrt( ) 开方 tan( ) 正切(变量为弧度) realsqrt( ) 返回非负根 tand( ) 正切(变量为度数)

abs( ) 取绝对值 atan( ) 反正切(返回弧度) angle( ) 返回复数的相位角 atand( ) 反正切(返回度数) mod(x,y) 返回x/y的余数 sum( ) 向量元素求和 3、其余函数可以用help elfun和help specfun命令获得。 4、常用常数的值: pi 3.1415926……. realmin 最小浮点数,2^-1022 i 虚数单位 realmax 最大浮点数,(2-eps)2^1022 j 虚数单位 Inf 无限值 eps 浮点相对经度=2^-52 NaN 空值 1、!dir 可以查看当前工作目录的文件。 !dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键 Ctrl+P 返回前一行输入 方向下键 Ctrl+N 返回下一行输入 方向左键 Ctrl+B 光标向后移一个字符

Matlab命令大全

Matlab命令大全

Matlab命令汇总 一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。 !dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键 Ctrl+P 返回前一行输入 方向下键 Ctrl+N 返回下一行输入 方向左键 Ctrl+B 光标向后移一个字符 方向右键 Ctrl+F 光标向前移一个字符 Ctrl+方向右键 Ctrl+R 光标向右移一个字符 Ctrl+方向左键 Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符:+:加;-:减; *:乘; /:除; \:左除 ^:幂; ‘:复数的共轭转置;():制定运算顺序。 2、常用函数表:sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数) log( ) 对数 acos( ) 余正弦(返回弧度) log10( ) 以10为底对数 acosd( ) 余正弦(返回度数) sqrt( ) 开方 tan( ) 正切(变量为弧度) realsqrt( ) 返回非负根 tand( ) 正切(变量为度数) abs( ) 取绝对值

Matlab实用操作指令

matlab编辑器的快捷键 在编辑器(Editor>中: 1> 【Tab】<或【Ctrl+]】)――增加缩进<对多行有效) 2> 【Ctrl+[】--减少缩进<对多行有效) 3> 【Ctrl+I】--自动缩进<即自动排版,对多行有效) 4> 【Ctrl+R】――注释<对多行有效) 5> 【Ctrl+T】――去掉注释<对多行有效) 6> 【Ctrl+B】――括号配对检查<对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过) 7> 【F12】――设置或取消断点 8> 【F5】――运行程序 matlab命令 一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。 !dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键 Ctrl+P 返回前一行输入 方向下键 Ctrl+N 返回下一行输入 方向左键 Ctrl+B 光标向后移一个字符 方向右键 Ctrl+F 光标向前移一个字符 Ctrl+方向右键 Ctrl+R 光标向右移一个字符 Ctrl+方向左键 Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减, *:乘, /:除, \:左除 ^:幂,‘:复数的共轭转置, <):制定运算顺序。2、常用函数表: sin( > 正弦<变量为弧度) Cot( > 余切<变量为弧度) sind( > 正弦<变量为度数)

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