第2 版前言
若干年以前,我看过科学巨匠钱学森先生在1985年论理工科数学课程改革的话,“数学课不是为了学生学会自己去求解,而是为了学生学会让电子计算机去求解,学会理解电子计算机给出的答案,知其所以然”。遗憾的是,几十年过去了,今天的理工科数学教材与课程并没有实现大师期望的改革,数学教材鲜有不同于以往的变化。我们在这方面的教学工作始于21世纪初,从某种意义上讲,
《薛定宇教授大讲堂》这套系列著作试图实现大师的理念,填补各门工科数学课程与计算机工具有机结合的空白。在写作这套系列著作时,我尽量沿用相应数学课程传统教材的知识点,将基于MATLAB的数值运算与解析运算有机地融入每个知识点,利用计算机工具直接求解数学问题。除了传统的数学知识点之外,还编写了大量的通用函数,直接求解在传统数学教材中被刻意回避的问题,并给出了传统数学教材无法求解问题的求解方法。
《薛定宇教授大讲堂》这部系列著作第1版出版已经几年的时间过去了,在这几年间,MATLAB编程与Simulink建模技术发生了很大的变化,而MATLAB求解科学运算问题的工具也越来越完备,有必要更新这部著作,融入新的内容,使其能发挥更大的作用。所以将陆续开始写作、出版这部系列著作的第2版。和第1版一样,本套系列著作的卷I侧重于MATLAB编程的系统介绍,卷VI侧重于Simulink建模与仿真的介绍,这两部著作将引入最新版本MATLAB、Simulink在程序设计与建模方面的最新进展。其余各卷对MATLAB版本的依赖程度没有那么是高,主要侧重于实现更多科学运算问题的求解方法介绍。
本书是系列著作的第I卷。在MATLAB使用的介绍中,本书增加了MATLAB命令窗口操作方法的介绍;在数据结构方面,增加了属性判定类语句的介绍等内容;在基本数学运算部分,增加了网格数据生成和数学归纳法实现等内容;在编程方法上,本书引入了更严格的函数编写格式,并引入了更好的输入变元检测段落,强化了向量化编程方面的介绍;在图形绘制上,增加了曲线精度控制、三维曲面填充、隐
.ii.薛定宇教授大讲堂(卷I):MATLAB程序设计(第2版)
函数曲面交线的绘制方法等新内容;本书给出了并行计算的入门知识与实例;在类与对象设计部分,补足了类运算的数学基础,简化了类运算的语句结构;在图形用户界面(或App)设计中,引入了AppDesigner,将其作为主要工具,介绍App的开发方法,还增加了多窗口设计等新内容。
从第2版开始,系列著作的版式也做了相应的变化。第2版统一采用双色印刷的方式出版。每章开始给出本章的内容提要。定义和定理等采用更醒目的版式统一处理,使得全书的可读性更强。
特别感谢团队的同事潘峰博士在相关课程建设、教材建设与教学团队建设中的出色贡献和所做的具体工作。感谢美国加利福尼亚大学Merced分校的陈阳泉教授二十多年来的真诚合作及对诸多问题的有意义的探讨。我几十年来与同事、学生、同行甚至网友有益交流,其中有些内容已经形成了本套系列著作的重要素材,在此一并表示感谢。本书的出版还得到了美国MathWorks公司图书计划的支持,在此表示谢意。
最后但同样重要的,我衷心感谢相濡以沫的妻子杨军教授,她数十年如一日的无私关怀是我坚持研究、教学与写作的巨大动力。感谢女儿薛杨在文稿写作、排版与视频转换中给出的建议和具体帮助。
薛定宇2022年10月
第1 版前言
科学运算问题是每个理工科学生和科技工作者在课程学习、科学研究与工程实践中常常会遇到的问题,不容回避。对于非纯数学专业的学生和研究者而言,从底层全面学习相关数学问题的求解方法并非一件简单的事情,也不易得出复杂问题的解。所以,利用当前最先进的计算机工具,高效、准确、创造性地求解科学运算问题是一种行之有效的方法,尤其能够满足理工科人士的需求。
作者曾试图在同一部著作中叙述各个数学分支典型问题的直接求解方法,通过清华大学出版社出版了《高等应用数学问题的MATLAB求解》。该书从2004年出版之后多次重印再版,并于2018年出版了第4版,还配套发布了全新的MOOC课程. ,一直受到广泛的关注与欢迎。首次MOOC开课的选课人数接近14000人,教材内容也被数万篇期刊文章和学位论文引用。
从作者首次使用MATLAB语言算起,已经有30年的时间了,通过相关领域的研究、思考与一线教学实践,积累了大量的实践经验资料。这些不可能在一部著作中全部介绍,所以与清华大学出版社策划与编写了这套“薛定宇教授大讲堂”系列著作,系统深入地介绍基于MATLAB语言与工具的科学运算问题的求解方法。
本系列著作不是原来版本的简单改版,通过数十年的经验和资料积累,全面贯穿“再认识”的思想写作此书,深度融合科学运算数学知识与基于MATLAB的直接求解方法与技巧,力图更好地诠释计算机工具在每个数学分支的作用,帮助读者以不同的思维与视角了解工程数学问题的求解方法,创造性地得出问题的解。
本系列著作卷I可以作为学习MATLAB入门知识的教材与参考书,也为读者深入学习与熟练掌握MATLAB语言编程技巧,深度理解科学运算领域MATLAB的应用奠定一个坚实的基础。后续每一本书试图对应一个数学专题或一门数学课程进行展开。整套系列著作的写作贯穿“计算思维”的思想,深度探讨该数学专题的问题求解方法。本系列著作既适合于学完相应的数学课程之后,深入学习利用计
.MOOC网址:https://www.icourse163.org/learn/NEU-1002660001。
.iv.薛定宇教授大讲堂(卷I):MATLAB程序设计(第2版)
算机工具进行科学运算问题求解的方法与技巧,也可作为相应数学课程同步学习的伴侣,在学习相应课程理论知识的同时,侧重学习基于计算机的数学问题求解方法,从另一个角度观察、审视数学课程所学的内容,扩大知识面,更好地学习、理解并实践相应的数学课程。
本书是系列著作的卷I。本书侧重于MATLAB语言编程方法的介绍,首先介绍MATLAB语言的常用数据结构和语句结构,然后介绍矩阵的代数运算、超越函数的计算方法与数据处理的方法,并系统地介绍MATLAB的流程控制结构与应用、MATLAB函数编写与调试等编程技巧、MATLAB的科学可视化方法。本书还介绍MATLAB语言的接口设计、面向对象的程序设计方法与图形用户界面设计方法等,旨在为读者继续学习科学运算或其他领域的知识奠定较好的基础。
值此系列著作付梓之际,衷心感谢相濡以沫的妻子杨军教授,她数十年如一日的无私关怀是我坚持研究、教学与写作的巨大动力。
薛定宇2019年5月