欢迎来到天天文库
浏览记录
ID:34956401
大小:1012.39 KB
页数:16页
时间:2019-03-15
《matlab向量化编程基础精讲》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MATLAB向量化编程基础精讲马良祁彬彬编著内容简介本书使用MATLAB最新版本2016a,拣选Mathworks官方群组Cody中一些有趣的代码问题,分6章讲解这些优秀示例代码中使用数组、字符串操作、正则表达式以及匿名函数等方面的MATLAB编程技巧,并对其中较为典型和精彩的用法做扼要点评,对一些复杂思路或代码的细节和步骤,还逐一展开了延伸分析,使学习MATLAB编程的用户,能迅速体会MATLAB矢量化编程语言的基本特色。本书适合所有MATLAB编程爱好者和使用MATLAB的不同专业大学生阅读,还可供研究生、科研工作人员及高校教师参考。图书在版编目(CIP)
2、数据MATLAB向量化编程基础精讲/马良,祁彬彬编著.--北京:北京航空航天大学出版社,2016.8ISBN978-7-5124-2209-4I.¬M…II.¬马…•祁…III.¬Matlab软件-程序设计IV.¬TP317中国版本图书馆CIP数据核字(2016)第186538号-------------------------------------------------------------版权所有,侵权必究。MATLAB向量化编程基础精讲马良祁彬彬编著责任编辑王实*北京航空航天大学出版社出版发行北京市海淀区学院路37号(邮编100191)http:/
3、/www.buaapress.com.cn发行部电话:(010)82317024传真:(010)82328026读者信箱:goodtextbook@126.com邮购电话:(010)82316936有限公司印装各地书店经销*开本:78710921/16印张:字数:千字2016年月第1版2016年月第1次印刷印数:册ISBN978-7-5124-2209-4定价:元若本书有倒页、脱页、缺页等印装质量问题,请与本社发行部联系调换。联系电话:010-82317024序学习MATLAB,从来不是“学习MATLAB”这么简单。从一开始,对它的学习就和所学专业领域的相关
4、理论同步,在学习阶段对它们的理论又交错生长、相互促进。毫无疑问,专业问题的研究处于核心主体地位,它高于对一个具体工具软件的钻研,但我们往往需要让公式、语言描述等,能以MATLAB作为媒介,解释、模拟、甚至预测事物运转的规律和真相。但这对于多数未必见长于编程的工程师,或者非计算机专业的高校大学生,具有一定的挑战性。所以这时,学习方法就显得更加重要,人常说“工欲善其事,必先利其器”,可遇到的麻烦却往往是“器利,工未驭之以确法,致事不善”。层出不穷、匪夷所思的代码问题,往往是学习MATLAB伊始,没养成良好的编程习惯、没按正确方法发挥MATLAB特点所致。“良好习惯
5、”或“正确方法”,并不仅仅是“每行代码都加注释”、“写一行隔个空行”等,当然,良好的编程习惯对代码后期维护调试大有好处,但这不是本书重点探讨的问题。我们要说的是:深入了解乃至掌控MATLAB函数,达到有效、简捷地用代码解决问题之目标。要达到这样的程度,恐怕要从调用方式到搭配组合再到执行效率,完整透彻理解MATLAB一些常用函数命令后,才能做到。很多人以为不难,认为看看命令帮助,学几个常见调用格式,写出程序,没有红色出错警示,就算大功告成了。真是这样吗?举例而言:其实相当一部分用过MATLAB软件,哪怕使用多年的用户,对MATLAB的常用命令也都未必谈得上熟悉。
6、不信?不妨试试下面这个对带有“非数”的数列求和的问题:源代码1:带有非数时的求和1>>a=[1:5,NaN,7]2a=312345NaN74>>sum(a)5ans=6NaN源代码1说明,当元素序列中存在特殊元素“NaN”时,原有的代数运算规则将发生变化,比如:NaN+1=NaN,NaN+inf=NaN(NaN的详细介绍见1.11.2小节)。但在实际运算中这往往没有意义,我们可能更多需要的是统计除“NaN”之外的其他元素之和。很多人想到循环遍历判断每个元素是否为“NaN”:源代码2:除“NaN”以外元素的求和——方法11fori=1:length(a)2ifi
7、snan(a(i))3a(i)=0;4end25end6Result=sum(a)源代码2用循环遍历序列a的每个元素,通过命令isnan判断每个元素是否为“NaN”,如果是用0替换,最后求和。对于没怎么接触过MATLAB的读者而言,源代码2貌似不错:一个程序用到循环、判断两种流程,甚至还有isnan这样“高端大气上档次”的逻辑命令。但更加了解MATLAB矢量化操作的用户都知道,函数isnan支持矢量化逻辑操作,循环、判断流程可以全部去掉。源代码3:除“NaN”以外元素的求和——方法21a=[1:5,NaN,7];2Result=sum(a(~isnan(a))
8、)当然,在已知数组a确定为正的情况下,
此文档下载收益归作者所有