作者:empty 页数:339 出版社:empty |
本文为Stephen J.Chapman《MATLAB编程(第二版) 》英文影印版的中文译本, 这本1.文件较大,2.打开之后总是提示播放某首歌,很烦,4.个别字翻译错误(sorry, 我的这个版本也没有完全消除) , 但我有发现的已经更正。5.第十章翻译不完全,本米全书只有十章,在第十章还没有翻译结束时插进了第十一章。于是就想着改进该版本的。本版本在邢译本的基础上做如下修改:1.转换成doc格式, 重新排版(其实也没怎么排版) .2.更换封面,去掉歌曲。4.用了较多新的彩色截图代替原来的。本版本有如下缺点1.由于本人截图用MATLAB是7.0和6.5版本, 在winxp中运行, 一些截图与原英文版3.附录B与前面的专有名词翻译可能会不一致, 例如cell array一词, 邢把它译为“单本人英语也忘记得七七八八了。在翻译过程中肯定有不少不恰当的地方,如果你发现,本书的绝大部分是邢树军翻译的,感谢邢树军兄弟的无私奉献,我仅仅是做些小小修补-
有这么一个故事:在非洲草原上,有一种不起眼的动物叫吸血蝙蝠。它身体极小,却是野马的天敌。这种自上而下的编程方法,不仅适用于编程,而且适用于我们做事。具体步骤为(1)首先对你所面临的问题进行精确描述,即你遇到的到底是什么问题(2)定义输入输出量,即我们的的和现有的条件(3)设计算法,逐层分解,逐步求精,这是做事谋的一个过程,大部分人做事出错就(4) 把算法转化为MATLAB语言, 这一步是踏踏实实做的过程, 没有这一步你什么(5)检测程序,我们做的东西是否正确,不正确检测错误。这一步是需要耐心的,不书对初学者很好的入门教材.之前从网上下载到邢树军兄弟译的pdf版木, 那的这个版木用起来有以下几方面不便:3.源代码和图形采用了大量的图片, 不方便学习者直接复制到MATLAB中进行调试学习。即使是文本的源代码,也经常出错,主要是每一行语句末尾的“:”为中文编码的分号。6.附录A和B没有(翻译)提供。其中附录B为练习答案,其实这对初学者来说,是极其重要的。3.所有源代码测试正确.5.提供了附录A和附录B。6.删除了原米pdf版本的第11章(原著没有) 。本不一样, 原因一是与原英文版本MATLAB 6.0不同, 原因二是因于产生图形的数据无法找到相同的,好在基础知识方面的学习差别不大。2.第十章前几节仍为树军兄弟翻译,后面部分出我翻译,但由于下载不到6.0版本,只好用6.5版本, 但使用6.5版本会山现GUI编程代码不一样的情况, 从忠丁原著角度考虑感觉不爽,后来想想,既然网上都找不到6.0版本,那么使用6.5版本岂不更方便读者?!元阵列 ,而我把它称为“胞数组”。我是一个初学者,不知权威的书是如何翻译的。不管如何,我已经做了相应说明,希望不会引起读者太大的不便。请通知我,谢谢!其实翻译之后才发现,翻译过程是项很繁琐很枯燥的事情!编蝠靠吸动物的血生存,它在攻击野马时,常附在马腿上,用锋利的牙齿极敏捷地刺破野马的腿,然后用尖尖的嘴吸面,无论野马怎样蹦跳、狂奔,都无法驱逐这种蝙蝠。蝙蝠却可以从容地吸附在野马身上,落在野马头上,真到吸饱吸足,才满意地飞去。而野马常常在暴怒、狂奔、流血中无可奈何地死去。动物学家在分析这一问题时,一致认为吸血蝙蝠所吸的血量是微不足道的,远不会让野马死去,野马的死亡是它暴怒的习性和狂奔所致。这个故事与MATLAB似乎没有任何的联系。编程初学者习惯于接到问题, 就想在计算机编出好的程序来,而要求没有错误。这是不可能的,时间一长就会像这只马一样变得暴怒,从而失去对编程的兴趣,所以,我翻译的这本书要求我们养成良好的编程习惯,强调自上面下的编程方法.希望读者能够理解这个方法。出在这个地方,懒得到逐层分解,逐步求精,总是妄想一步登天.也做不成,要怕错误,每一次检测都会让你提高,做事时,不要因一些错误而畏缩不前。在翻译的过程中,有很多的时侯都想放弃.有时也想不干了,但是每当这时,我就会找个人聊天,然后去思考,我遇到的问题是什么?是没有方法,还有心浮气躁。而多半的原因是因为后者,就像那匹马一样,因小事而丢了“性命”。于是,我翻译这本书,最大的收获是自上面下的编程方法。郑碧波
MATLAB(矩阵实验室的简称) 是一种专业的计算机程序, 用于工程科学的矩阵数学运木书把MATLAB当作一种技术编程语言来教, 向学生展示如何编写简洁高效, 有充分本书与MATLAB 6.0和6.1相匹配, 但基本的MATLAB语言与MATLAB 5.0大体相一MATLAB是种解释型语言, 就像各种版本的BASIC, 和BASIC一样, 它简单易用程MATLAB支持许多的操作系统, 提供了大量的平台独立的措施。在本书编写的时候,MATLAB带有一个极大的预定义函数库, 它提供了许多已测试和打包过的基本工程问与其他语言不同, MATLAB有许多的画图和图象处理命令。当MATLAB运行时, 这本书诸多特点主要是向大家强调如何编写可靠的程序。这些特性不仅为初学MATLAB本书在第三章引入自上而下的编程万法,然后在以后的课程中坚持使用这种方法去解决本书教授的编程流程归纳如下:清晰地描述出你所要解决的问题,定义出程序所要求的输入量和程序所应的输出量。算。但在以后的几年内,它逐渐发展为种极其灵活的计算体系,用于解决各种重要的技术问题.MATLAB程序执行MATLAB语言, 并提供了一个极其广泛的预定义函数库, 这样就使得技术工作变得简单高效。在解决工程技术问题方面, MATLAB比其它任何计算机语言(包括FOR TAN和C) 都简单高效, 本书将介绍MATLAB语言, 并向大家展示如何运用它去解决经典的技术问题.根据的程序。本书不上张把MATLAB数以百计的函数全部介绍给大家, 而是教给学生怎样使用MATLAB语言, 以及如何使用网上在线工具去加载你所需要的函数。木书的前六章是“编程设计介绍”的课程,专门为大一的工科学生而设计编写的,这部分内容以9周,每周3个小时教学为宜。其余的章节涵盖了一些高级的主题, 例如输入输出接(input outputinterfaces) 和图形用户界面(GUD) 。这些章节可能需要更长时间的学习, 也可以作为使用MATLAB的工科学生和有经验的工程师的参考,第二版的变化致, 而集成工具, 窗和帮助子系统都发生了巨大的变化.还有MATLAB 6.0许多新的完整的MATLAB图形用户界面.于是还在使用6.0以前版本的用户应注意到:在第十章的对于图形用户界面(GUD的发展并不适用于他们用MATLAB进行科技编程的优点MATLAB语言相对于传统的科技编程谁言有诸多的优点。主要包括:1.易用性序可用作便笺簿求打在命令行处表达式的值, 也可执行预先写好的大型程序。在MATLAB集成开发环境下,程序可以方便的编写,修改和调试。这是因为这种语言极易使用,对于教育应用和快速建立新程序的原型,它是一个理想的工具许多的编程工具使得MATLAB十分简单易用.这些工具包括:一个集成的编译/调试器,在线文件手册,工作台和扩展范例。2.平台独立性windows 98/2000/NT和许多版本的UNIX系统都支持它, 在一个平台上编写的程序, 在其它平台上一样可以止常运行,在一个平台上编写的数据文件在其它平台上一样可以编译。因此用户可以根据需要把MATLAB编写的程序移植到新平台。3.预定义函数题的函数,例如,假设你正在编写一个程序,这个程序要求你必须计算与输入有关的统计量。在许多的语言中,你需要写出你所编数组的下标和执行计算所需要的函数,这些函数包括其ILL序言数学意义, 中值, 标准误差等。像这样成百上千的函数己经在MATLAB中编写好, 所以让编程变得更加简单,除了植入MATLAB基本语言中的大量函数, 还有许多专用工具箱, 以帮助用户解决在具体领域的复杂问题。例如,用户可以购买标准的工具箱以解决在信号处理,控制系统,通信,图象处理,神经网络和其他许多领域的问题。4.机制独立的画图些标绘图和图片将会出现在这台电脑的图象输出设备中, 此功能使得MATLAB成为一个形象化技术数据的卓越工具.5.用户图形界面MATLAB允许程序员为他们的程序建立一个交互式的用户图形界面。利用MATLAB的这种功能,程序员可以设计出相对于无经验的用户可以操作的复杂的数据分析程序.6.MATLAB编译器MATLAB的灵活性和平台独立性是通过将MATLAB代码编译成设备独立的P代码,然后在运行时解释P代码米实现的.这种方法与微软的VB相类似, 不幸的是, 巾于MATLAB是解释性语言,而不是编译型语言,产生的程序执行速度慢。当我们遇到执行速度慢的程序时,我们将会指出其这一特性.本书的特点的学生服务,而且也为在工作岗位上的熟练者服务.1.强调自上而下的编程方法问题.这种方法要求学生在开始编写代码前先做大体的设计。在其他工作开始之前,应强调问题解决方案的确定和输入输出量的定义,一旦一个问题被适当地确定了,我们会教给学生怎样逐步分解为一连串小的问题,然后执行这些小的问题就像执行独立的了程序或函数一样。最后我们将运用这种方法向大家介绍检测编程全过程的重要性,包括整个程序的单元检测和最终产品的彻底检测描述出你所要编写程序的算法,这一步将运用到自上而下和逐步分解的设计方法,用伪代码和流程图来描述。
第一章MATLAB介绍.
L. 1 MATLAB的优点.
1.易用性.
2.平台独立性.
3.预定义函数.
4.机制独立的画图.
5.用户图形界面.
6.MATLAB编译器.
1.2 MATLAB的缺点.
1.3 MATLAB的开发环境.
1.3.1 MATLAB桌面.
1.3.2命令窗(The Command Window) .
测试1.1.
2.1变量和数.
2.2 MATLAB变量的初始化.
2.2.1用赋值语句初始化变量.
2.7数据文件.
2.8标量运算和数组运.
1.3历史命令窗(The Hitory Command Widow) .
1.3.4启动平台(the launchpad) .
1.3.5编辑调试器.
1.3.6图像窗(Figure Windows)
1.3.7 MATLAB工作区.
13.8工作区浏览器.
1.3.9 MATLAB帮助.
1.3.10一些重要的命令.
13.11 MATLAB搜索路径.
L 4把MATLAB当作便笺薄来使用.
1.5总结.
L 5.1 MATLAB总结
1.6练习
第二章MATLAB基础.
2.2.2用捷径表达式赋值.
2.2.3用内置函数来初始化.
22.4用关键字input初始化变.
测试2.1.
2.3多维数组.
2.3.1多维数组在内存中的存储.
2.4子数组.
2.5特殊变量.
2.6显示输出数据.
2.3.1用单个下标访问多标数组.
2.4.1end两数.
2.4.2子数组在左边的赋值语句的使用.
2.4.3用一标量来给子数组赋值.
测试2.2.
2.6.1改变默认格式,
2.62disp函数.
2.6.3用fprintf函数格式化输出数据.
测试2.3.
2.8.1标量运算符.
2.8.2数组运算和矩阵运算.
例2.
2.9运算的优先级.
2.10.2带数组输入的MATLAB函数的应用.
2.11.4线的颜色,线的形式,符号形式和图例.
例2.
测试2.4.
2.10 MATLAB的内建函数.
2.10.1选择性结果.
2.10.3常见的MATLAB函数.
2.11高图入门.
2.11.1简单的xy画.
2.12例子.
3.1自上而下的编程方法简介.
3.2伪代码的应用.
3.3关系运算符和逻辑运算符.
2.11.2打印图象.
2.11.3联合作图.
2.11.5对数尺度.
2.13调试MATLAB程序.
2.14总结.
2.14.1好的编程习惯总结.
2.14.2 MATLAB总结.
2.15练习.
第三章分支语句和编程设计.
3.3.1关系运算符.
3.3.2小心==和~=运算符.
3.3.3逻辑运算符.
例3.1.
3.3.4逻辑函数.
测试3.1.
3.4选择结构(分支语句).
3.4.1if结构.
3.4.2if结构平例.
3.4.3关于if结构使用的注意事项.
例3.2.
例3.3.
例3.4.
3.4.4 switch结构
3.4.5try/catch结构的应用.
3.5附加的画图特性.
4.1 while循环.
4.2 for循环.
.1控制xy轴绘图的上下限.
3.5.2在同一坐标系内两出多个图象.
3.5.3创建多个图象.
3.5.4子图象.
3.5.5对画线的增强控制.
3.5.6文本字符串的高级控制.
3.5.7极坐标图象.
3.5.8注释井保存图象.
3.7.1好的编程习惯的总结.
3.7.2 MATLAB总结.
4.2.1运算的细节.
4.2.2 break和continue语句.
4.2.3循环嵌套.
4.3.1逻辑数组的重要性.
4.3.2用if l else结构和逻辑数组创建等式.
4.5.2 MATLAB总结.
5.2在MATLAB中传递变量:按值传递机制.
5.5在函数调用两次之间木地数据的存储.
5.6函数的函数(fun e tion functions) ,
第六章复数数据、字符数据和附加画图类型.
4.3逻辑数组与向量化.
4.4附加例子.
4.5总结.
45.1好的编程习惯总结.
4.6练习.
第五章自定义函数.
5.1 MATLAB函数简介.
例5.2数据排序.
5.3选择性参数.
例5.3选择性参数的应用.
5.4用全局内存分享数据.
i yL且达
测试5.1.
5.7子函数和私有函数.
5.8总结.
5.9练习.
6.1复数数据.
7.1稀疏矩阵.
7.2单元阵列(cell array) .
.148
6.1.1复变量(complex variables) .
6.1.2带有关系运算符的复数的应用.
6.1.3复函数(complex function)
1.类型转换函数.
2.绝对值和幅角函数.
3.数学函数.
例6.
6.14复数数据的作图
6.2字符串函数(string functions)
62.5在一个字符串中查找/替换字符.
6.3多维数组.
6.4关于二维作图的补充说明.
6.5三维作图.
6.6总结.
6.7练习.
第七章稀疏矩阵单元阵列结构.
62.1字符转换函数.
6.2.2创建二维字符数组.
6.2.3字符串的连接.
6.2.4字符串的比较.
6.2.6大小写转换.
6.2.7字符串转换为数字.
6.2.8数字转化为字符串.
629总结.
例6.2.
6.4.1二维作图的附加类型.
64.2作图函数.
6.4.3柱状图.
6.5.1三维曲线作图.
6.5.2三维表面,网格,等高线图象.
6.6.1好的编程习惯总结.
6.6.2 MATLAB两数与命令总结.
.7.1.1spatse数据类.型.
例7.1.
7.2.1创建单元阵列.
7.2.2单元创建者—人括号(春)的应用.
7.2.3查看单元阵列的内容.
7.2.4对单元阵列进行扩展.
7.2.5删除阵列中的元素.
7.2.6单元阵列数据的应用.
7.2.7字符串单元阵列.
7.2.8单元阵列的重要性.
7.2.9单元阵列函数总结.
7.3.2增加域到结构.
7.3.4结构数组中数组的应用.
7.3.5函数get field和函数set field.
7.3.6对结构数组应用size函数.
7.3.7结构的嵌套.
7.3.8struet函数总结.
8.4.1f open函数.
8.4.2f close函数.
8.5.1f write函数.
8.5.2f read函数.
测试8.1.
8.6.1f print两数.
8.6.2格式转换指定符的理解.
8.63如何使用格式字符串.
例8.2产生一个信息表.
8.6.4fseanf函数.
8.6.5fgetl函数.
8.6.6fgets函数.
例8.3格式化和二进制I/O文件的比较.
8.8.1 exist函数
8.8.2函数ferror.
8.8.3函数foe f.
8.8.4函数ftell.
8.8.5函数f rewind.
8.86函数fseek.
例8.5.
810.2 MATLAB总结.