Mathematica的基本量.ppt_第1页
Mathematica的基本量.ppt_第2页
Mathematica的基本量.ppt_第3页
Mathematica的基本量.ppt_第4页
Mathematica的基本量.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软 件 介 绍,第2讲 Mathematica的基本量,2.1 数 在Mathematica里将数大致分为两类,一类是基本常数,包括整数、有理数、实数和复数;另一类是系统的内部常数,包括数学、物理中常见的某些常数。 这些数的概念同数学中的概念完全一样,它们的表示方法同数学中的也基本一致。 但要指出的是,如果计算机字长允许的话,在Mathematica系统里,这些数可以具有任意的长度和精确值。,在这些数之间常常需要进行加、减、乘、除以及乘方等算术运算,这些算术运算的运算符在Mathematica里分别用+、-、*、/、等来表示,与计算机编程语言中的符号基本一致;还可以使用模板进行输入。 模板的调出可以选择菜单“File/Palettes/3 Basic Input”。,2.1.1 数的表示和计算 1. 整数 在Mathematica系统中,整数由一串连续的数字组成,数字之间不允许有空格或其他字符。 在系统里可以对任意大的整数进行计算,系统将保持输入的和计算后输出的整数永远是精确的,不会将大的整数转化为浮点数形式。例如,说明: (1) 乘法符号“*”可以用空格代替,但不能省略; (2) 算术运算的优先顺序:先乘方,再乘除,最后是加减,可以用括号改变优先顺序; (3) 同级运算的顺序依顺序从左到右进行; (4) 负号用减号表示,直接写在数的前面即可,同数学习惯完全一样; (5) 如果参加运算的整数都是精确数,那么运算的结果也一定是精确数,Mathematica系统决不轻易丢失信息。,2. 有理数 Mathematica系统中任何有理数都可用两个整数的商来表示,并且对有理数将自动化简,约去分子与分母中的公因数,最后结果是精确的。例如,3. 实数(浮点数) 实数在Mathematica里用浮点数表示。浮点数是指含有一个小数点的数字串,它至少包含着一位有效数字,数字串的长度可以任意。因此用浮点数来表示实数可以具有任意的精度。 然而在书写时,数字串的长度总是有限位的,这样就有必要引入实数在不同精度要求下的近似记法。 在Mathematica里用符号Nx,n来表示实数x具有n位精度的近似值,当n16时只取6位有效数字,当n17时则取n位有效数字。 例如,说明:当整数、有理数、实数进行混合运算时,如果参加运算的数都是精确的,那么在Mathematica系统中运行的结果也一定是精确数,决不轻易丢失信息。 如果其中有一些是近似数,那么运算的结果也只能是近似数,但保持尽可能高的精度,仍然不轻易丢失信息。 注:(*)为Mathematica系统的注释符号,两个*号之间为注释内容,注释部分可以放在程序的任何位置。,4. 复数 同数学中的复数表示法一样,在Mathematica里的每一个复数也表示为z=x+Iy,其中x与y为实数,I为虚数单位,即,运算规则与数学中的规则一样。,5. 数学常数 最常见的数学常数有: 此外,还有欧拉常数、黄金分割常数、光速常数、万有引力常数等数学、物理中常见的常数. 对这类常数,Mathematica将它们设置为系统的内部常数,用到时,可以利用Help命令到系统中查询。,2.1.2 数的转换 有时需要将不同类型的数进行转换。例如,将有理数转换为实数,将精确数转换为近似数等。前面在实数举例中用到的函数N 就是这种转换函数之一。 下面列出的是最常用的两个转换函数: Nx 将x转换为实数形式 Nx,n 将x转换为最多具n个数字精度的近似实数 Rationalizex 给出x的近似有理数 Rationalizex,dx 给出误差在dx内x的近似有理数,【例1-7】数的转换。 N1/3 N1/3, 20 Rationalize% RationalizeNSqrt2 RationalizeNSqrt2, 10(-7) 说明:符号%的含义如下: % 表示上一次输出的结果 % 表示倒数第2次输出的结果 %(共n个) 表示倒数第n次输出的结果 %n 表示以n为序号的那次输出结果,2.1.3 数的输出形式 在Mathematica计算中,常用函数N 将符号运算的结果转换为数值结果,或将有理数的准确值转换为近似数。 如果参与计算的数都是准确值,则计算结果将按准确值的方式输出;如果参与计算的数有近似数,则计算的结果必是近似数,系统将会根据数值类型与数值大小给出合理的输出形式。,2.1.3 数的输出形式 如果你对输出形式有精度方面的特殊要求,则可利用下面科学记数形式进行输出。 ScientificForm表达式 以科学记数形式输出表达式 例如,2.2 变量 在Mathematica系统中,变量名与函数名总是用标识符来书写的。 2.2.1 标识符 标识符是由英文字母开头的字母数字串。字母与数字的长度可以不限,但不能包含空格或标点符号。 例如a,bce,a12,Cij,ArcSinh等均为合法的标识符,而2ab,x*y,a12,Arc-Sinh等均为不合法的标识符。,2.2.2 变量命名 变量命名即用标识符给变量命名,给变量用标识符命名时必须严格依照标识符的有关规定进行。 给函数命名时,除了要遵守标识符的规定外,还要遵守函数命名的一些规则,这将在下一节作介绍。 标识符除了可给变量命名和给函数命名外,还可有别的用途,例如可以用它来表示计算中的单位: 1.5Kg + 2.3Kg 3.8Kg,2.2.3 变量赋值 在Mathematica中运算符“=”的作用是赋值。常常用它来给变量赋一个值,这个值可以是一个数值、一个数组、一个表达式,甚至一个图形。例如 x = 2+3 x = y = 3 变量x一旦被赋值,这个值将长期保留,直到它被清除或被重新赋值为止。保留期间,无论在何处使用这个变量x,它将被数值3代替。,2.2.3 变量赋值 变量x一旦被赋值,这个值将长期保留,直到它被清除或被重新赋值为止。例如 p3 = x3 + 3 * x2 4*x + 5 在以后的运算中凡是用到p3的地方,也就相当于在那里写上了这个多项式。 对于已经赋值的变量,当不再使用而且想要清除掉时,可随时用“=.”清除掉。 在这个命令执行后,变量的值就不存在了。应当特别注意随时将以后不再使用的变量的值清除掉,以免影响后面某些计算结果的正确性。,2.2.4 变量替换 在数学运算中,经常需要将数学式子中的某些变量替换为另外的一些变量,Mathematica中将这种替换机制叫做变换规则,用记号“/.”来完成。例如 p3 = 5 - 4 y + 3 y2 + y3 p3/.y - t+1 p3/.y -2 对于多个变量的式子,这种替换同样可以进行。例如 f = x2 + x y + y2 f/.x-u+1, y-v-1,2.3 表 在Mathematica中,常常将一些有关联的元素组合成一个整体,并将其称为表(List)。 表中的元素可以是数,也可以是函数,还可以是表达式等;同一表中的元素可以有不同的数据类型。 表常被用来表示数学中的向量、矩阵或集合。,2.3.1 表的描述 表在形式上是用花括号括起来的一组元素,元素之间用逗号分隔。例如 1,23,0.5,x,Sint 3,4,1,2,5,2.3.1 表的描述 表的元素又称为表的分量,表中分量一般表示为: tn或Partt, n 表示表t中的第n个元素 t-n或Partt, -n 表示表t中的倒数第n个元素 Firstt 表示表t中的第一个元素 Lastt 表示表t中的最后一个元素 tn1, n2, 或 Partt, n1, n2 表示由表t中第n1, n2,元素组成的表 ti,j 表示表t中的第i个子表的第j个元素,【例1-8】已知t1= 3,4,5,6,7,8,9,则有: t13 t1-3 Firstt1 Lastt1 t12, 4, 5, 7,2.3.2 表的建立 当表中的元素较少时,可以采用直接输入的形式: 表变量名 = 元素1,元素2, 来生成表,即在给出表名的同时又给出了表中的元素,但在更多的时候是要利用建表函数Table、Range和Array来生成。,1. 循环描述 在利用建表函数时常常要用到循环描述。 (1) 循环描述的一般形式是: 循环变量,循环初值,循环终值,步长 其执行过程是:循环变量从初值开始,按照所给步长逐步递增(或递减),直至达到或超过终值的界限为止。 循环变量、初值、终值和步长可为整数、有理数和实数。,1. 循环描述 常见的几种循环描述如下: j,min,max,step j从min开始到max,按步长step增加 j,min,max j,max 说明:当步长为1时可省略不写,初值min为1时可省略不写 max 重复max次,除了上面的单重循环外,有时还要用到多重循环。 多重循环是在写循环描述的地方连续写几个上面形式的循环描述,它们之间用逗号分开。例如 i,imin,imax,j,jmin,jmax 表示一个关于变量i与j的二重循环描述,它表示i从imin开始到imax,且对每一个j值,j从jmin到jmax。,2. 建表函数 利用建表函数来生成表是十分方便的。 (1) 数值表建表函数Range,格式如下: Range正整数n 生成表1,2,3,n Rangem,n 生成表m,m+1,m+2,n (mn) Rangem,n,d 从m开始按步长d递增,直到n的界限为止 【例1-9】建数值表。 Range3, 9 Range1, 2, 0.31,(2) 通项表建表函数Table,格式如下: Tablefi,i,min,max,step 说明:依照通项fi的规律,i从min到max,step为步长,当步长为1时省略。 Tablef,max 说明:依照通项f的规律,给出max个元素的表。 Tablefij,i,imin,imax, j,jmin,jmax, 说明:生成一个多维表。,【例1-10】建通项表。 Tablei2, i, 1, 7 Table2 n, n, 3, 12, 2 Tablex+1, 5 TablePrimek, k, 10 式中,Primek为产生第k个素数的函数。 TableRandom, 3 式中,Random为产生一个0与1之间随机数的函数。 TableSinx, x, 0, 1, 0.3 Tablem+n, m, 3, n, 5,(3) 特殊表建表函数Array,格式如下: Array函数f,整数n Array函数f,n1,n2, 【例1-11】建特殊表。 ArraySin, 4 N% Arraya, 2, 3 其中第一句等价于 TableSinn, n, 4 第三句等价于 Tableai, j, i, 2, j, 3,说明:凡能用函数Range与函数Array生成的表,都能用函数Table生成,Mathematica系统提供函数Range与Array的目的是为了使用户有更多的方便与选择余地,我们的重点是对函数Table的掌握与使用上。,2.3.3 表的运算 表的运算主要包括表的结构运算与表的集合运算两部分。 1. 表的结构运算 在Mathematica系统中,当一个表t与一个标量a作四则运算时,表示将a与t中的每一个元素作一次运算,运算的结果仍然是一个表。 当两个表t1与t2进行加减运算时,首先要求t1与t2的长度相同(即t1与t2中元素的个数一样多),然后将t1与t2对应元素相加减即可,运算的结果仍是一个表。,两个表的相乘、相除以及更一般的运算,我们将放到线性代数中去介绍。 下面列出几个表的常见结构运算函数。 Joint1,t2, 将表tl,t2,连成一个表 Uniont1,t2, 合并几个表,去掉重复元素后对元素排序 Sortt 将表t中的元素排序 Uniont 去掉表中重复元素后对元素排序,两个表的相乘、相除以及更一般的运算,我们将放到线性代数中去介绍。 下面列出几个表的常见结构运算函数。 Reverset 将表t中元素的顺序倒过来 RotateLiftt,n 将表t中元素向左转移n个位置 RotateRightt,n 将表t中元素向右转移n个位置 ApplyPlus,t 将表t中所有元素加在一起 ApplyTimes,t 将表t中所有元素乘在一起,【例1-12】已知t1 =1,3,5,7,2,6,10;t2=Table2n-1,n,1,7,则 Joint1, t2 Uniont1, t2 Sortt1 Reverset1 RotateLeftt2, 3 RotateRightt2, 3 ApplyPlus, t1 ApplyTimes, t1,2. 表的集合运算 数学概念中的集合“并”、“交”、“补”运算,引伸到Mathematica里,是定义在几个表之间的“并”、“交”、“补”的运算,运算结果仍为表。其函数如下: Uniont1,t2, 若干表之“并”,由表t1, t2, 中所有不同元素组成 Intersectiont1,t2, 若干表的“交”,由表t1, t2, 中公共元素组成 Complementt1,t2 表t1与表t2的“补”。由t1中有而t2中没有的元素组成,【例1-13】已知t1 = 1,3,5,7,2,6,10;t2=1,3,5,7,9,11,13,则 Uniont1, t2 Intersectiont1, t2 Complementt1, t2 Complementt2, t1,2.4 函数 Mathematica中的函数可以分为两大类:一类是在数学中常见的并且给出了明确定义的函数,比如三角函数、反三角函数等,可称之为数学函数; 另一类是在Mathematica里给出定义的,具有计算和操作性质方面的函数,比如画图函数、方程求根函数等,可称之为操作函数。 数学函数又可大致分为初等函数和非初等函数两种,下面将分别作简单介绍。,2.4.1 基本初等函数与初等函数 1. 基本初等函数 在Mathematica库函数里将它们作为最基本的函数供用户使用。,2. 初等函数 将常量、变量与基本初等函数经过有限次的四则运算以及有限次的函数复合(函数套函数),并且能用一个解析式子表示的函数,称为初等函数。 例如: ,均是初等函数; ,所确定的函数均不是初等函数。 显然,初等函数里包含了全部基本初等函数。在自然科学与工程技术中最常见的函数是初等函数,它占有十分重要的地位。,2.4.2 非初等函数与特殊函数 凡不满足初等函数定义要求的函数,均可称为非初等函数。 比如上面所列举的后3个函数便是非初等函数,又如数学分析中讲过的Gamma函数(x)与Beta函数B(p,q),也都不是初等函数,再如由下面微分方程 x2y“ + xy + (x2 v2)y = 0 与 (1 x2)y“ 2xy + n(n + 1)y = 0 的解所确定的函数分别称为Bessel函数与Legender函数,也都不是初等函数。因此都可将它们归属到非初等函数中。,有些非初等函数,例如Bessel函数、Legender函数,由于它们在数学物理问题中具有特殊的意义,又将它们从非初等函数中划分出一小类,叫做特殊函数类。 大致弄清初等函数与非初等函数的界限是必要的,因为它涉及到下面章节里一些问题的结果。 比如某个不定积分是否可积,某个常微分方程是否有解等,对于这些问题的明确回答,将会起到关键性的作用。,2.4.3 系统操作函数与运算函数 由于处理和求解数学问题的需要,在Mathematica里专门设计了一大批具有求解和操作性质方面的函数。 比如后面第2章中的各种绘图函数,第3章中的各种符号运算函数,第4章中的各种数值计算函数等,都可将它们归属到操作或运算函数类中。 这类操作运算函数同前面介绍过的数学函数有着明显的区别,数学函数常被作为处理的对象,而操作运算函数常是处理的手段。,在一些计算机高级语言中,我们还常看到阶乘函数、取整函数、取余函数、随机函数等,也都是为了处理这些数学问题的需要而专门设计的,因此可以将它们归属到系统的运算函数类中,然而根据不同的需要,有时系统又将它们放入到数学函数类中。下面列出的是几个最常见的这类函数:,2.4.4 函数名的书写规则 通过上面的举例读者容易看到,在Mathematica中函数名的书写规则可以归纳如下: (1) 函数名必须以大写字母开头,后面的字母小写,例如Sin,Tan等。 当函数名可分成几个段时,每个段的开头字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论