09011511056中国石油大学数学实验教材初稿.pdf(2)

1970-01-01 08:00

2)不同类型数的转换

在 Mathematica的运算中对数字的类型要求是不同的。例如在公式推导中的数字常用整 数或有理数表示,在数值计算中的数字常用实数表示。一般情况下在输出行 Out[n]中,系统 根据输入行 In[n]的数字类型对计算结果做出相应的处理。如果有一些特殊的要求,就要进 行数据类型转换。

在 Mathematica中的提供以下几个函数达到转换的目的:

函数 功能

N[x] x//N N[x,n] Rationalize[x] Rationalize[x,dx]

将 x转换成实数(有效位一般为 6位)

与 N[x]等价

将 x转换成近似实数,精度为 n 给出 x的有理数近似值

给出 x的有理数近似值,误差小于 dx

举例:

In[1]:=N[5/3,20]

Out[1]=1.6666666666666666667

%表示上一输出结果,即%=1.6666666666666666667。 In[2]:=N[%,10]

第二个输出是把上面计算的结果变为 10位精度的数字。 Out[2]=1.666666667 In[3]:=Rationalize[%] Out[3]=

5

3

3)数学常数

Mathematica定义了一些常见的数学常数,这些数学常数都是精确数。

常数 Pi E Degree I Infinity -infinity

意义

表示 π=3.14159…… 自然对数的底 e=2.71828…… 1度,π/180弧度 虚数单位 i 无穷大∞

负无穷大-∞

数学常数可用在公式推导和数值计算中,在数值计算中表示精确值。如: In[1]:=Pi^2 Out[1]=π2 In[2]:=Pi^2//N Out[2]=9.8696

4)变量

(1)变量的命名

Mathematica中内部函数和命令都是以大写字母开始的标示符,为了不会与它们混淆, 我们自定义的变量应该是以小写字母开始,后跟数字和字母的组合,长度不限。例如: a12,ast,aST都是合法的,而 12a,z*a,a b(中间有空格)是非法的。另外在 Mathematica中的 变量是区分大小写的。在 Mathematica中,变量不仅可以存放一个数值,还可以存放表达式 或复杂的算式。

4

(2)给变量赋值

在 Mathmatica中用等号=(或:=)为变量赋值。同一个变量可以表示一个数值,一个数 组,一个表达式,甚至一个图形。”=”称为立即赋值,”:=”称为延迟赋值。

如:

In[1]:=x=3 Out[1]=3

In[2]:=x^2+2*x Out[2]=15 In[3]:=x=%+1 Out[3]=16

对不同的变量可同时赋不同的值,例如:

In[4]:={u,v,w}={1,2,3} Out[4]={1,2,3} In[5]:=2u+3v+w Out[5]=11

对于已定义的变量,当不再使用它是,为防止变量值的混淆,可以随时用= .清除它的 值,如果变量本身也要清除用函数 Clear[var],例如:

In[6]:=u=.

(上面已定义了 u,v的值) In[7]:=2u+v

Out[7]=2+2u

(3)变量的替换

在给定一个表达式时,可用变量替换来计算表达式的不同值,即 expr/.x->xval,例如: In[1]:=f=x/2+1 Out[1]= 1+

x 2

In[2]:=f/.x->1 Out[2]=

3 2

In[3]:=f/.x->2 Out[3]=3

如果表达式中有多个变量,也可同时替换,方法为:expr/.{x->xval,y->yval,...} In[4]:=(x+y)(x-y)^2/.{x->3,y->1-a} Out[4]=(4-a)(2+a)2

1.2.3函数 1)系统函数

Mathematica中的函数与数学上的函数有些不同的地方,Mathematica中函数是一个具 有独立功能的程序模块,可以直接被调用。同时每一函数也可以包括一个或多个参数,也可 以没有参数。参数的的数据类型也比较复杂。更加详细的可以参看系统的帮助,了解各个函 数的功能和使用方法是学习 Mathematica软件的基础。

在 Mathmatic中定义了大量的数学函数可以直接调用。下面是一些常用函数:

5

函数

Sqrt[x] Floor[x] Ceiling[x] Sign[x] Round[x] Abs[x]

Max[x1,x2,x3……..] Min[x1,x2,x3……..] Random[] Random[R,xmax] Random[R,{xmin,xmax}] Exp[x] Log[x] Log[b,x]

开平方

功能

不比 x大的最大整数 不比 x小的最小整数 符号函数 接近 x的整数 x绝对值

x1,x2,x3…….中的最大值 x1,x2,x3…….中的最小值 0~1之间的随机函数

0~xmax之间的随机函数 (R为 Real,Integer,Complex之一)

xmin~xmax之间的随机函数 (R为 Real,Integer,Complex之一) 指数函数 ex 自然对数函数 lnx 以 b为底的对数函数logb x

Sin[x],Cos[x],Tan[x],Csc[x],Sec[x],Cot[x] 三角函数(变量是以弧度为单位的) ArcSin[x],ArcCos[x],ArcTan[x],ArcCsc[x], 反三角函数 ArcSec[x],ArcCot[x]

Sinh[x],Cosh[x],Tanhx[x],Csch[x],Sech[x]双曲函数 ,Coth[x]

ArcSinh[x],ArcCosh[x],ArcTanhx[x],ArcCs 反双曲函数 ch[x],ArcSech[x],ArcCoth[x]

m被 n整除的余数,余数与 n同号 Mod[m,n]

m/n的整数部分 Quotient[m,n]

GCD[n1,n2,n3……]或 GCD[s] LCM[n1,n2……]或 LCM[s] N! N!!

n1,n2,…或 s的最大公约数,s为数据集合 n1,n2…或 s的最小公倍数,s为数据集合 N的阶程 N的双阶程

2)函数的定义

(1)函数的立即定义

立即定义函数的语法如下 f[x_]=expr函数名为 f,自变量为 x,expr是表达式。在执行 时会把 expr中的 x都换为 f的自变量 x(不是 x_)。函数的自变量具有局部性,只对所在的 函数起作用。函数执行结束后也就没有了,不会改变其它全局定义的同名变量的值。

请看下面的例子,定义函数 f(x)=xsinx+x2,对定义的函数我们可以求函数值,也可绘 制它的图形。

In[1]:=f[x_]=x*Sin[x]+x^2 Out[1]=x 2 +xSin[x] In[2]:=f[1] Out[2]=1+Sin[1]

6

In[3]:=Plot[f[x],{x,-3,3}]

8 6 4 2

-3 -2 -1 1 2 3

对于定义的函数我们可以使用命令 Clear[f]清除掉,而 Remove[f]则从系统中删除该 函数。

(2)多变量函数的定义

也可以定义多个变量的函数,格式为 f[x_,y_,z_,…]=expr自变量为 x,y,z…,相应的 expr中的自变量会被替换。例如定义函数 f(x,y)=xy+ycosx。

In[1]:=f[x_,y_ ]=x*y+y*Cos[x] Out[1]=xy+yCos[x]

In[2]:=f[2,3]

Out[2]=6+3Cos[2]

(3)延迟定义函数

延迟定义函数从定义方法上与即时定义的区别为“=”与“:=”延迟定义的格式为 f[x_]: =expr其他操作基本相同。那么延迟定义和即时定义的主要区别是什么?即时定义函数在 输入函数后立即定义函数并存放在内存中并可直接调用。延时定义只是在调用函数时才真正 定义函数。

(4)使用条件运算符定义和 If命令定义函数

? x ?1 x ? 0 ? 如果要定义如: f (x) ? ? x2 0 ? x ? ?1 ? sin x x ? ?1 ?

这样的分段函数应该如何定义,显然要根据 x的不同值给出不同的表达式。一种办法

是使用条件运算符,基本格式为:f[x_]:=expr/;condition,当 condition条件满足时才 把 expr赋给 f(x)。

In[1]:=f[x_]:=x-1/;x>=0

f[x_]:=x^2/;(x>-1)&&(x<0) f[x_]:=x-1/;x<= -1 In[4]:=Plot[f[x],{x,-2,2}]

7

1

0.5

-2 -1

-0.5 -1

1 2

当然使用 If命令也可以定义上面的函数,If语句的格式为 If[条件,值 1,值 2],如果 条件成立取“值 1”,否则取“值 2”,用 If语句的定义结果如下:

In[5]:=g[x_]:=If[x>=0,x-1,If[x<= -1,Sin[x],x^2]] In[6]:=Plot[g[x],{x,-2,2}]

1

0.5

-2 -1

-0.5 -1

1 2

可以看出用 If定义的函数 g(x)和前面函数 f(x)相同,这里使用了两个 If嵌套,逻辑性 比较强。

1.2.4表

将一些相互关联的元素放在一起,使它们成为一个整体。既可以对整体操作,也可以对 整体中的一个元素单独进行操作。在Mathematica中这样的数据结构就称作表(List)。表{a,b,c} 表示一个向量;表{{a,b},{c,d}}表示一个矩阵。 1)建立表

在表中元素较少时,可以采取直接列表的方式列出表中的元素。 In[1]:={1,2,3}

Out[1]={1,2,3}

下面是符号表达式的列表:

In[2]:=1+%x+x^%

Out[2]={1+2x,1+2x+x2,1+3x+x3}

如果表中的元素较多时,可以用建表函数进行建表:

函数

Table[f,{i,min,max,step}] Table[f,{min,max}]

功能

以 step为步长给出 f的数值表,i由 min 变到 max

给出 f的数值表,i由 min变到 max,步 长为 1

8


09011511056中国石油大学数学实验教材初稿.pdf(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018年大学生入党积极分子入党申请书范文 (3页)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: