此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

学习 Mathematica的建议

开始

如同使用任何其他计算机系统一样,有几个要点需要用户在能开始使用Mathematica以前就了解的。例如,用户绝对必须知道如何键入输入到Mathematica. 要找到这些基本的要点,至少应当读本书的第一章第一节。
一旦知道了这些基础,用户能通过打入本书中的一些例子开始得到对Mathematica的感觉,始终保证打入出现在本书中的确切内容----不要改变任何大写、括号等。
当试了书中的几个例子后,用户应当开始做自己的实验。对例子稍作改变,看看发生什么情况。用户应当仔细看每块输出,试着理解所得结果的原因。
在通过了一些简单例子之后,用户应当准备好采取接着的步骤:学习用Mathematica解决一个完整问题所需要的知识。

解决一个完整问题

用户将会发现通过取一个已很好理解的特殊问题--其解用容易求得--开始工作是最好的。然后通过解决问题的每一步,学习Mathematica解决该问题的有关知识。在返回到初始问题以前,始终准备好用简单情形进行实验,并理解所得到的结果。
在经历解决问题的步骤中,用户将学会Mathematica的各种特殊特点,特别是第一章的各节。当用户已经用Mathematica解决了若干问题以后,将会得到对这个系统的许多基本特点的感觉。
当用户已经建立了对Mathematica特点合理的知识后,应当返回来学习Mathematica系统的整个结构。用户可以通过系统地读本书的第二章来实现这一点。你将发现许多似乎不相关的特点竟然结合成为一致的整体结构。了解这个结构,使得用户能容易的多地理解和记住已经学会的特殊特点。

Mathematica原理

用户不要试图太早地学习Mathematica的整个结构。除非已经有显著的高级计算机语言或纯数学的经验,否则用户将会发现理解第二章是困难的。用户将会发现第二章描述的结构和原理难于记忆,并且总是奇怪为什么其特殊的方面会是有用的。然而,如果你首先得到一些Mathematica的实践经验,将发现整个结构掌握起来容易的多。用户应当意识到Mathematica被建立的原理是非常一般的,在你已经看到一些特殊例子以前,要理解这种一般原理通常是困难的。
Mathematica最重要的方面之一是它使用相当少的且尽可能普遍的原理。这意味着即使你仅在特定情形下使用一个特殊特点,建立该特点的原理可能被用于许多情形。对于理解Mathematica的根本原理的非常重要的一个因素是通过这样做能将你的关于特定特点的知识传递到更一般的内容。例如,可以首先学习代数表达式内容中的变换规则。而变换规则的基本原理适用于任何符号表达式。因此,你也可以使用这些规则来修改诸如代表Mathematica图形对象的表达式的结构。

改变你的工作方式

学会很好地使用Mathematica涉及到改变你解决问题的方式。当你从笔和纸移到Mathematica时,对所解决问题的各方面的平衡是困难的改变。用笔和纸,你常能得到粗糙的你的问题的初始公式。那末,当你实际上进行解决问题的计算时,你通常可以修改这些公式。不过,你所做的计算必须是相当简单的,并且你无法测试多种不同情形。
另一方面,当你使用Mathematica时,你的问题的初始公式必须是相当精准确的。然而,一旦你有了公式,你能容易地用它做多种不同的计算。这意味着你能有效地对你的问题进行多种数学实验。通过查看所得到的结果,能改进你的问题的初始公式。
Mathematica中有许多典型的方法来产生给定问题的公式。然而,在几乎所有的情形,最直接和最简单的公式将是最好的。从一开始,你能得到关于你的问题的公式越多,常常越好。事实上,你将发现在Mathematica中直接形成你的问题的公式比先试图建立传统的数学公式,譬如说代数公式,要好。要点是Mathematica不仅允许表示传统的数学运算,也允许表示算法的和结构的运算。这个更大范围的可能性给你一个更好的机会,去发现表示你的原始问题的直接方式。

编写程序

对于想要用Mathematica解决的更复杂的问题, 用户必须建立Mathematica程序. Mathematica支持多种类型的程序,在任何情况下,用户必须选择一种. 单一类型的程序不能适应所有情况.因此, 学习几种不同类型的程序是非常重要的.
如果已经知道了传统程序语言,诸如BASIC, C, Fortran Pascal, 用户将会很容易的学会Mathematica中的Do, For等过程编程. 但是,原则上,当几乎所有Mathematica程序都用过程方式来编写时,这决不是最好的方法.在象Mathematica这样的符号系统中, 功能的和基于规则的编程典型地产生更有效的和更容易理解的程序
当用户发现自己过多地使用了过程编程, 就应当进行主动努力至少将自己的部分程序转换成其它类型. 起初, 你可能觉得功能的和基于规则的程序难于理解. 但不久后,你将发现,比起过程程序, 掌握它们的整体结构通常容易的多. 当用户使用Mathematica经历超过几个月或几年后, 将会发现自己越来越多的用非过程方式编写程序.

学习整个系统

当用户继续使用和学习Mathematica,记住Mathematica是一个大系统是重要的. 尽管不久后你会知道其所有的基本原理,但你可能决不学习其所有特征的细节.作为结果,即使当你已经有了大量使用Mathematica的经历之后, 你仍将发现浏览本书是很有用的.当你这样做了,你就可能注意到以前从没有注意到的特点,而且根据你的经验,现在就能明白如何使用这些特点.

如何阅读本书

如果可能,用户应当结合使用实际的Mathematica系统读这本书.当看本书的例子时,应当在计算机上测试它们.
用户可以通过阅读第
T.0页的 "Mathematica漫游" 、本书主要内容的末尾的, "图形长廊" 和 "公式长廊" 得到对Mathematica所做事情的基本感觉.并且会发现用Mathematica实验漫游中的例子是很有用的
无论基础如何, 用户应当确保在独立使用Mathematica以前阅读第1章的前三节或前四节.这些章节描述了在任何层次使用Mathematica时所需要知道的基础.
1章的其余内容表明如何用Mathematica 做各种不同类型的计算. 当你试图做一个特殊计算时, 将会发现仅仅阅读你需要使用的讨论Mathematica特征的第1章的章节就足够了.一个好的方法是尽力找出本书中接近于你想要做的事情的例子.
1章的重点是关于所使用的基本函数,它们被内建于Mathematica中来进行各种不同类型的计算.
另一方面, 2章讨论成为整个Mathematica基础的基本结构和原理,比起描述一系列特殊特征, 2章更注重整体方法. 如果用户想学会如何建立自己的Mathematica函数, 则应当读第2.
3章是为了那些具有更深入的数学兴趣和知识的人设计的. 它包含了Mathematica的更高级的数学特点, 和以更详细的方式描述第1章已经提到的一些内容.
本书的每一章都被分为若干节和子节.下面列出两个特殊的子节的标题:
高级论题: 1次阅读时可以略去的高级内容.
特殊论题: 仅于特定用户和特定计算机系统相关的内容.
本书的主要内容被设计的适合于教学,并且能以顺序的方式有意义的阅读. 然而, 附录被单独地设计以作为参考. 一旦你熟悉了Mathematica,将会发现附录中的函数列表是查阅所需要的细节的最好的地方.

关于本书的例子

本书的所有例子是通过运行Mathematica4版的实际拷贝产生的。如果你有第4版的拷贝,你应当能够在自己的计算机上生成本书中的例子。然而,有几点要注意:
•在你熟悉Mathematica以前,要确保键入的输入是象书中出现的一样精确。不要改动任何大写字母和括号。以后,你将学习哪些东西你能改动。然而,当运行时,不要做任何改动是重要的,否则可能得不到象书中那样的结果。
•不要键入每个输入行开头的提示符号In[n]:=仅键入跟在该符号的正文。
你将看到每个对话的各行被按顺序记数。本书的大部分子节都包含独立的的对话。要保证得到书中的正确结果,你应当每次启动一个新的Mathematica进程。
一些￿特殊论题￿子节给出的例子可能是对特殊计算机系统专用的。
任何涉及随机数的例子一般地将给出与书中不同的结果,因为由Mathematica
生成的随机数序列在各个进程中是不同的。
使用机器精度算法的某些例子在不同计算机系统上可能产生不同结果。这是浮点运算硬件的差别带来的结果。如果使用Mathematica的任意精度数,则不会有差别。
几乎所有的例子将输出显示为Mathematica笔记本界面中的StandardForm 形式。文本界面中的输出看起来是类似的,但不相同。
本书中几乎所有的例子假定你的计算机或终端使用标准的U.S. ASCII 字符集。如果在你的键盘上你找不到所需要的某些字符,或者 Mathematica 显示出与你在书中看到的字符不一样,你需要查看你的计算机文件,找出你正使用的相应字符集。最常见的问题是美元标记字符(Shift-4)可能产生你当地的货币字符。
如果Mathematica版本比产生本书所用的版本新,则你所得到的结果可能是不同的。
在 "Mathematica漫游" ,以及第一、二章中的大多数例子被选取使得能相当快的执行。假如你有一台时钟速度超过200 MHz的机器(大多数是1998或以后生产的),那末,很少有例子需花费多于几秒的时间来执行。否则就可能出现了某种错误。第 1.3.12 节描述了如何停止计算。