Mathematica基础与应用(含CD光盘1张)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-10 11:03:48

点击下载

作者:丁大正

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Mathematica基础与应用(含CD光盘1张)

Mathematica基础与应用(含CD光盘1张)试读:

前言

本书的前世是笔者编著的《科学计算强档Mathematica 4教程》和《Mathematica 5在大学数学课程中的应用》,这两本书都得到了读者较好的评价,并被各高校的教学大纲和各行业的科技论文引用。

然而近几年Mathematica版本的升级速度较快,已经问世的最高版本是8.0版,在基础功能上有三项改进很实用:函数Solve能够得到方程带条件的解,直接用不等式给出积分区域的多重积分计算趋于成熟,新增了一些概率论方面的函数。由此也点燃了笔者改写的欲望,本书是在《Mathematica 5在大学数学课程中的应用》的基础上,使用8.0简体中文版改写而成的,全部例子和习题都是在新版中运行的结果。除新增内容外,保留了原有的精选例子和习题,以便老读者对照了解8.0版与5.x版以及6.0、7.0版的差异。笔者在网上经常看到初学者重复询问一些常见问题,其实那些问题在本书中都能找到解答,为此劝诫他们去认真读书练好基本功。

本书适合于各种层次的读者,既可以全面深入地学习,又可以即查即用。一个优点是,其中的例子都是一些典型的应用示范。例如解方程,只要将例子中的方程改成用户要解的方程就行了。如果使用时出了问题,可以查看书中的讲解,本书对使用中的常见问题都有说明。事实上,一些知识即使已经学会了,如果较长时间不用还会忘记,笔者自己就经常查阅本书。光盘上还有本书的电子版函数索引,这样就能通过粘贴来输入长函数名。如果认真学习了本书的第5、6两章,就能编写实用的程序包,比使用C语言更方便、高效地编写数学程序。

目前在高等数学、线性代数、微分方程、概率统计、计算方法、运筹学与数学建模等课程中,都已经开始使用数学软件作为辅助教学的工具。近十年来,笔者一直在从事利用数学软件辅助教学的研究与开发。本书的内容与我国数学教材紧密结合,全面介绍了Mathematica在上述课程中的应用,是大学数学的一本通用的辅助教材。在本书的光盘中还将笔者研制的线性代数和常微分方程解题程序包奉献给读者,与我国教材配套,能逐步显示解题过程。本书第6章中有该程序包的简介,在光盘中还有详细使用说明及范例。出于多方面的考虑,这次发表的程序包是使用第6章介绍的方法进行加密的,但是不影响使用。在光盘中还有笔者亲自录制的视频,对一些基本操作做了示范。

本书根据笔者的实践经验来选择所介绍的内容,注重实用性,避开了某些还不够成熟或很深奥的内容。读者在有了基础之后,可以通过查阅联机帮助继续钻研自己感兴趣的内容。

由于本书涉及的内容广泛而笔者的时间和水平有限,因而书中难免存在错误和各种问题,诚恳期待读者予以批评指正,可发电子邮件至ddz_1@163.com。笔者还在网上开设了QQ群(号码215706485),为读者解答使用本书时遇到的各种问题。

感谢您选择并阅读本书!

丁大正

2012年6月于北京第1章 Mathematica 基础

本章概要

● Mathematica 起步

● 数、变量、函数、算式和表

● 表达式的查阅、保存和文件调入

本章首先介绍 Mathematica 8 的界面,着重介绍面板的功能。本章的中心内容是介绍怎样输入各种数学表达式进行计算。表是Mathematica中最为重要的一种表达式,本章将进行全面介绍。最后介绍表达式的查阅、保存和文件调入的方法。1.1 Mathematica 8界面简介

本书使用Windows XP操作系统,Mathematica 8简体中文版安装在目录D:\Mathematica\8下,界面如图1.1所示。从6.0版起Mathematica使用了新的界面,与5.x版相比有较大的变化,而且推出了简体中文版。图1.1 Mathematica 8简体中文版界面

图1.1所示界面由用户窗口、数学助手面板和主菜单组成。

1.用户窗口

在图1.1中,左边的大窗口是显示一切输入、输出的窗口。无论是直接输入各种算式或命令,还是运行已经编好的程序,所有操作都在这个窗口中进行,可以同时打开多个窗口。在这样的窗口中,不仅可以显示文字与数学表达式,还可以显示图形、按钮等对象。这些窗口中主要使用Notebook(笔记本)型文件(.nb),从6.0版开始还可以建立文本(.txt)、程序包(.m)、幻灯片等其他类型文件。在Mathematica 8中,这个窗口顶端新增了一个“+”号,单击可弹出选择输入方式的菜单,不过经常使用的是Mathematica 输入方式,这是默认的输入方式。

2.数学助手面板

位于用户窗口右边的是数学助手面板,这是从7.0版起新增的面板,由一系列分组集成的按钮组成。用鼠标单击一个按钮,就可以将它表示的符号输入到当前的用户窗口中。Mathematica提供了多个这样的面板,用于简化数学表达式、特殊字符、Mathematica函数的输入,此外也可以根据需要自制特殊的面板。面板的引入大大加快了输入速度,减轻了记忆负担,这也是人们乐于使用Mathematica的原因之一。

3.主菜单

位于图1.1上方的是主菜单。Mathematica的菜单项很多,初学时不必一次搞清楚。以下只介绍一些最实用的菜单项。(1)“文件”菜单“文件”菜单如图1.2所示。

图1.2中各选项的功能与Word中类似,此处不再赘述。其中“退出”选项上方列出的是用户使用过的文件,图1.2中显示笔者曾经使用过文件fanli.nb。

打开“新建”菜单项可得到如图1.3所示子菜单。

其中常用的是第一项,用于新建一个笔记本型文件的窗口,选择该项就会弹出一个新的用户窗口。(2)“面板”菜单

单击主菜单中的“面板”菜单项,弹出如图1.4所示菜单。

单击图1.4中第一项会将数学助手面板打开在屏幕上,如图1.1所示,关于这个面板的用途将在今后逐步进行介绍。单击“其它”项弹出如图1.5所示子菜单,再单击其中第二项就可打开基本数学输入面板,这是6.x版以前用户熟悉的面板,现在仍然可以使用。图1.2“文件”菜单图1.3“新建”子菜单图1.4“面板”菜单图1.5“其它”子菜单

图1.4中的“常用函数”和“zdy”是笔者自制的面板,也能像Mathematica的面板一样使用。使用图1.4中最后一项“安装面板”能将自制的面板加入到“面板”菜单中,“zdy”就是使用这种标准方法装入的,但是不能装入有中文名的面板(例如以“常用函数”为名的面板)。不过可以将面板文件“常用函数.nb”直接粘贴到Mathematica存放自制面板文件的目录下,再启动Mathematica后具有中文名的面板就被成功装入。存放面板文件的位置可以通过Windows的文件搜索功能进行查找,例如笔者搜索文件zdy.nb找到在Windows XP中的存放目录是C:\Documents and Settings\d\Application Data\Mathematica\SystemFiles\FrontEnd\Palettes,这个目录与使用的操作系统和用户名有关。也可以将面板文件存放到Mathematica存放自身面板的目录下,搜索文件“BasicMathAssistant.nb”就能找到该目录,通常是Mathematica8所在目录下的“\SystemFiles\FrontEnd\Palettes”。(3)“帮助”菜单“帮助”菜单如图1.6所示。图1.6“帮助”菜单

记不清或不了解某些操作,以及想深入学习某些内容时,可以查询有关帮助。(4)“窗口”菜单

单击主菜单中的“窗口”项,弹出“窗口”菜单。当鼠标停在第一项“缩放”上时就会弹出选择缩放比例子菜单,最大为300%,可以用来实现用户窗口、帮助窗口中显示内容的缩放。此外,单击用户窗口或数学助手面板窗口右下角数字 100%后面的三角形按钮也能弹出缩放比例菜单。“编辑”菜单中的最后一项“偏好设置”值得注意,如果安装简体中文版后不能打开中文帮助,只要将“偏好设置”选项中的“菜单和对话框语言设置”改为“ChineseSimplified”即可解决。

其余的菜单项初学时大多不需要,有用的后面用时再讲,各个菜单的详细解释可以使用“帮助”菜单的前三项用项名作为关键字进行搜索。1.2 数、变量、函数、算式和表

本节介绍在Mathematica中怎样输入各种数学表达式进行计算,读者需要认真阅读,牢记某些基本规定,并熟练掌握其中一些基本操作,为学习后面各章打好基础。1.2.1 数的表示和计算

1.准确数与近似数

Mathematica以符号运算为主,与C、BASIC、Fortran不同,例如:π e,,等,如果不声明则为准确数。近似数用带有小数点的数表示,例如:1.2,2.310^5等。在Mathematica中将实的近似数*称为实数(Real),而将准确数称为整数、有理数、幂、符号数等。无论准确数还是近似数,都没有位数的限制(当然实际上受到计算机100000内存的限制),可以求出2的准确值,也可以求出π的任意位数的近似值。

2.数的输入、输出方法和格式【例1.1】 实际运行时的输入与输出。

说明 上例中以不同的方式输入了分式和幂式,并得到了计算结果。

以下通过例1.1讲解数的输入、输出方法和格式,以下的输入以使用键盘为主。(1)分式的输入

在例1.1中,第1行以两种形式分别输入了两个分数。分数线的输入可用“/”或“Ctrl+/”:前者的分式表示法与C、BASIC等程序语言相同;后者产生常规的分数线和一个表示分母位置的小方块,光标停在小方块内,键入分母后可按键盘上的“→”键退出分母,也可按“End”键或单击分数后面的位置退出分母,使光标处于分数后面的位置,从而可以继续输入后面的表达式。输入分式也可用数学助手面板中的分式按钮(位于第2排第5个)输入分式形式,可以通过按“Tab”键或单击数学助手面板中的“Tab”按钮(位于第6排第1个),或者直接单击分母位置,使光标从分子位置跳到分母位置。对分数进行四则运算的结果是准确数,分子、分母的公因数将被自动约去。(2)指数的输入

在例1.1中,第3行以两种形式分别输入了两个幂式。指数的输入可用“^”或“Ctrl+6”:前者的指数表示法与C、BASIC等程序语言相同;后者按常规的数学方式产生一个表示指数位置的小方块。也可用数学助手面板中的幂式按钮(位于第3排第5个)输入幂式形式。

说明 根式也可通过键盘输入,但不如用数学助手面板中的根式按钮(位于第2和第3排第6个)输入方便,且无须记忆键盘命令。

数学助手面板相比以前的基本数学输入面板增加了许多按钮,仅用鼠标单击数学助手面板上的各种按钮就可以完成输入,不必使用键盘。

注意 准确数的运算结果都是准确数,准确数与近似数运算的结果是近似数(保持最大可能的精度)。(3)输入与输出提示

从例1.1可看到Mathematica自动在输入的式子前面加上了In[1]:=等,在输出的答案前面加上了Out[1]=等,以便分清输入与输出。用户也可以通过“编辑”菜单的“偏好设置”项的设置对话框找到“显示In/Out名称”选项去掉这些提示。(4)计算的执行

输入完整个算式后按Shift+Enter组合键(或小键盘上的“Enter”键)或者单击数学助手面板上的“Enter”按钮(位于第6排第2个),Mathematica将立即开始计算。例1.1中共进行了3次计算,也可以一次计算3个算式,只要在前两次输入完算式后按Enter键(只换行不计算),最后一个算式输入完后按Shift+Enter组合键即可。这里要提醒读者注意Enter键与数学助手面板上的“Enter”按钮的区别。由于键入匆忙,有时会产生输入错误,到执行后才发现,当然得不到正确的结果,这时不必重新输入,只要将原式修改后再次按Shift+Enter组合键,就能重新计算,并用新的输出覆盖原来的输出。可以将用户窗口当成一张“无限”长的草稿纸,不断进行输入、输出,所有的内容都会被保留。(5)强制中断计算

如果执行计算后,由于各种原因计算长时间不能完成,那么可以通过键盘命令“Alt+,”或“Alt+.”停止计算。使用后者将立即停止计算,而使用前者会弹出一个对话框供选择。(6)特殊字符的输入

π和e分别用专用字符Pi和E表示,也可以由数学助手面板的特殊字符按钮(位于第2 排第 7、8 个)输入。I 表示虚数单位(注意必须用大写字母),也可以由数学助手面板的特殊字符按钮(位于第3排第8个)输入,复数用a+bI表示。Infinity表示无穷大,也可以由数学助手面板的特殊字符按钮∞(位于第4排第8个)输入,注意∞与+∞相同,没有双侧无穷的概念(而MATLAB是有的),-Infinity表示-∞。

3.近似数的精度控制(1)求近似值的函数 N

Mathematica 允许用户任意指定数值计算的精度。

● N[表达式,数字位数]计算表达式的具有任意指定数字位数的近似值,结果在末位后是四舍五入的。

● N[表达式]计算表达式的近似值,具有机器规定的精度(一般是16位有效数字),

但是按默认设置输出只显示前6位有效数字(通过“编辑”菜单的“偏好设置”项的设置对话框找到“在输出中显示的数位”可以重新设置),想要全部显示只需使用函数InputForm或者使用“单元”菜单中的第一项进行转换。还可以使用函数NumberForm[Real,n]规定实数的显示位数n。

注意 在Mathematica中,π和e都表示准确数。【例1.2】 求π和e的近似值。

说明 其中,π和 e 由数学助手面板中的相应按钮输入。In[2]示范了显示全部有效数字的简便方法。

由于Mathematica对于数的精度没有限制,因而不管输入有多少位数字的数都会被全部保留。

例如:(2)用分数逼近实数

反过来,也可以用一个分数作为一个实数的近似值,可使用转换函数 Rationalize。

● Rationalize[x]给出x的有理数近似值。

● Rationalize[x,dx]给出x的具有最小分母的有理数近似值,误差小于dx。

例如:

说明 不指定误差 dx 有可能失败,例如以上的 In[2],这时使用默认的误差限制标准。指定误差上限后,问题解决,即使对准确的无理数也能适用(如In[4]和In[5])。

4.数的进制转换

可以使用b^^nnn表示nnn是一个b进制数。函数BaseForm[x,b]用于将十进制数x转化成b进制数显示。

例如:

注意 在输出b进制数时,用nnn表示一个b进制数。b1.2.2 变量

1.变量命名

Mathematica中的变量名必须是以字母开头、由字母或数字组成的字符串(长度不限),不能含有空格或标点符号,不同的字母大小写对应不同的变量。例如:x,a1,b12,Tc都是合法的变量名,2a不是合法的变量名,a1与A1表示不同的变量。

2.变量赋值

一个变量可以表示各种类型的数或字符串,也可以表示一个算式。与C语言不同,不必事先声明变量的类型,Mathematica 会根据用户为变量所赋的值自动处理。

使用等号给变量赋值,具体格式如下:

● x=Value 给x赋值。

● x=y=Value 同时给x,y赋相同的值。

●{x,y,……}={Value1,Value2,……}同时给x,y,……赋不同的值。【例1.3】 给变量赋值。

说明 例1.3分为两部分:(1)In[1]~In[4]是4个赋值式。第1个式子引入了符号x,同时声明x表示2。第2个式子引入了符号a1,s,t,同时说明了它们之间的关系。第3个式子同时给多个变量赋以同一值。第4个式子同时给多个变量赋以不同值。(2)In[5]重新给x赋值为a,因为已知a=1,因此输出结果是1。In[6]查看x的值,答案也表明x=1。In[7]赋值s=1,In[8]查看a1,输出表明a1=1+t。用户所输入的变量及其值或关系式一直被Mathematica记忆,并随着用户的重新赋值而更新,即使同时打开多个用户窗口变量也是共享的。这一特性给使用者带来了方便,但使用中也容易因忘记前面已经使用过哪些变量而产生错误。从6.0版起使用颜色对变量予以区分,无值的变量是蓝色的。

3.清除变量

为了避免隐蔽的错误,应该及时清除不再使用的变量,方法有以下几种:

● x=.清除x的值但保留变量x。

● Clear[x]清除x的值但保留变量x(在复杂的使用情况下清除更多的定义)。

● Remove[x]将变量x清除。

在例1.3中再输入s=.,则有:

说明 上例清除了s的值后,仍然有a1=s+t。这时s又变成蓝色的。更深入的讨论见第5章。

清除变量还可以使用以下两个函数:

● Clear["Global`"]清除所有变量的值。*

● Remove["Global`"]清除所有变量。*

说明 Global`x表示全局变量x。

提示 更省事的方法是退出后重新启动Mathematica。

4.表示输出的专用符号

%是一个重要的Mathematica符号,用途如下:

●%表示前一个输出的内容。

●%%表示倒数第2个输出的内容,依此类推。

●%n 表示第n个(即Out[n])输出的内容。

所有%n的内容一直被Mathematica记忆,可以像其他变量一样被后面的计算引用。

例如:

注意 这些%n的内容是被保护的,Clear或Remove不能清除它们。所有的输入内容也同样被保留和保护,可以在解除保护后清除它们,清除的方法是使用Unprotect[In,Out]和Clear[In,Out],不过一般无此必要。1.2.3 函数

Mathematica的基本功能是作为一个非常高级的函数计算器来使用,各种操作主要是靠函数来实现。Mathematica提供的函数种类繁多功能强大,函数一词也不限于数学上的含义,有实现各种操作的函数。本书将Mathematica本身的内部函数和它自带的软件包中的函数统称为系统函数。此外还可以由用户自定义函数,加入到Mathematica中,能像系统函数一样使用。学习Mathematica主要是分门别类地学习各种函数的功能及其调用方法,现在先介绍一些简单而又常用的数学函数。

函数的一般形式是:函数名[参数1,参数2,……]。

1.基本初等函数(1)基本初等函数表

在Mathematica中的基本初等函数的格式如下:

● Sin[x]正弦函数。

● Cos[x]余弦函数。

● Tan[x]正切函数。

● Cot[x]余切函数。

● Sec[x]正割函数。

● Csc[x]余割函数。

● ArcSin[x]反正弦函数。

● ArcCos[x]反余弦函数。

● ArcTan[x]反正切函数。

● ArcCot[x]反余切函数。

● ArcSec[x]反正割函数。

● ArcCsc[x]反余割函数。x

● Exp[x]表示e。

● Log[x]表示ln x(一般以a为底的对数函数用Log[a,x]表示)。

● Sqrt[x]表示。说明 自变量也可以取复数。

注意 ArcCot[x]的值域与我国教科书上的不同,是。(2)系统函数的书写规则

Mathematica的系统函数的书写规则很严格,务必注意以下几点:

① 函数名首字符大写,后面的字符用小写。当函数名分成几段时,每段的首字符大写,函数名中不能含有空格。(自定义函数的首字符不必大写。)

② 参数用方括号括起来,不能用圆括号。这是很科学的表示法,事实上常规的数学表示法有问题:f(x+y)既可以理解成求函数f当自变量等于x+y时的值,又可以理解为变量f乘x+y!Mathematica认为圆括号表示相乘。

注意 对于这种函数表示法的严格性,使用者常常由于匆忙而忘记,导致不能得到正确答案。

提示 最好的解决方法是将常用函数都分组制成面板,根本无须记忆。2

● 一个经常遇到的格式问题是:传统的记号sin(x)在2Mathematica中输入、输出时都表示为Sin[x](输入时可键入2Sin[x]^2),请注意与Sin[x]的区别。

● Mathematica 系统函数的命名还有一个特点,除了少数函数按数学上的通用名称(如Sin等)命名外,大部分函数名字使用英语单词或人名,目的是让用户从函数名就可以了解该函数的功能。因此函数名普遍较长,对于记忆和输入是一个负担。在用户窗口中键入函数名首字符后,按Ctrl+k组合键或者单击数学助手面板上的“完整指令名”按钮(位于第9排第1个),将弹出一个以该字符为首的函数名列表,如图1.7所示。其中黑色滚动条所指示的函数名为选中的项,双击或按Enter键,则自动输入该函数名到用户窗口中。由于函数名太多,这样搜索的速度较慢。如果键入更多的字符,列出的函数名会大大减少。改按Shift+Ctrl+k组合键或者单击数学助手面板上的“制作模板”按钮(位于第9排第2个),则自动输入的是“函数名[参数1,参数2,……]”,但是其中只有常用参数而没有可选参数。用这种方法可以加快输入的速度和提高准确性。外部程序文件调入后,其中的函数名也会出现在列表中。此外用户自定义的变量或函数名也能出现在列表中。图1.7 首字符为S的函数名列表(3)函数的嵌套

函数可以任意嵌套,例如:N[Sin[2],30]。

如果输入Sin[2],输出仍是准确值Sin[2]。当输入Sin[2.0]时,Mathematica输出近似值。

例如:

还有一种特殊但是常用的使用函数的方法:

● 表达式//函数名 将函数作用于前面的表达式。

例如:(4)给数加上单位

角度的默认单位是弧度,如果使用度作为单位则在数据后面加上Degree或者输入数学助手面板上的专用符号“°”(位于第3排第7个)。其实也可以给数据加上其他常用单位,如:meters,seconds等。

例如:

2.常用函数

下面列出的是一些经常用到的函数:

● Abs[x]求实数的绝对值或复数的模。

● Sign[x]符号函数。

● Max[x,x,……]一组数的最大值。12

● Min[x,x,……]一组数的最小值。12

● Re[x]复数x的实部。

● Im[x]复数x的虚部。

● Arg[x]复数x的辐角。

● Conjugate[x]复数x的共轭数。

● Floor[x]不超过x的最大整数。

● Ceiling[x]大于或等于x的最小整数。

● Round[x]最接近x的整数。

● Mod[m,n]整数m被n除的余数。

● Quotient[m,n]整数m被n除的整数部分。

● GCD[n,n,……]一组整数的最大公约数。12

● LCM[n,n,……]一组整数的最小公倍数。12

● n!求n的阶乘。

● n!!求n的双阶乘。

● Binomial[n,k]求。

● FactorInteger[n]将整数n分解成素数的积。

例如:

由于Mathematica默认的变量取值范围是复数,因而有时还要用到下面的函数:

● ComplexExpand[expr]展开表达式expr,假定其中的变量都是实数。

● ComplexExpand[expr,{x1,x2}]展开表达式expr,假定其中的x1,x2是复数。

例如:

说明 通常在使用表达式a+bi时,总是认为a,b是实数。但是从以上Out[1]中可知,Mathematica认为a,b是复数。在In[2]中使用函数ComplexExpand解决了这种困扰。

3.双曲函数与反双曲函数

下面列出的是双曲函数与反双曲函数:

● Sinh[x]双曲正弦函数。

● Cosh[x]双曲余弦函数。

● Tanh[x]双曲正切函数等于Sinh[x]/C osh[x]。

● Coth[x]双曲余切函数等于Cosh[x]/S i n h[x]。

● Sech[x]双曲正割函数等于1/C osh[x]。

● Csch[x]双曲余割函数等于1/S i n h[x]。

● ArcSinh[x]反双曲正弦函数等于。● ArcCosh[x]反双曲余弦函数等于。● ArcTanh[x]反双曲正切函数等于。

● ArcCoth[x]反双曲余切函数等于。

● ArcSech[x]反双曲正 割函 数等于。

● ArcCsch[x]反双曲余割函数等于。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载