打开主菜单

Mathematica/定义变量和函数

< Mathematica

给变量赋值编辑

和别的语言一样,在Mathematica中我们也能给自己的变量赋值。

不过,与别的语言不同的是,您不需要专门去定义一个变量。事实上,在您给变量赋值之前,就能够对其进行运算。这时Mathematica只是把这个变量当作一个代数符号,它可以表示任何的值。这时这个符号的颜色是蓝色的。

 In[19]:=	a + b + a
Out[19]=	2 a + b

像很多别的语言那样,Mathematica用等号(=)来表示给变量赋值。

 In[20]:=	a = 1
Out[20]=	1

赋值之后这个变量的颜色变成了黑色。黑色说明它已经不是一个单纯的代数符号,而是有了自己的含义。比如说,刚才已经给a赋了1这个值,这个时候a就代表1。再计算一遍a+b+a,得到的结果就与赋值之前不同了。

 In[21]:=	a + b + a
Out[21]=	2 + b

除了赋值让a等于某个数之外,我们还可以赋值让a等于某个变量或等于某个式子,比如说:

 In[22]:=	a = 2 b
Out[22]=	2 b
 In[23]:=	a + b + a
Out[23]=	5 b

您甚至可以给a赋值让它等于某个函数:

 In[24]:=	a = Sin
Out[24]=	Sin
 In[25]:=	a[Pi]
Out[25]=	0

在Mathematica中,一旦您给一个变量赋了值,这个值会一直保留,直到您改变它的值、清除它的值或退出Mathematica。忘记前面赋过的值是导致计算出错的一个常见原因。因此,在不用的时候要记得清除变量的值。

用a=.或者Clear[a]可以清除a的值。[1]清除过后a的颜色又变成了蓝色。

 In[26]:=	a =.
 In[27]:=	a + b + a
Out[27]=	2 a + b


定义函数编辑

在Mathematica中已经有了大量内建函数,但有时我们还需要定义自己的函数。

如果要定义一个函数 的话,写法是这样的:

 In[28]:=	f[x_] := x^2

注意在“:=”符号的左边,x后面要加上一段下划线“_”;而右边的x则不需要加上。[2]

然后就可以像使用Mathematica内建的函数一样使用自己定义的函数:

 In[29]:=	f[a]
Out[29]=	a2

自己定义的变量或函数也能像内建函数那样用问号查看它的信息

 In[30]:=	?f
	Global`f			
	f[x_]:=x2

像清除变量的值一样,我们也可以用Clear来清除函数的值:

 In[31]:=	Clear[f]
 In[32]:=	f[a]
Out[32]=	f[a]

Mathematica内建的函数首字母都是大写。为了避免与内建函数混淆,建议自己定义的变量和函数首字母都采用小写。但这不是强制的。


注记编辑

  1. 在使用=.或者Clear来清除变量的值之后,Mathematica还会在内存中保存着这个变量,即使它没有任何值。此外还有一个Remove函数,能够把这个变量完全删除。
  2. 这种奇怪的写法是有它的含义的。在Mathematica中,定义函数的本质是定义一个全局的模式匹配规则。在本教程的核心语言部分将会详细介绍关于这些内容。参见Mathematica/初级操作#赋值Mathematica/规则、模式、函数


Mathematica虚拟全书中的相关内容编辑