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虛擬全書中的相關內容[編輯]