《MATLAB高效编程技巧与应用:25个案例分析》_第1页
《MATLAB高效编程技巧与应用:25个案例分析》_第2页
《MATLAB高效编程技巧与应用:25个案例分析》_第3页
《MATLAB高效编程技巧与应用:25个案例分析》_第4页
《MATLAB高效编程技巧与应用:25个案例分析》_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《MATLAB高效编程技巧与应用:25个案例分析》[i=s]本帖最后由rocwoods于2010-6-2515:31编辑[/i][font=新宋体][size=5][b]注:书籍勘误汇总贴在16楼。[/b][/size][/font][font=新宋体]书籍月底前估计就可以交付印刷了,下月就能上市。说实话,时间比较紧,平时工作比较忙,这本书都是利用晚上和周末的时间挤出来的,多半年的时间里,习惯了晚上2点以后睡觉,没有休息日,春节几天除了大年三十晚上,几乎每个晚上都熬夜到3点后。尽管如此,还是难保书中会有错误以及不足之处,敬请各位读者批评指正,帮我一起完善书籍。[/font][font=新宋体]附上前言+简介+目录:[/font][font=新宋体][code]《MATLAB高效编程技巧与应用:25个案例分析》前言+简介+目录内容简介本书针对MATLAB新版本一些特有的编程思想、高效的编程方法、新技术进行了较为详细的讨论,在此基础上,以大量案例介绍了MATLAB在科学计算中的应用。内容包括:MATLAB快速入门、重新认识矢量(向量)化编程、MATLAB处理海量数据、匿名函数类型介绍、嵌套函数类型介绍、积分以及积分方程案例、优化及非线性方程(组)求解案例、人脸图像压缩与重建案例、有关预测分类的案例、常微分方程(组)求解案例、层次分析法及其MATLAB实现、定时器及其应用。本书可以作为高等院校本科生、研究生MATLAB课程的辅助读物,也可作为从事科学计算和算法研究的科研人员的参考用书。刖言当今社会,数学作为一切学科基础地位的特征越来越明显,其重要性不言而喻。MATLAB从诞生那一天起,就为数学和实际应用之间架起了一座桥梁,如今经过20多年的发展,这座桥变得越来越雄伟、壮观。现如今,从国外高校到国内高校,从国外期刊到国内期刊,早已随处可见MATLAB应用的身影。更重要的是,近几年来,国内许多高新技术公司也开始普遍应用MATLAB来进行算法前期开发、验证。如今国内MATLAB相关书籍已经有很多,这些书籍极大地推动了MATLAB在国内的普及。但是MATLAB发展迅速,目前每年推出两个版本,现有书籍对MATLAB高版本一些特有的编程思想、高效的编程方法、新技术鲜有专门详细的讨论。很多教材还在介绍老版本的MATLAB里的技术、方法。譬如inline函数对象,现如今TheMathworks公司早已不推荐使用。本书力图以一种全新的模式、从各个角度将MATLAB呈现给读者。全书共分两部分,第一部分是有关MATLAB高效编程的一些方法、原则介绍,第二部分是案例分析。关于高效编程,本书详细讨论了传统的矢量化编程原则在新旧版本的MATLAB下的异同、MATLAB如何处理海量数据、匿名函数和嵌套函数灵活、强大、富有弹性的功能。在案例分析部分,一共介绍了25个案例,这25个案例都来自作者平时的研究积累以及长期以来帮助网友解决的典型问题。案例涉及复杂的多重积分、积分方程、非线性方程求解、全局优化、遗传算法、Benders分解算法、人脸图像压缩与重建、灰色分析、距离判别法与Bayes判别法在分类中的应用、支持向量机、各类型的常微分方程(组)求解、层次分析法以及定时器的应用等等。互联网的兴起催生了很多专门讨论MATLAB相关技术的论坛、社区,这些社区集中了来自社会各行各业、高校各学科各专业的MATLAB使用者、爱好者。这些社区往往能够紧跟MATLAB的发展,并对其最新的技术及时作出反应。作者从2005年开始就长期活跃在国内一些成立较早的MATLAB论坛社区,如研学论坛、仿真科技论坛、振动论坛的MATLAB版面参与讨论问题,并发表了一系列技术精华帖。MATLAB中文论坛成立后更是经常与各种程度的MATLAB使用者打交道,熟悉MATLAB使用者最容易遇到的一些问题,以及一些MATLAB软件最新的技术。本书可以看成是作者对这些经验的提取与总结。作者上学期间一度十分痛恨数值计算这门课程,因为为了应付考试要不得不去背一些算法流程、公式,并手动计算结果,这是非常枯燥和繁琐的。后来180度转弯喜欢数值计算,完全是因为MATLAB。转机就是大二下学期的数学建模,必须要借助MATLAB完成。当用MATLAB轻而易举的胡乱拟合了一个20多阶的多项式来近似一堆数据时,我被完全震撼了。这种震撼是发自内心的,尤其是忍受了长时间无比枯燥的手动计算后而发自肺腑的。当然现在看来,那时候的拟合毫无技术含量,毫无意义。但也正是这个开始促使作者不断去探索MATLAB,一开始没有电脑,就去看书,在图书馆里看各种有关MATLAB的书。随着看的书的增多,MATLAB在脑子里也越来越清晰了,对它的热爱也越来越加深了。后来05年在公司实习通过查资料偶然进入论坛这片新天地,蓦然发现居然有那么多相同爱好的人,从此一发不可收拾,便开始了和一帮志同道合的朋友切磋提高的过程。特别感谢北京航空航天大学出版社陈守平编辑,在她一再支持与鼓励下,作者决定接受挑战,完成本书创作。在本书的写作过程中,作者得到了天津科技大学谢中华老师xiezhh、MATLAB中文论坛创始人math(张延亮)和仿真科技论坛前总版主bainhome(马良)的支持与鼓励,在此,作者向他们表示最真诚的谢意。最后,还要感谢我的家人朋友,在他们无微不至的关心与支持下,我顺利完成本书的写作,在此,向他们表示最衷心的感谢。由于作者水平有限,书中难免出现错误,恳请广大读者和同行批评指正,作者不胜感激。吴鹏2010年3月于北京市吕平区目录第1章MATLAB快速入门1.1熟悉MATLAB环境MATLAB的启动MATLABdesktopMATLAB程序编辑器(Editor)1.2MATLAB牛刀小试Hello,MATLAB1.2.2万能计算器用法一个“冏〃的动画1.2.4编写第一个MATLAB函数1.2.5用MATLAB运行Windows系统命令1.2.6用MATLAB发送电子邮件M语言介绍1.3.1数值和变量MATLAB程序流程控制1.4学习MATLAB的方法第2章 重新认识矢量(向量)化编程2.1矢量化编程流行的一些观点2.2重新认识循环2.2.1高版本MATLAB对循环结构的优化2.2.2选择循环还是向量化2.3提高代码效率的方法2.3.1预分配内存2.3.2选用恰当的函数类型2.3.3选用恰当的数据类型2.3.4减少无谓损耗一一给一些函数“瘦身〃2.3.5变''勤拿少取〃为“少拿多取〃2.3.6循环注意事项2.3.7逻辑索引和逻辑运算的应用2.4应用高版本向量化函数提高开发效率accumarray函数arrayfun函数bsxfun函数cellfun函数spfun函数structfun函数第3章MATLAB处理海量数据3.1处理海量数据时遇到的问题3.1.1什么是海量数据3.1.2经常遇到的问题3.2有效设置增加可用内存3.2.1系统默认下内存分配情况打开Windows3GB开关3.3减小内存消耗注意事项3.3.1读取数据文件3.3.2数据存储第4章匿名函数类型4.1什么是匿名函数4.1.1匿名函数的基本定义4.1.2匿名函数的种类4.2 匿名函数应用实例4.2.1匿名函数在求解方程中应用4.2.2匿名函数在显式表示隐函数方面的应用4.2.3匿名函数在求积分区域方面的应用4.2.4匿名函数在求数值方面的应用4.2.5匿名函数和符号计算的结合4.2.6匿名函数在优化中的应用4.2.7匿名函数在求积分区域方面的应用4.2.8匿名函数和cell数组的结合应用第5章 嵌套函数类型5.1什么是嵌套函数5.1.1嵌套函数的基本定义5.1.2嵌套函数种类5.2嵌套函数的变量作用域5.3嵌套函数彼此调用关系5.3.1主函数和嵌套函数之间5.3.2不同的嵌套函数之间5.3.3嵌套函数调用关系总结5.4嵌套函数应用实例5.4.1嵌套函数在求解积分上限中的应用5.4.2嵌套函数在GUI中的应用5.4.3嵌套函数在3D作图中的一个应用5.4.4嵌套函数表示待优化的目标函数5.4.5嵌套函数在表示微分方程方面的应用第6章积分以及积分方程案例6.1案例1:一般区域二重、三重积分MATLAB计算方法6.1.1概要一般区域二重积分的计算一般区域三重积分的计算6.2案例2:被积函数含有积分项的一类积分的一些求解方法6.2.1网格求解法6.2.2插值求解法RBF神经网络逼近法dblquad调用RBF神经网络法dblquad+arrayfun方法quad2d+arrayfun方法6.3案例3:一般区域N重积分6.4案例4:蒙特卡洛法计算N重积分6.4.1概述6.4.2基本的蒙特卡洛积分法6.4.3等分布序列的蒙特卡洛法6.5案例5:第二类FREDHOLM积分方程数值求解6.5.1概述6.5.2具体解法6.5.3实例6.6案例6:第一类FREDHOLM积分方程数值求解6.6.1概述6.6.2一类可以化为第二类Fredholm积分方程的第一类Fredholm积分方程求解方法6.6.3第一类Fredholm积分方程的直接数值积分解法讨论6.7案例7:第二类VOLTERRA积分方程数值求解6.7.2具体解法6.7.3实例6.8案例8:第一类VOLTERRA积分方程数值求解6.8.1概述6.8.2转化为第二类Volterra积分方程6.8.3实例第7章MATLAB优化及非线性方程(组)求解案例7.1案例9:全局最优化的讨论7.1.1随机行走法寻优介绍7.1.2改进的随机行走法寻优7.2案例10:FSOLVE求非线性方程组的应用7.2.1概述7.2.2四元非线性方程组的求解7.2.3九元非线性方程组的求解7.2.4非线性积分方程的求解7.3案例11:渐变光波导方程求解7.3.2二维渐变光波导方程作图7.4案例12:遗传算法在复杂系统可靠度和冗余度分配优化中的应用7.4.1问题提出7.4.2数学模型7.4.3遗传算法简介7.4.4实例分析7.5案例13:遗传算法在车间设备布局优化中的应用7.5.1问题提出7.5.2数学模型7.5.3算法步骤7.5.4求解代码7.6案例14:应用BENDERS分解算法求解混合0-1规划7.6.1概述Benders分解算法7.6.3实例分析第8章案例15:人脸图像压缩与重建8.1概述8.2基本的PCA方法实现人脸图像压缩与重建K-L变换8.2.2特征向量的选取2DPCA方法实现人脸图像压缩与重建8.3.1概述2DPCA算法介绍8.3.3图像压缩(特征提取)8.3.3图像重建MATPCA方法实现人脸图像压缩与重建8.4.1概述MatPCA算法MODULEPCA方法实现人脸图像压缩与重建8.5.1概述ModulePCA算法算法在MATLAB平台上的实现8.6.1概述基本PCA与2DPCA和MatPCA方法GUIModulePCA方法GUI第9章有关预测分类的案例9.1.2引言9.1.3灰色数据融合预测算法与灰色关联度9.1.4实例分析9.2案例17:距离判别法与BAYES判别法在分类中的应用9.2.1概述9.2.2判别方法GUI9.2.3判别方法GUI应用举例9.3案例18:支持向量机的应用9.3.1概述9.3.2支持向量机介绍9.3.3MATLAB所依据的支持向量机模型9.3.4支持向量机实现图像分割9.3.5支持向量机实现手写体数字识别第10章常微分方程(组)求解案例10.1案例19:常微分方程(组)解析求解案例概述dsolve函数dsolve函数求解实例10.2数值求解常微分方程函数10.2.1概述10.2.2初值问题求解函数10.2.3延迟问题以及边值问题求解函数10.2.4求解前准备工作10.3案例20:非刚性/刚性常微分方程初值问题求解10.3.1概述10.3.2非刚性问题举例10.3.3刚性问题举例10.4案例21:隐式微分方程(组)求解10.4.1概述10.4.2利用solve函数利用fzero/fsolve函数10.5案例22:微分代数方程(DAE)与延迟微分方程(DDE)求解10.5.1概述10.5.2微分代数方程(DAE)举例10.5.3延迟微分方程(D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论