当前位置:首页 >> 理学 >>

20030228-hejianhua-神经网络讲义-参考资料-Matlab


课后阅读资料 Matlab与神经网络工具箱 Matlab与神经网络工具箱

2.1 Matlab简介 简介
Matlab的首创者Cleve Moler博士在数值分析,特 别是在是指线性代数的领域中很有影响。 Matlab(Matrix Laboratory,即矩阵实验室) Matlab于1984年推出了正式版本。后来Moler组建 了一个名为MathWorks的软件开发公司 (http://www.Mathworks.com)专门扩展并改 进Matlab。 1998年推出5.3版。2000年11月6日推出最新版本 Matlab 6.0。

Matlab 6.0有30个工具箱包,包括 控制系统工具箱(Control System Toolbox) 信号处理工具箱(Signal Processing toolbox) 系统辨识工具箱(System Identification toolbox) 鲁棒控制工具箱(Robust Control toolbox) μ分析于综合工具箱(μ-analysis and synthesis toolbox) 定量反馈理论工具箱(QFT toolbox) 神经网络工具箱(Neural Network toolbox) 最优化工具箱(Optimisation toolbox) 数据库工具箱(Database toolbox) 网络工具箱(Matlab WebServer)等。

严格的说,Matlab并不是一种计算机语言,因为 用它编写出来的程序并不能脱离Matlab环境而 执行,但从功能上说,Matlab已经完全具备了 计算机语言的结构和性能,因此我们也习惯的 称之为Matlab语言。 Matlab 5.3以上版本提供了C/C++的接口,通过另 外一个工具MatCom,能用Visual C++调用 Matlab编写的程序,从而大大减少C++程序的 编写难度。此工具我已经用过,效果不错。

2. 2 Matlab的基本操作 的基本操作
2.2.1 Matlab的安装 关键是选择合适的工具箱和相应的帮助文件。 2.2.2 2.2.2帮助文件(helpdesk) helpdesk 两种:(1)pdf格式 (2)html格式 2.2.3演示(demo) 2.2.4退出:exit 或quit命令

2.3 Matlab的基本语句结构 的基本语句结构
2.3.1 基本的赋值语句 变量名列表=表达式 如:A=[1,2,3;4,5,6;7,8,0] ? 等号右边的表达式可以用分号结束,也可以用 逗号或换行号结束。 ? Matlab区分大小写,Abc,ABC,abc表示不同 的矩阵名。 ? 在矩阵A中,同一行中的内容用逗号分隔,而 采用分号来表示换行。 ? 一般情况下,用于同行中分隔的逗号是可以由 空格来代替的。

2.3.2 Matlab的保留字符串 的保留字符串
? 判断0元素用的误差限eps,其默认值为

eps=2.2204×10-16 ? pi表示圆周率 ? Inf表示无穷大。Matlab允许的最大数据为 1.797693×10308;一个数据大于此数则认为是 Inf。1/0产生Inf。 即使在Matlab中保留了若干字符串,它们还可以 重新进行赋值。如果用户想将判0的误差限扩 大10倍,则可以采用eps=10×eps命令来进行修 正。

2.4 矩阵的基本运算
矩阵A有n行m列,称A矩阵为n×m矩阵。 矩阵加减法运算: 2.4.1 矩阵加减法运算: C=A+B 和C=A-B。 - 。 矩阵的转置: 2.4.2 矩阵的转置:AT 在Matlab下,矩阵A的转置(包括复矩阵的转 置)均可以简单地由A’求出。 C=A× 2.4.3 矩阵乘法 C=A×B 在这里并不需要指定A、B的维数。

2.4.4 矩阵的点乘 两个矩阵对应元素之间的乘积。 C=A.×B 2.4.5 矩阵的除法 Matlab定义了矩阵的除法运算,其意义相当于矩 阵的求逆运算。 如:Ax=B, x=inv(A)×B,也可简单地写成 x=A/B。

2.4.6 单个矩阵元素的赋值与运算 Matlab允许用户对一个矩阵地单个元素进行赋值 和操作。 Matlab还允许对子矩阵进行定义和处理。 A(:,j)表示A矩阵的第j列元素; A(i,:)表示A矩阵的第i列全部元素。 A(:,1)=[1,4,7] A(2,:)=[4,5,6]

2.5 Matlab的控制语句 的控制语句
2.5.1 Matlab的循环语句结构 的循环语句结构
for语句和while语句 for语句和while语句 语句和while ? for语句的基本格式 for语句的基本格式 循环变量i=表达式S i=表达式 表达式S 表达式S for 循环变量i=表达式S1:表达式S3:表达式S2 循环语句组 end 在C语言中,循环体的内容是以大括号{}括起来的,而在 语言中,循环体的内容是以大括号{}括起来的, {}括起来的 Matlab语言中 循环体的内容是以循环语句和end 语言中, end语句 Matlab语言中,循环体的内容是以循环语句和end语句 括起来的,所以在使用Matlab时应注意这一点。 Matlab时应注意这一点 括起来的,所以在使用Matlab时应注意这一点。

求取S1的值=>i

求取S2的值

i 在 S 1 、 S 2 之间



循 循 循 循

是 循环体语句

i+S3=>i

for循环体的程序框图 循环体的程序框图

? while语句的结构 语句的结构

while (条件式) 循环语句组 end

条件式成立?



循 循 循 循

是 执行循环体内容

while语句的框图 语句的框图

2.5.2 Matlab的条件转移语句结构 的条件转移语句结构 ? 基本格式: 基本格式: if(条件式) 条件块语句组 end

条件式成立?

是 执行循环体内容

结构框图

? 绝对转移

由于Matlab没有提供绝对转移的指令,所以这样的功能可 通过if和while的组合来完成。见例3。

? 复杂的条件结构

if(条件式) 条件块语句组1 else 条件语句组2 end



条件



语句1

语句2

if(条件式1) 条件块语句组1 elseif (条件式2) 条件块语句组2 ……… end

条件1 条件2 是 条件n 是 语句1 语句2 语句n 语句n+1

2.6 Matlab的编程基础 的编程基础
2.6.1 Matlab允许的文件类型 允许的文件类型 ? Matlab编写的程序分为M函数和M文件,其后 缀名均为.m。 ? Matlab允许用户调用可执行文件.exe。其调用 方式是在>>下键入“!”,再接可执行文件的 文件名。 ? Matlab通过Mex功能可以实现对C或Fortran语言 编写的程序的调用。

2.6.2 Matlab变量的管理 变量的管理
Size(A)得到A的维数,包括行数和列数,此时A是矩阵; Length(A) Who 得到A的长度,此时A是向量;

查看当前工作空间有哪些变量名;

Whos 了解这些变量的具体细节,包括名称(name),大小(size), 元素数(element),字节数(bytes)等 Clear 删除变量;

Save 文件名 变量列表 其它选项 :将工作空间的变量保存到文件中。 -assii:ASCII码格式 Load 文件名:将save命令存储起来的数据再从文件调入工作空间。

2.7 Matlab的绘图功能 的绘图功能
2.7.1 建立和控制图形窗口 figure clf close 建立新的图形窗口 清除当前图形 关闭图形

基本X-Y图形 2.7.2 基本 图形 plot 线性图形 title 图形标题 xlabel X轴标记 ylable Y轴标记 text 文本注释 grid 网格线 hold 保持当前图形 subplot 在一个图形窗口画多个坐标图。 例:subplot(2,3,2);plot(X)表示在2行3 列的大图形中的第2号图中画X的形状。

2.8神经网络工具箱常用函数列表 神经网络工具箱常用函数列表
2.8.1重要的感知器神经网络函数 重要的感知器神经网络函数 初始化: 初始化: 训练: 训练: 仿真: 仿真: 学习规则: 学习规则: initp trainp simup learnp

2.8.2线性神经网络函数 线性神经网络函数 初始化: 设计: 仿真: 离线训练: 在线自适应训练: 学习规则: initlin solvelin simulin trainwh adaptwh learnwh

2.8.3 BP网络函数 网络函数 Initff: Simuff: 初始化不超过3层的前向网络; 仿真不超过3层的前向网络;

Trainbp,trainbpx,trainlm: 训练BP(Trainbp:最慢;trainbpx:次之; trainlm:速度最快,但需要更多的存储空间。) Learnbp: 学习规则

2.8.4自组织网络 自组织网络 初始化: 仿真: 训练: initsm simuc trainc:利用竞争规则训练 trainsm:利用Kohonen规则训练

2.8.5反馈网络(Hopfield网络) 反馈网络( 网络) 反馈网络 网络 仿真: 设计: simuhop solvehop

2.9 Matlab编程举例 编程举例
作业: 2002年5月8日 分块矩阵求逆法:A= A11 A12 A21 A22 上面的矩阵是一个分块矩阵,这时 1 B=A-1= B11 B12 B21 B22 其中,B22=(A22-A21A11-1A12)-1, B12=-A11-1A12B22 B21=-B22A21A11-1, B11=A11-1-B12A21A11-1。

根据上述算法,计算: A= 2 1 4 -2 -1 -4 3 0 -1 -3 0 1 2 3 4 -2 -3 -4 4 2 8 6 3 12 6 0 -2 9 0 -3 4 6 8 6 9 12 的逆矩阵。(分块维数n1取3) 【允许用inv()求A11-1】


相关文章:
20030228-hejianhua-神经网络讲义-参考资料-Matlab_图文.ppt
20030228-hejianhua-神经网络讲义-参考资料-Matlab -
20030228-hejianhua-神经网络讲义-参考资料-Matlab.ppt
20030228-hejianhua-神经网络讲义-参考资料-Matlab_基础
20030228-hejianhua-神经网络讲义-part4-BP网络_图文.ppt
20030228-hejianhua-神经网络讲义-part4-BP网络 - 人
20030225-hejianhua-神经网络讲义-part3-感知机与Adlin....ppt
人工神经网络及其应用第3讲 感知机及BP网络 = 内容...上述用来修正感知器权值的学习算法在MATLAB 神经网络...20030228-hejianhua-神经... 26页 1下载券 喜欢...
20030212-hejianhua-神经网络讲义-part2-神经元与网络....ppt
20030212-hejianhua-神经网络讲义-part2-神经元与网络结构_工学_高等教育_教育...20030228-hejianhua-神经... 51页 2下载券 20030303-hejianhua-神经... ...
20030228-hejianhua-神经网络讲义-part4-BP网络_图文.ppt
20030228-hejianhua-神经网络讲义-part4-BP网络_工...利用梯度下降法求权值变化及误差的反向传播 输出...在MATLAB工具箱中可采用函数nwlog.m或 29 2013-7...