前言 本书的背景和意义 本书为应对新一轮科技革命与产业变革,支撑服务创新驱动发展、“中国制造2025”等一系列国家战略而写。2017年2月以来,教育部积极推进新工科建设、金课建设、双万计划等一系列措施,旨在形成领跑全球工程教育的中国模式,助力强国建设。在这一系列政策和概念的指引下,如何培养有能力、实干、理论与实践兼备的工程师是教育界需要解决的问题。回归教育,在信息技术迅猛发展的时代,根据工业界的反馈和教育的经验,教育界普遍认同项目式学习和计算思维的培养是高等教育的主要突破方向。 项目式学习是一种通过参与解决真实的项目或问题的学习方式,着眼于实践并通过实践强化和倒逼理论的学习,是一种既培养实际工程实践能力又促进理论学习和理论转化能力培养的学习方式。项目式学习很容易让学习者体验到成功解决问题的成就感和快乐,从而形成正向反馈机制,激励学习者继续学习,从而逐渐培养学习的兴趣。 计算思维综合了应用数学思维和计算机编程能力。任何领域的研发到了一定阶段都离不开数学,数学在工程或产品中的体现的是程序,所以计算思维对未来的科学家和工程师来说都非常重要。计算思维的培养离不开具体的项目,所以项目式学习和计算思维培养自然融合到一起了。 回到高等教育本身,如何系统培养学生的计算思维呢?不妨分析一下本科的课程组成,从图1的本科(以通信工程为例)课程构成可以发现,其实我们现在的本科课程中,数学和应用数学课程(与专业结合)已自然呈现循序渐进、逐渐累积的趋势,只是我们传统的教育不利于这些课程的累计和融合。基于这 图1新工科教学改革路线图(以通信工程为例) 样的分析结果,如果从大学一年级就通过项目式学习,结合具体的课程,培养学生的计算思维,那么就很自然地实现了更有成效的学习变革。 基于这样的认识,很自然就得到了本科阶段系统的项目式计算思维培养方案: (1) 大一: 高等数学部分,增加MATLAB高等数学实践部分,培养学生的基本编程能力和数学应用能力。 (2) 大二: 线性代数和概率部分,增加相应的实践环节,继续增强学生的编程能力和基本的工程应用能力,如数据分析、数学建模、算法设计能力。大二在部分专业基础课程部分,增设实验和项目实践内容,培养基本专业理论的应用能力。 (3) 大三: 在专业课部分,增加实验和实践环节,鼓励学生将所学的专业知识通过平台转化成工程产品原型。 (4) 大四: 在课程设计或毕业设计中,鼓励学生系统使用基于模型设计的技能完成完整的工程项目。 高等数学是高等教育阶段最核心的基础课程。MATLAB是最通用的科学计算软件,广泛应用于科研和工程中,也是培养计算思维的最佳平台,所以高等数学和MATLAB的结合也就很自然了。本书的定位是高等数学的MATLAB项目式学习参考书,其主要内容是讲解高等数学中主要知识的MATLAB实现过程以及这些知识在工程界的应用实例。本书的作用: 一是让学生在学习高等数学阶段的时候就学习MATLAB编程,培养由理论知识到实践转化的能力; 二是通过实践环节倒逼学生对理论的学习并促进对理论知识的理解; 三是以高等数学这门课为载体,培养学生的编程能力和计算思维; 四是培养学生对学习的兴趣。 本书的编写过程: 学生编写自己的教材 本书的大致构思在2018年初就有了,但一直没有落笔,我自己也不确定以怎样的形式呈现这些内容。在2018年秋季,我受邀给复旦大学的学生做关于MATLAB编程的讲座,其间就提到MATLAB编程是实践性的技术,最好的学习方式就是以一个小课题或一个小问题为载体,边学习边解决问题,这样的学习效果最好。听讲座的绝大多数是大一大二的学生, 还没做课题,就把这本书的大致构思跟学生说了一下,并鼓励学有余力或感兴趣的同学可以参与。结果有10位同学感兴趣,报名了这个课题,每5位同学为一个小组,每组选一位组长,负责平时的联络和课题的组织工作。第一个小组,负责高等数学的上册,第二个小组,负责下册内容的编写。一开始我只给出建议,鼓励他们根据自己的想法并应用自己的模式表达。这些学生,确实比较厉害,都有自己的想法,每人负责的章节也各自有特色。为了让内容风格更一致,经过组内互评、几轮讨论后,挑选了几种更好的内容(高等数学知识点和MATLAB程序的融合)表达模式,再进行修改,最后由本人汇总、修改,最终形成了本书的内容。 一个讲座促成了这个特殊的组合和课题的完成,这个过程对我也很有启发,让学生自己去编写自己的教材太神奇了,他们是可以创造未来的,毕竟教材的主体是他们,他们更懂得自己的学习风格,知道自己更喜欢什么样的内容,所以他们的参与首先贡献了很多内容的表达风格和想法。其次对他们来说,也是一次很好的课题实践活动。这些学生只知道MATLAB很有用,但绝大多数,MATLAB用得并不好,或者根本不会用,一开始他们的想法就是通过这个课题,学会使用MATLAB。 但课题完成后,所有学生的MATLAB使用水平已经很高了,在不知不觉中,已经可以灵活运用MATLAB编程解决自己遇到的问题了。甚至,有的同学对高等数学和MATLAB有了更深刻的感悟。 李翊瑄是参加上册编写的一位同学,在课题讨论会上,她分享了自己的一个体会: “传统的高等数学学习中,我们接触的是解析解的概念与解析方法,与MATLAB的结合带来了数值解的想法,这种想法通常更接近实际问题的解决。同时理解解析方法与数值方法,可以让我们更直观地学习高等数学的概念与方法,并增强对这些方法在实际生产生活中应用的能力,还能帮助我们更好地理解计算机处理计算的过程。比如,它并不能做到我们在传统数学学习中接触的无限趋近的想法,而往往需要通过迭代计算方法减小误差至一个较小的容差值。理解计算机的运算方式,我们才能在日后更好地进行其他依赖计算机的研究工作。另外,一个数值计算的方法很难用对错定论,往往用计算复杂度、误差值等作为其评价标准。比如从定积分求解的角度,通过牛顿莱布尼兹公式求解的方式可以得出积分的精确结果,但通过不同的数值方法我们往往会得到不同的带有误差的解,因此我们就需要不断地对自己设计出的数值方法进行优化。每一个数值方法背后其实都还蕴藏着优化的潜能,我们每位读者都可以独立探索,设计出带有个人特点的更优化、更有创造力的数值方法。因此,MATLAB与高等数学相结合能更好地培养我们的创造能力以及精益求精的习惯,这种能力与习惯对日后的学习研究都是很有帮助的。每一种数学方法在MATLAB函数中的体现都是一次人机的交流,每一次将人脑思维转化为计算机思维的基础实践,都会成为我们日后在有关方向研究学习的基础。希望读者在阅读本书时能够体会这种学习方式!” 我想只有参与课题或者研读这本书之后的读者才能有这样的体会!如果读者能够得到这样的体会,我想这本书的目的就达到了! 本书特色 纵观全书,可发现本书特点鲜明,主要表现在: (1) 知识系统,结构合理。本书的内容编排基本与同济版《高等数学(上册)》(第七版)一致,这样便于读者与理论知识相对应。对于具体内容,则按照本章目标、相关命令、MATLAB实例、拓展实例以及动手实践等内容依次展开。这样既保持了知识的系统性,也便于读者更高效地学习。 (2) 理论与实践相得益彰。对于本书的每个知识点,都列举了若干个典型的案例,读者可以通过案例加深理论的理解。本书选择的案例都是高等数学中的典型例题或习题,并且通过程序展示,很容易让读者产生共鸣,同时读者可以利用案例的程序,进行模仿式学习,也能提高学习效率。 如何阅读本书 全书内容共8章。 第0章(从0章开始是为了使其他章节与高等数学教材相对应),主要介绍MATLAB快速入门的内容,核心是引导读者转变MATLAB的学习理念,以“问题驱动,思路主导,边学边用”的学习方式学习,这样可以快速建立对MATLAB的使用信心,感觉MATLAB就是一个常规软件,可以像使用Word一样去使用MATLAB。 第1~7章是本书的主体部分,系统介绍了高等数学的MATLAB实现方法。每章包含了以下内容: (1) 本章目标: 重温高等数学中的知识点,便于读者理解随后的MATLAB命令、案例针对的理论知识点。 (2) 相关命令: 介绍要实现某个命令需用到的MATLAB函数,以及介绍这些函数的具体用法。 (3) MATLAB实例: 介绍高等数学中的MATLAB求解问题的具体实现方式,包含详细的代码,以及关键代码的注释。 (4) 拓展实例: 通过实例介绍工程界是如何应用高等数学的这些知识的,拓展读者的思路,让读者对日后的工程应用场景有更清晰的认识。 (5) 动手实践: MATLAB是实践性的技术,必须要通过实践来提高应用水平,最重要的是通过练习可以加深对理论知识的掌握。 读者对象 (1) 各大院校学生。 (2) 高等数学或高等数学实验教师。 (3) 从事工程数学科研的工程师或科研人员。本书含高等数学的工程拓展实例,对工程人员和科研人员也有参考意义。 (4) 希望学习MATLAB的工程师或科研工作者。因为本书的代码都是用MATLAB编写的,所以对于希望学习MATLAB的读者来说,本书是一本很好的参考书。 致读者 本书系统地介绍了MATLAB高等数学的实现方法。书中的内容虽然系统,但也相对独立,教师可以根据课程的学时安排和专业方向的侧重,选择合适的内容进行课堂教学,其他内容则可以作为参考。 作为21世纪的大学生,工程化的思想越来越重要,不仅要学科学,更重要的是如何将科学转化为工程,用工程辅助科学的进一步发展。高等数学作为最基础的学科,重要性不言而喻,MATLAB编程是实现科学到工程的具体工具,是科学和工程的桥梁,而利用MATLAB实现高等数学方法是科学转化为工程的第一步,希望读者通过学习本书对此有更深刻的体会,本书也算是科学到工程的启蒙书。 勘误和支持 由于时间仓促,加之作者水平有限,书中错误和疏漏之处在所难免。在此,诚恳地期待广大读者批评指正。 致谢 感谢MathWorks公司,在我写作期间提供全面、深入、准确的参考材料!感谢清华大学出版社盛东亮老师一直以来的支持和鼓励,帮助我们顺利完成全部书稿! 卓金武2020年7月