本书是MATLAB语言应用系列书之一.MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,它的推出得到了各个领域专家学者的广泛关注,其强大的扩展功能为用户提供了强有力的支持;它集数学计算、图形计算、语言设计和神经网络等30多个工具箱于一体,具有极高的编程效率.\r\n\r\n 本书根据作者实际使用MATLAB的经验并结合大量的示例,以图文并茂的形式循序渐进地介绍了MATLAB5.X的主要功能、函数命令及一些使用技巧,并介绍了比较复杂的数值计算和图形用户界面的编写方法.本书重点介绍了神经网络的基本原理和学习训练算法,详细介绍了由MATLAB5.3(介绍时兼顾MATLAB5.1版和MATLAB5.2版)提供的神经网络工具箱函数的使用方法,并结合作者在科研和指导研究生工作中总结的应用示例,说明了基于MATLAB进行神经网络设计与应用的方法.本书可作为高等学校计算机、电子工程、控制工程、信息与通信科学、数学、机械工程和生物医学工程等专业师生的参考教材,对从事上述领域工作的广大科技人员具有重要的参考价值,对学习神经网络及其仿真技术的读者来说,也是一本极为有用的入门指导书。\r\n
\r\n
第一章 概论 \r\n\r\n 1. 1 MATLAB软件包的特征 \r\n\r\n 1. 1. 1 MATLAB语言(软件包)的发展过程 \r\n\r\n 1. 1. 2 MATLAB的功能 \r\n\r\n 1. 1. 3 MATLAB的工具箱 \r\n\r\n 1. 2 MATLAB的系统需求和安装 \r\n\r\n 1. 2. 1 MATLAB的系统需求 \r\n\r\n 1. 2. 2 MATLAB的安装 \r\n\r\n 1. 3 神经网络发展和应用 \r\n\r\n 1. 3. 1 人工神经网络发展的历史回顾 \r\n\r\n 1. 3. 2 神经网络的应用 \r\n\r\n 1. 3. 3 神经网络的学习方法 \r\n\r\n 1. 4 面向MATLAB工具箱的神经网络设计概述 \r\n\r\n 1. 4. 1 MATLAB神经网络工具箱 \r\n\r\n 1. 4. 2 神经网络技术的选取 \r\n\r\n 1. 4. 3 运用工具箱设计网络的原则和过程 \r\n\r\n 1. 5 本书的基本结构和内容概要 \r\n\r\n 第二章 MATLAB数值计算功能 \r\n\r\n 2. 1 矩阵与数组运算 \r\n\r\n 2. 1. 1 矩阵的建立 \r\n\r\n 2. 1. 2 矩阵和数组运算指令对照汇总 \r\n\r\n 2. 2 矩阵与数组函数 \r\n\r\n 2. 2. 1 基本数组函数 \r\n\r\n 2. 2. 2 基本矩阵函数 \r\n\r\n 2. 2. 3 几个易混淆的两种函数运算 \r\n\r\n 2. 3 关系运算和逻辑运算 \r\n\r\n 2. 3. 1 关系运算 \r\n\r\n 2. 3. 2 逻辑运算 \r\n\r\n 2. 4 矩阵的分解 \r\n\r\n 2. 4. 1 三角分解 \r\n\r\n 2. 4. 2 正交分解 \r\n\r\n 2. 4. 3 特征值分解 \r\n\r\n 2. 4. 4 奇异值分解 \r\n\r\n 2. 5 多项式 \r\n\r\n 2. 5. 1 多项式的表达和创建 \r\n\r\n 2. 5. 2 多项式的运算 \r\n\r\n 2. 6 数据分析 \r\n\r\n 2. 6. 1 基本统计函数指令 \r\n\r\n 2. 6. 2 协方差阵和相关阵 \r\n\r\n 2. 6. 3 有限差分和导数 \r\n\r\n 2. 6. 4 数据滤波 \r\n\r\n 2. 7 数值分析 \r\n\r\n 2. 7. 1 数值积分 \r\n\r\n 2. 7. 2 微分方程的数值解 \r\n\r\n 第三章 MATLAB符号处理 \r\n\r\n 3. 1 字符串 \r\n\r\n 3. 1. 1 字符数组 \r\n\r\n 3. 1. 2 字符的ASCII码转换 \r\n\r\n 3. 1. 3 创建二维的字符数组 \r\n\r\n 3. 1. 4 字符串中的单元数组 \r\n\r\n 3. 1. 5 字符数组与单元数组问的转换 \r\n\r\n 3. 1. 6 字符串比较 \r\n\r\n 3. 1. 7 判断字符串是否相等 \r\n\r\n 3. 1. 8 通过字符的运算来比较字符 \r\n\r\n 3. 1. 9 字符串中字符的分类 \r\n\r\n 3. 1. 10 查找与替换 \r\n\r\n 3. 1. 11 字符串和数值的相互转换 \r\n\r\n 3. 2 符号矩阵的运算 \r\n\r\n 3. 2. 1 符号矩阵的创建 \r\n\r\n 3. 2. 2 符号矩阵的加. 减. 乘和除运算 \r\n\r\n 3. 2. 3 符号矩阵的逆和除运算 \r\n\r\n 3. 2. 4 符号矩阵的幂运算 \r\n\r\n 3. 2. 5 符号矩阵的综合运算指令 \r\n\r\n 3. 2. 6 符号变量替换 \r\n\r\n 3. 2. 7 符号矩阵的分解 \r\n\r\n 3. 2. 8 符号微积分 \r\n\r\n 3. 2. 9 符号代数方程的求解 \r\n\r\n 3. 2. 10 符号微分方程的求解 \r\n\r\n 第四章 绘图 \r\n\r\n 4. 1 二维绘图 \r\n\r\n 4. 1. 1 plot \r\n\r\n 4. 1. 2 figure和subplot \r\n\r\n 4. 1. 3 绘图指令的开关控制 \r\n\r\n 4. 1. 4 标题与坐标轴的操作 \r\n\r\n 4. 2 三维绘图 \r\n\r\n 4. 2. 1 mesh \r\n\r\n 4. 2. 2 3D图形的颜色. 光线来源及图上标点的设定 \r\n\r\n 4. 2. 3 透视与视角的设置 \r\n\r\n 4. 3 图形句柄 \r\n\r\n 4. 3. 1 图形对象 \r\n\r\n 4. 3. 2 图形对象的句柄 \r\n\r\n 4. 3. 3 对象创建函数 \r\n\r\n 4. 3. 4 对象品性及其设置和查询 \r\n\r\n 4. 3. 5 实时动画的制作 \r\n\r\n 第五章 MATLAB的程序设计 \r\n\r\n 5. 1 MATLAB程序设计入门 \r\n\r\n 5. 1. 1 编缉程序和m文件的形式 \r\n\r\n 5. 1. 2 MATLAB的命令文件 \r\n\r\n 5. 1. 3 MATLAB的函数文件 \r\n\r\n 5. 2 参数与变量 \r\n\r\n 5. 2. 1 参数 \r\n\r\n 5. 2. 2 局部变量与全局变量 \r\n\r\n 5. 3 数据类型 \r\n\r\n 5. 4 程序结构 \r\n\r\n 5. 4. 1 顺序结构 \r\n\r\n 5. 4. 2 循环结构 \r\n\r\n 5. 4. 3 分支结构 \r\n\r\n 5. 5 程序流控制语句 \r\n\r\n 5. 5. 1 echo指令 \r\n\r\n 5. 5. 2 input, yesinput指令 \r\n\r\n 5. 5. 3 pause指令 \r\n\r\n 5. 5. 4 keyboard指令 \r\n\r\n 5. 5. 5 break指令 \r\n\r\n 5. 6 函数调用及变量传递 \r\n\r\n 5. 6. 1 函数调用 \r\n\r\n 5. 6. 2 参数传递 \r\n\r\n 5. 7 神经网络应用设计举例 \r\n\r\n 5. 7. 1 带有偏差单元的递归神经网络 \r\n\r\n 5. 7. 2 具有快速学习算法的补偿模糊神经网络 \r\n\r\n 第六章 感知器 \r\n\r\n 6. 1 感知器的原理 \r\n\r\n 6. 1. 1 感知器神经元模型 \r\n\r\n 6. 1. 2 感知器神经元网络的网络结构 \r\n\r\n 6. 1. 3 感知器神经网络的初始化 \r\n\r\n 6. 1. 4 感知器神经网络的学习规则 \r\n\r\n 6. 1. 5 感知器神经网络的训练 \r\n\r\n 6. 1. 6 感知器的局限性 \r\n\r\n 6. 1. 7多层感知器 \r\n\r\n 6. 2. 有关感知器的神经网络工具函数 \r\n\r\n 6. 2. 1 MATLAB中有关感知器的工具函数 \r\n\r\n 6. 2. 2 工具函数详解 \r\n\r\n 6. 3 感知器网络设计实例 \r\n\r\n 6. 3. 1 简单的分类问题 \r\n\r\n 6. 3. 2 多个感知器神经元的分类问题 \r\n\r\n 6. 3. 3 输入奇异样本对网络训练的影响 \r\n\r\n 6. 3. 4 标准化感知器学习规则 \r\n\r\n 6. 3. 5 线性不可分的输入向量 \r\n\r\n 第七章 线性神经网络 \r\n\r\n 7. 1 线性神经网络原理 \r\n\r\n 7. 1. 1 线性神经元模型 \r\n\r\n 7. 1. 2 线性神经网络的模型 \r\n\r\n 7. 1. 3 线性网络的初始化 \r\n\r\n 7. 1. 4 线性网络的学习规则 \r\n\r\n 7. 1. 5 线性网络的训练 \r\n\r\n 7. 2 有关线性网络的神经网络工具函数 \r\n\r\n 7. 2. 1 MATLAB中有关线性网络的工具函数 \r\n\r\n 7. 2. 2 工具函数详解 \r\n\r\n 7. 3 线性网络设计及应用举例 \r\n\r\n 7. 3. 1 线性网络设计实例 \r\n\r\n 7. 3. 2 线性网络应用实例 \r\n\r\n 第八章 BP网络 \r\n\r\n 8. 1 BP网络 \r\n\r\n 8. 1. 1 BP网络结构 \r\n\r\n 8. 1. 2 BP网络学习公式推导 \r\n\r\n 8. 2 MATLAB神经网络工具箱中的BP网络 \r\n\r\n 8. 2. 1 BP网络中的神经元模型 \r\n\r\n 8. 2. 2 BP网络结构 \r\n\r\n 8. 2. 3 MATLAB中有关BP网络的重要函数 \r\n\r\n 8. 3 BP网络的应用设计 \r\n\r\n 8. 3. 1 BP网络的训练过程 \r\n\r\n 8. 3. 2 BP网络的设计分析 \r\n\r\n 8. 4 BP算法的改进及其设计实例 \r\n\r\n 第九章 径向基函数网络 \r\n\r\n 9. 1 引言 \r\n\r\n 9. 2 径向基函数神经网络 \r\n\r\n 9. 3 径向基函数神经网络的工具箱函数 \r\n\r\n 9. 3. 1 网络设计函数 \r\n\r\n 9. 3. 2 权函数 \r\n\r\n 9. 3. 3 网络输入画数 \r\n\r\n 9. 3. 4 radbas(径向基)传递函数 \r\n\r\n 9. 3. 5 mse均方误差性能函数 \r\n\r\n 9. 3. 6 变换函数 \r\n\r\n 9. 4 径向基函数网络的设计与应用 \r\n\r\n 9. 4. 1 径向基函数网络的设计及在函数逼近上的应用 \r\n\r\n 9. 4. 2 径向基函数网络与模糊理论的结合及应用 \r\n\r\n 第十章 自组织竞争人工神经网络 \r\n\r\n 10. 1 两种联想学习规则 \r\n\r\n 10. 1. 1 Instar学习规则 \r\n\r\n 10. 1. 2 Outstar学习规则 \r\n\r\n 10. 2 基本竞争型人工神经网络 \r\n\r\n 10. 3 自组织特征映射神经网络 \r\n\r\n 10. 3. 1 自组织特征映射网络的结构 \r\n\r\n 10. 3. 2 自组织映射网络的学习及工作规则 \r\n\r\n 10. 4 自组织竞争人工神经网络工具箱函数 \r\n\r\n 10. 5 网络设计实例 \r\n\r\n 10. 5. 1 竞争学习网络设计实例 \r\n\r\n 10. 5. 2 一维空间自组织特征映射网络设计实例 \r\n\r\n 第十一章 回归网络 \r\n\r\n 11. 1 引言 \r\n\r\n 11. 2 回归网络 \r\n\r\n 11. 2. 1 Hopfield网络 \r\n\r\n 11. 2. 2 Elman神经网络 \r\n\r\n 11. 3 回归网络的工具箱函数 \r\n\r\n 11. 3. 1 Hopfield网络的工具箱函数 \r\n\r\n 11. 3. 2 E1man网络的工具箱函数 \r\n\r\n 11. 4 应用举例 \r\n\r\n 附录A MATLAB(5. 1版)神经网络工具箱函数 \r\n\r\n 附录B MATLAB(5. 3版)神经网络工具箱函数 \r\n
\r\n
MATLAB仿真软件自1984年由美国的MathWorks公司推出以来, 越来越引入注目, 1993年后又相继推出了MATLAB4. X. MATLAB5. X等基于Windows系统的版本, 从而可以充分利用Windows系统资源. MATLAB现已成为国际上公认的最优秀的数值计算和仿真分析软件. 其软件包的主要特点有:1)它是一种解释性语言, 采用了工程技术的计算语言, 几乎与数学表达式相同, 语言中的基本元素是矩阵, 它提供了各种矩阵的运算和操作, 并且具有符号计算. 数字和文字统一处理. 离线和在线计算等功能, 2)具有较强的绘图功能, 计算结果和编程可视化, 3)具有很强的开放性, 针对不同的应用学科, 在MATLAB平台之上推出了30多个应用的工具箱.
MATLAB的这些特点使它获得了对应用学科的极强的适应力, 它推出不久, 很快就成为应用学科计算机辅助分析. 设计. 仿真和教学不可缺少的软件, 并已应用在生物医学工程. 信号分析. 语音处理. 图像识别. 航天航海工程. 统计分折. 计算机技术. 控制和数学等领域中.
自20世纪80年代初兴起第二次神经网络热潮以来, 神经网络以它特有的自学习. 自组织. 联想记忆和并行处理等功能, 被应用到众多领域, 在美国圣地亚哥举行的神经网络国际学术讨论会期间, 曾发出一个不同凡响的宣言, 声称:“人工智能已亡, 神经网络万岁”. 目前, 神经网络理论已成为解决某些问题的手段和方法, 且这类问题在利用传统方法时或者无法解决, 或者在处理上尚存困难. 但利用神经网络进行解决问题和设计的时候, 必定会涉及到大量的有关数值计算等问题, 这其中既包括一般的矩阵计算问题, 如微分方法求解. 优化问题等, 也包括许多模式的正交化. 最小二乘法处理和极大极小匹配等求解过程等等. 尽管现代数值计算理论已经发展得很完善, 多数计算问题都有高效的标准解法, 但是利用计算机对神经网络模型进行仿真和辅助设计时, 仍然是件很麻烦的事情. 首先, 编制程序是很繁复的工作, 需要不断找出错误, 反复调试, 其次, 人机界面的设计很难做到令人满意, 计算结果缺乏强有力的图形输出支持, 更重要的是, 针对各种特定问题只能编制特定的程序求解, 耗费了大量的人力和物力. 在这种情况下, 许多应用者往往都乐意选用现成的仿真软件. 在微机日益普及. 性能日益提高. 广大用户都已转向基于图形用户界面(GUI)的今天, MATLAB软件包为广大科技工作者带来了巨大的便利, 正越来越受到青睐.
神经网络工具箱是MATLAB环境下所开发出来的许多工具箱之一, 它是以人工神经网络理论为基础, 用MATLAB语言构造出典型神经网络的激活函数, 如S型. 线性. 竞争层. 饱和线性等激活函数, 使设计者对所选定网络输出的计算, 变成对激活函数的门用. 另外, 根据各种典型的修正网络权值的规则, 加上网络的训练过程, 用MATLAB疆写出各种网络设计与训练的子程序, 网络的设计者则可以根据自己的需要去调用工具箱中有关神经网络的设计训练程序, 使自己能够从繁琐的编程中解脱出来, 集中精力去思考问题和解决问题, 从而提高效率和解题质量.
本书共分十一章:第一章为概论. 第二章叙述了MATLAB数值矩阵的各种运算. 功能函数的使用方法. 矩阵分解. 线性方程的求解. 多项式运算. 数据分析和数值信号处理等功能. 第三章主要论述了MATLAB符号矩阵的运算. 分解和微积分及微分方程的求解等内容. 第四章介绍MATLAB的2D. 3D绘图方法. 图形的控制与表现. 色彩控制. 动态图形及图形的输出和打印. 图形句柄的操作等功能和使用技巧. 第五章叙述M文件程序结构. 数据结构. 变量定义和程序流控制. 函数调用. 数据的输入输出, 本章还给出一些MATLAB语言设计的神经网络模型和训练的例子(如BP网. 模糊神经网络等). 从第六章开始主要介绍MATLAB工具箱的内容, 并同时给出一些应用分析设计例子. 其内容安排如下:第六章主要论述了感知器神经之模型. 网络结构. 学习规则. 训练过程及感知器的局限性, 介绍了MATLAB中有关感知器的工具函数, 给出了一些感知器的设计和应用实例. 第七章主要描述了线性神经网络的网络结构, 学习规则和训练过程, 论述了MATLAB中与线性网络相关的工具函数, 最后给出了线性神经网络的设计及在预测和系统辨识应用中的几个实例. 第八章论述了BP网络结构. 学习规则和训练过程, 分析改进BP网的算法, MATLAB工具箱与BP网相关的函数, 探讨一些如改进BP网的设计等扩展性的应用问题, 给出BP网络的设计和系统建模中的应用实例. 第九章为径向基函数网络, 描述径向基函数网络结构. 理论和训练过程, MATLAB工具箱与径向基函数网络相关的函数及各种径向基网络的设计与仿真分桥, 给出径向基函数网络的设计和在状态观测器设计中的应用. 第十章为自组织竞争人工神经网络, 叙述几种联想学习规则, 自组织网络结构和它们的学习训练过程, 然后介绍MATLAB工具箱与自组织竞争网络相关的函数, 最后给出这些网络的设计和在特征映射方面的几个实例. 第十一章为回归网络, 叙述了Hopfield网络. Elman网络学习规则和训练过程, 介绍MATLAB工具箱与回归网络相关的函数. 书末还给出MATLAB神经网络工具箱函数一览表.
作者努力在下述方面形成本书特点:
1)一般归纳和算例并重. 本书对功能. 指令函数做一般描述的同时, 提供几百个算例. 书中所有算例的程序. 指令和函数调用所得的结果, 都经过作者实践, 给读者以正确真实. 可重复的参照样本, 减少读者对新知识的不确定感.
2)系统论述和快速查阅兼顾. 本书所有章节构成对MATLAB各大功能或神经网络模型工具箱的系统讲述, 但就每章内容而言, 它们相对独立, 因此, 本书既可系统学习, 也可随时查阅. 此外, 本书既有MATLAB语言程序设计的基础知识, 又有神经网络工具箱相关的理论, 从而方便读者阅读.
3)简单易学. 以范例为主, 图文为辅, 通过标准算法和神经网络模型的例子, 一步一步带领读者进入神经网络工具箱. 考虑到国内不同地区. 不同层次的读者, 介绍时兼顾MATLAB5. 1版和MATLAB5. 2版.
本书第一. 二. 三. 四. 五. 八. 九和十一章由闻新. 周露共同编写, 第六. 七章由王丹力编写, 第十章和4. 3节. 5. 7. 2节由熊晓英编写. 全书由闻新统稿.
在本书编写过程中得到了许多人的帮助, 周烨. 姜明. 唐宁. 俞悦华. 王卫东. 钱芳. 宋建强验证了本书中的部分仿真实验结果, 陈桂明博士提供了MATLAB5. 3版本的有关资料, 金宏博士为本书的编写提供了许多宝贵的建议. 在此, 一并向他们表示感谢. 此外, 还要感谢科学出版社的鞠丽娜老师为作者出版本书创造了机会和为编辑出版工作付出了辛勤劳动. 最后, 还要感谢张洪钱教授对本书出版给予的大力支持与帮助.
由于作者的水平所限, 书中尚存在一些不足和错误之处, 欢迎读者批评指正.
作 者
2000年3月于北京中关村
无封面