当前位置:首页 >> 计算机软件及应用 >>

神经网络讲义-参考资料-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帮助文件(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’求出。 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语句的基本格式 for 循环变量i=表达式S1:表达式S3:表达式S2 循环语句组 end 在C语言中,循环体的内容是以大括号{}括起来的,而在 Matlab语言中,循环体的内容是以循环语句和end语句 括起来的,所以在使用Matlab时应注意这一点。

求取S1的值=>i

求取S2的值

i在S1、S2之间

否 是 循环体语句

结 束 循 环

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 建立新的图形窗口 清除当前图形 关闭图形

2.7.2 基本X-Y图形 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(INIT, NNT2P) trainp(TRAIN, NNT2P) simup(SIM, NNT2P) learnp(LEARNP)

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

2.8.3 BP网络函数
Initff(NNT2FF): 初始化不超过3层的前向网络; Simuff: 仿真不超过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 上面的矩阵是一个分块矩阵,这时 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】


相关文章:
神经网络讲义-参考资料-Matlab_图文.ppt
神经网络讲义-参考资料-Matlab - 课后阅读资料 Matlab与神经网络工
20030228-hejianhua-神经网络讲义-参考资料-Matlab_图文.ppt
20030228-hejianhua-神经网络讲义-参考资料-Matlab -
bp神经网络及matlab实现资料.doc
bp神经网络及matlab实现资料_中职中专_职业教育_教育专区。bp bp 神经网络及 matlab 实现分类: 算法学习 2012-06-20 20:56 66399 人阅读 评论(28) 收藏 举报 ...
神经网络讲义-参考资料-Matlab_图文.ppt
神经网络讲义-参考资料-Matlab - 课后阅读资料 Matlab与神经网络工
20030228-hejianhua-神经网络讲义-参考资料-Matlab_图文.ppt
20030228-hejianhua-神经网络讲义-参考资料-Matlab -
神经网络及深度学习(包含matlab代码)_图文.pdf
神经网络及深度学习(包含matlab代码)_计算机软件及应用_IT/计算机_专业资料。介绍神经网络和深度学习的基本内容 神经网络及深度学习(包含 MATLAB 仿真) 人工神经网络(...
MATLAB神经网络-4资料_图文.ppt
MATLAB神经网络-4资料_中职中专_职业教育_教育专区。MATLAB MATLAB神经网络工具箱 介绍及实验要求 神经元模型 Neuron Model: 多输入,单输出,带偏置 ?输入:R维列...
参考资料-Matlab_图文.ppt
参考资料-Matlab - 课后阅读资料 Matlab与神经网络工具箱 Matlab与神经网络工具箱 邹江,华中科技大学电信系 2.1 Matlab简介 简介 Matlab的首创者Cleve...
卷积神经网络CNN代码解析-matlab.doc
卷积神经网络CNN代码解析-matlab_计算机软件及应用_IT/计算机_专业资料。卷积神经网络 CNN 代码解析。matlab版本,代码来自DeepLearnToolbox。 ...
不错的Matlab神经网络工具箱实用指南.pdf
Matlab神经网络工具箱实用指南文章摘要:第一章是神经网络的基本介绍,第二章包括了由工具箱指定的有关网络结构和符号的基本材料以及建立神经网络的一些基本函数,...
参考资料-Matlab_图文.ppt
参考资料-Matlab - matlab关于神经网络中的应用... 参考资料-Matlab_工学_高等教育_教育专区。matlab关于神经网络中的应用 课后阅读资料 Matlab与神经网络工具箱 Matlab...
bp神经网络及matlab实现.doc
bp神经网络及matlab实现_计算机软件及应用_IT/计算机_专业资料。bp 神经网络及 matlab 实现分类: 算法学习 2012-06-20 20:56 66399 人阅读 评论(28) 收藏 举报...
8神经网络讲义第8章.ppt
百度文库 专业资料 IT/计算机 计算机软件应用上传文档支持以下设备:扫二维码下载...8神经网络讲义第8章 59页 免费 MATLAB神经网络工具箱中的... 53页 免费如...
Matlab-神经网络工具箱_图文.ppt
Matlab-神经网络工具箱_信息与通信_工程科技_专业...源文件路径名不能是汉 字,否则导致读取文件...
基于MATLAB神经网络工具箱的线性神经网络实现.pdf
基于MATLAB神经网络工具箱的线性神经网络实现_数学_自然科学_专业资料。基于MATLAB...下面给出线性神经网络的结构及模型: 图 1 给出了单个神经元模型 (Adaline) ...
bp神经网络MATLAB程序.doc
bp神经网络MATLAB程序_计算机软件应用_IT/计算机_专业资料。bp神经网络的建立与验证过程 %清空环境变量 clc clear %读取数据 a=xlsread('F:\4.数据挖掘讲义...
Matlab中各种神经网络的使用示例.doc
Matlab中各种神经网络的使用示例_计算机软件及应用_IT/计算机_专业资料。还在为如何使用matlab中的神经网络烦恼吗?看看这个吧 Matlab 中各种神经网络的使用示例 %通用...
人工神经网络_matlab工具箱_图文.ppt
人工神经网络_matlab工具箱_数学_自然科学_专业资料。模式识别讲义第5章 人工神经网络 matlab神经网络工具...
基于matlab和神经网络的数字识别.doc
基于matlab神经网络的数字识别_IT/计算机_专业资料。基于 matlab神经网络的数字识别摘 要:针对 10 个数字的识别问题,本文利用 BP 神经网络进行了实验,取得 ...
新版Matlab中神经网络训练函数Newff的使用方法.doc
新版Matlab神经网络训练函数Newff的使用方法_计算机软件及应用_IT/计算机_专业资料。新版 Matlab神经网络训练函数 Newff 的使用方法一、 介绍新版 newff Syntax ...