前 言
20世纪60年代,当我们作为学生首次学习使用计算机时,FORTRAN是工程和科学计算的首选语言。在接下来的半个世纪里,许多语言已被证明可用于实现研究和教学中非常有价值的数值计算;随着一系列FORTRAN改进版本的出现,ALGOL、BASIC、Pascal和C/C++等语言都进入了我们的计算工具箱。
这种演变存在的一个缺点是,这些语言中的大多数缺乏完全集成的数值算法库,无法让程序员利用大多数工程和科学应用所需的大量“工业实力”算法。
1984年,MathWorks公司通过引入一个完全集成、多范式的数值计算环境和名为MATLAB(MATrix LABoratory)的高级编程语言,弥补了这一缺陷。除了程序编程,MATLAB还允许绘图、创建用户界面,以及与其他语言进行交互。但最重要的是,MATLAB及其补充工具箱拥有庞大的内置函数和工具箱,使程序员能应用最先进的数值方法,而不必从头开发代码。
虽然MATLAB提供了高质量和功能强大的计算环境,但它的缺点是相对昂贵。尽管对于许多大学等大型组织而言,这通常可以忽略,但我们观察到,较小的咨询公司、地方政府、个人甚至像公司这样的一些大型实体都在考虑减少费用,因此需要一种成本更低的替代方案。
说到Python,Python由Guido van Rossum创建并于1991年首次发布,是一个多范式的开源计算环境,可以随时访问强大的数值例程,可供任何个人或组织免费使用。此外,它得到了良好的管理和维护,因此,它正成为越来越受欢迎的MATLAB替代品。
由于Python在工程和科学教育中的应用越来越广泛,我们决定撰写这本教科书来支持一个为期一学期的数值方法课程。课程是为那些想要学习和使用数值方法解决工程和科学问题的学生而写的。因此,这些方法是由问题(而非数学)驱动的,能提供足够的理论,让学生能深入了解相关技术及其缺点。
Python为此类课程提供了一个很好的环境,因为它很好地将高级编程语言与强大的内置数值功能相结合,以允许学生以结构化和连贯的风格实现中等复杂的算法,同时其数值能力使学生能够解决更难的问题,而不必全盘重来。
本书的基本内容、组织和教学方法与其他数值方法教科书类似,特别是,为使本书更容易阅读,有意保持对话式写作风格。本书试图直接与读者对话,部分目的是成为自学工具,因此,相信它在课堂之外对希望熟练掌握数值方法和Python的专业人士也有价值。
我们努力使本书保留有助于教学的功能,包括广泛使用实例和工程科学应用,最重要的是,让解释简单实用,以使本书尽可能“对学生友好”。
我们在这里澄清,本书内容不是深入讲授Python程序语言,而且之前不需要有Python方面的经验。我们提供了足够的Python编程背景,以方便数值方法的实现,使用归纳法让学生能够通过应用及时学习Python的各个方面,并逐渐将这些经验推广以提升对语言的熟悉程度;本书提供了许多Python代码示例,能为学生提供自己的代码开发模式。我们特意选择了Spyder集成开发环境,因为它提供一个相对友好的界面,包括许多类似MATLAB的功能,其中包括命令窗口、编辑器、变量资源管理器、调试工具和有用的帮助界面。精通Python的程序员可能会对我们漏掉一些功能感到失望,但我们强调要关注本书的主要目的:通过学习数值方法来增强STEM(科学、技术、工程、数学)学生的能力。
本书通过介绍如何解决数值问题来增强学生的能力。我们相信,热爱工程和科学、问题解决、数学和编程的学生,最终会成为更好的专业人士,如果本书能够激发人们对这些主题的热情和欣赏,我们认为这种努力是成功的。
McGraw Hill提供的个性化学习工具
读者可根据需要访问mhhe.com/collegesmarter(800.331.5094)来获取McGraw Hill公司提供的一些在线服务。
proctorio
由connect中的proctorio托管的远程监考和浏览器锁定功能,通过启用安全选项和验证学生的身份,提供了对评估环境的控制。
这些服务与connect无缝集成,使教师能限制浏览器活动、记录学生活动以及验证学生是否在完成自己的作业。
及时而详细的报告让教师对潜在的学术诚信问题一目了然,从而避免个人偏见,支持基于证据的主张。
随时随地阅读 使用McGraw-Hill的免费ReadAnywhere应用程序,在方便的时候阅读或学习。ReadAnywhere可用于iOS或Android智能手机或平板电脑,让用户访问McGraw-Hill工具,包括eBook和SmartBook 2.0或connect中的自适应学习作业。用户可在离线状态下记笔记、突出显示和完成作业。当你使用WiFi访问打开应用程序时,所有工作都将同步。使用你的McGraw Hill connect用户名和密码登录,随时随地开始学习!
Tegrity:全天候讲座 connect中的Tegrity是一个工具,通过自动捕获每堂课,使课堂时间全天候可用。通过简单的一键启动和停止过程,可以一种易于搜索的格式捕获所有计算机屏幕和相应的音频。
学生可在PC、Mac、iPod或其他移动设备上通过易于使用、基于浏览器的界面来重播任何课程的任何部分。
教育工作者知道,学生能看到、听到和体验到的课堂资源越多,学习效果就越好。事实上,研究证明了这一点。Tegrity独特的搜索功能可帮助学生在需要的时候,在整个学期的课堂录音中高效地找到他们需要的东西。有了Tegrity,还可通过减轻学生对笔记的担忧来提高专注度和课堂参与度。在connect中使用Tegrity将使你更有可能看到学生的脸,而不是他们的头顶。
connect中的Test Builder Test Builder是一个基于云的工具,可在connect中提供。使教师能够格式化测试,这些测试可以在学习管理系统中打印、管理,或作为测试库的Word文档导出。Test Builder提供了一个现代化的、精简的界面,无须下载。
Test Builder允许你:
● 从特定标题访问所有测试库内容。
● 通过强大的过滤选项,轻松定位最相关的内容。
● 操纵问题的顺序或重排问题和/或答案。
● 将问题固定到测试中的特定位置。
● 确定你对算法问题的首选处理方式。
● 选择布局和间距。
● 添加说明并配置默认设置。
Test Builder提供了一个安全的界面,以更好地保护内容,并允许及时更新内容。
写作作业 在connect和connect Master中,Writing Assignment(写作作业)工具提供了一种学习体验,帮助学生提高书面沟通技能并加深对概念的理解。作为一名教师,你可以更有效地分配、监控和提供写作反馈,并给出评分。
用你的方式写书 McGraw-Hill的由Create提供支持的内容集是一个自助网站,它使教师能够利用McGraw-Hill的全面、跨学科内容创建定制课程材料和电子书。从我们的高质量教科书、文章和案例中选择你想要的,快速轻松地将其与自己的内容相结合,并利用其他受版权保护的第三方内容,如案例和文章。内容可以最适合你的课程的方式安排,你还可添加课程名称和信息。为你的课程选择最佳格式:彩色打印、黑白打印或电子书。电子书可以包含在你的connect课程中,也可在免费的ReadAnywhere应用程序中使用,用于智能手机或平板电脑访问。完成定制后,你将在几分钟内收到一份免费的数字副本供查看!访问McGraw Hill Create——www.mcgrawhillcreate.com——从今天开始创建!