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

神经网络-(2)Matlab与神经网络工具箱wu_图文

第2 章 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。现在已有7.0,8.0或更高的版本
2

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) 神经网络工具箱 最优化工具箱(Optimization toolbox) 数据库工具箱(Database toolbox) 网络工具箱(Matlab WebServer)等。
3

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

4

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命令
5

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

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命令来进 行修正。
7

例:
>>A=[1,2,3;4,5,6;7,8,9] >>B=[9,8,7;6,5,4;3,2,1] >>C=A+B C= 10 10 10 10 10 10 10 10 10
8

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

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

10

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

经典集合论及其 MATLAB 求解
集合论是现代数学的基础 集合:一些事物的全体,而其中每一个事 物均称为集合中的一个元素。 可枚举集合:该集合中的所有元素均可以 一一列出的集合

12

集合表示举例

13

MATLAB 下的集合运算函数
d

key=1,a属于B;否则为0
14

【例10-1】已知

对这些集合进行各种运算 并验证 各种运算,并验证 各种运算

15

逐一判断A的每一元素是否属于B

16

【例10-2】

试验证另一分配律

17

并集:

交集:

验证分配律:

18

2.5 Matlab的控制语句 的控制语句
2.5.1 Matlab的循环语句结构 的循环语句结构
初值S1:步长S3:终值S2 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时应注意这一点。
19

求取S1的值 求取 的值=>i 的值

求取S2的值 求取 的值

i在S1、S2之间 在 、 之间
是 循环体语句



结束循环

i+S3=>i

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

20

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

条件式成立? 是 执行循环体语句



循环结束

while语句的框图 语句的框图
21

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

条件式成立?
是 否

执行条件块语句组 执行条件块语句组

结构框图
22

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

复杂的条件结构 if(条件式) 条件块语句组1 else 条件语句组2 end

是 条件



语句组1

语句组2

23

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

条件1



条件2 是

否 否

条件n 是

语句1

语句2

语句n

语句n+1

24

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

2.6.2 Matlab变量的管理 变量的管理
size(A)得到A的维数,包括行数和列数 行数和列数,此时A是矩阵; 行数和列数 length(A) 得到A的长度,此时A是向量 是向量; 是向量 工作空间有哪些变量名; who 查看当前工作空间 工作空间 whos 了解这些变量的具体细节 变量的具体细节,包括名称 名称(name),大小 变量的具体细节 名称 (size),元素数(element),字节数(bytes)等 clear 删除变量 删除变量; save 文件名 变量列表 其它选项 :将工作空间的变量保存到 将工作空间的变量保存到 文件中。 文件中 -assii:ASCII码格式 load 文件名:将save命令存储起来的数据再从文件调入工作 调入工作 空间。 空间

26

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

27

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

29

模糊集合
经典集合: 一个事物a 要么就属于集合A,要么 就不属于集合A 美国控制论专家 Lotfi A Zadeh 教授, 1965 Zadeh 教授指出,当问题的复杂性增加时, 精确的描述将失去意义,而有意义的描 述将失去精度。
30

10.1.2 隶属度与模糊化
钟形隶属度函数
数学函数:

MATLAB 求解函数:

31

【例10-3】 绘制出不同参数组合下的钟形隶属度 函数曲线。 递归增加

b=2;

不断绘出(x,y)点,画出曲线
32

Gauss 隶属度函数
数学函数:

MATLAB 求解函数:

33

【例10-5】 绘制不同参数下 Gauss 隶属度

34

Sigmoid 型隶属度函数
数学函数:

MATLAB 求解函数:

35

【例10-6】 绘制 Sigmoid 隶属度函数
计算一部分

36

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

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

2.8.3 BP网络函数 网络函数 Initff:初始化不超过3层的前向网络; Simuff:仿真不超过3层的前向网络; Trainbp,trainbpx,trainlm: 训练BP: Trainbp:最慢; trainbpx:次之; trainlm:速度最快,但需要更多的存储空间 Learnbp: 学习规则
39

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

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

2.9 Matlab编程举例 编程举例
作业: 分块矩阵求逆法: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。

41

根据上述算法,计算: 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】
42



分块矩阵求逆的程序是: a11=[2,1,4;3,0,-1;2,3,4]; a12=[-2,-1,-4;-3,0,1;-2,-3,-4]; a21=[4,2,8;6,0,-2;4,6,8]; a22=[6,3,12;9,0,-3;6,9,12]; a=[a11,a12;a21,a22]; b11=zeros(3);b12=zeros(3);//3*3的零矩阵 b21=zeros(3);b22=zeros(3); b22=inv(a22-a21*inv(a11)*a12); b12=-inv(a11)*a12*b22; b21=-b22*a21*inv(a11); b11=inv(a11)-b12*a21*inv(a11); b=[b11,b12;b21,b22];
43

结果是 B=[ 0.0643 0.1714 -0.0214 0.0214 0.0571 -0.0071 -0.3000 0.0000 0.3000 -0.1000 0 0.1000 0.1929 -0.0857 -0.0643 0.0643 -0.0286 -0.0214 -0.0429 -0.1143 0.0143 0.0214 0.0571 -0.0071 0.2000 0 -0.2000 -0.1000 0 0.1000 -0.1286 0.0571 0.0429 0.0643 -0.0286 -0.0214]

44


相关文章:
神经网络-(2)Matlab与神经网络工具箱_图文.ppt
神经网络-(2)Matlab与神经网络工具箱_计算机软件及应用_IT/计算机_专
MATLAB神经网络工具箱中的神经网络模型_图文.ppt
MATLAB神经网络工具箱中的神经网络模型_理学_高等教育_教育专区。神经网络 MATLAB神经网络工 具箱中的神经网络 模型 神经网络工具箱简介 ? ? MATLAB 7对应的神经...
医学-神经网络Matlab和神经网络工具箱_图文.ppt
医学-神经网络Matlab和神经网络工具箱 - Matlab与神经网络工具箱 2.1 Matlab简介 Matlab的首创者Cleve Moler博士在数值分析,特 别是在是指线性代数的领域...
MATLAB 神经网络工具箱 神经网络模型_图文.ppt
MATLAB神经网络神经网络工 具箱中的神经网络 模型 神经网络工具箱简介 MATLAB 7对应的神经网络工具箱的版本为 Version 4.0.3,它以神经网络理论为基础,利用 ...
2MATLAB函数与神经网络工具箱_图文.ppt
2MATLAB函数与神经网络工具箱 - MATLAB函数与神经网络工具箱 编者 Outline ? 1.MATLAB常用命令 ? 2.矩阵生成和基本运算 ? 3.数学函数 ? 4.图形相关函...
第2章MATLAB神经网络工具箱函数_图文.ppt
2MATLAB神经网络 工具箱函数 2.1 MATLAB神经网络工具箱函数 2.2 MATLAB神经网络工具箱的图形用户界面 1 利用神经网络能解决许多用传统方法无法解 决的问题...
2-2MATLAB神经网络工具箱中的神经网络模型_图文.ppt
2-2MATLAB神经网络工具箱中的神经网络模型_计算机软件及应用_IT/计算机_专业资料。matlabANN MATLAB神经网络工 具箱中的神经网络 模型 Matlab的首创者Cleve Moler...
MATLAB神经网络工具箱及实验要求_图文.ppt
神经网络| 工具箱| MATLAB神经网络工具箱及实验要求_工学_高等教育_教育专区。...利用感知器进行分类(1) 一个经过训练的感知器对5个输入向量进行分类(2类)。 ...
2.MATLAB函数与神经网络工具箱_图文.ppt
2.MATLAB函数与神经网络工具箱 - MATLAB函数与神经网络工具箱 编者 Outline 1.MATLAB常用命令 ? 2.矩阵生成和基本运算 ? 3.数学函数 ? 4.图形相关函...
神经网络与MATLAB神经网络工具箱liu_图文.ppt
神经网络MATLAB神经网络 工具箱一、神经网络的背景、发展和现状 神经网络结构BP神经网络 三、神经网络的应用与实例 一、神经网络的背景、发展和现状 ? 1....
Matlab神经网络工具箱_图文.ppt
Matlab神经网络工具箱_计算机软件及应用_IT/计算机_专业资料。MATLAB神经网络工具箱 人工神经网络的特点自学习自适应 并行处理 分布表达与计算 人工神经网络的应用 ? ...
人工神经网络-第1B章Matlab与神经网络工具箱资料_图文.ppt
人工神经网络-第1B章Matlab与神经网络工具箱资料 - 第一章B Matlab神经网络工具箱 何东健 2.1 Matlab简介 Matlab的首创者Cleve Moler博士在数值分析...
第02讲Matlab与神经网络工具箱-精选文档_图文.ppt
第02讲Matlab与神经网络工具箱-精选文档 - 第02讲 Matlab与神经网络工具箱 电信系 邹江 2.1 Matlab简介 Matlab的首创者Cleve Moler博士在数值分析,...
Matlab与神经网络工具箱_图文.ppt
Matlab与神经网络工具箱 - 第02讲 Matlab与神经网络工具箱 2.1
MATLAB神经网络工具箱中的神经网络模型(精)_图文.doc
MATLAB神经网络工具箱中的神经网络模型(精)_其它_职业教育_教育专区。MATLAB 文档贡献者 三年五年158 贡献于2018-09-14 1 /2 相关文档推荐 ...
MATLAB神经网络工具箱(函数拟合)_图文.ppt
MATLAB神经网络工具箱(函数拟合)_互联网_IT/计算机_专业资料。MATLAB神经网络工具...和目标向量来画输入向量的图像 Step 2 建立神经网络 MATLAB提供函数newp来创建一...
matlab神经网络工具箱创建神经网络_图文.doc
matlab神经网络工具箱创建神经网络_计算机软件及应用_IT/计算机_专业资料。matlab ...(1:9,2)=1; bpnet=newff(pr,[12 4],{'logsig', 'logsig'}, '...
MATLAB神经网络工具箱_图文.ppt
MATLAB神经网络工具箱_工学_高等教育_教育专区。MATLAB神经网络工具箱 介绍及实验...目标向量来画输入向量的图像 Step 2 建立神经网络 MATLAB提供函数newp来创建一...
Matlab_神经网络工具箱(GUI界面的使用方法)(看完)_图文.ppt
Matlab_神经网络工具箱(GUI界面的使用方法)(看完)_计算机软件及应用_
Matlab_神经网络工具箱(GUI界面的使用方法)(看完).._图文.ppt
Matlab_神经网络工具箱(GUI界面的使用方法)(看完).. - 神经网络工具箱介绍 2018/9/24 1 MATLAB 2009b的神经网络工具箱neural network t...