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內建的函數首字母都是大寫。為了避免與內建函數混淆,建議自己定義的變量和函數首字母都採用小寫。但這不是強制的。
註記
編輯- ↑ 在使用=.或者Clear來清除變量的值之後,Mathematica還會在內存中保存着這個變量,即使它沒有任何值。此外還有一個Remove函數,能夠把這個變量完全刪除。
- ↑ 這種奇怪的寫法是有它的含義的。在Mathematica中,定義函數的本質是定義一個全局的模式匹配規則。在本教程的核心語言部分將會詳細介紹關於這些內容。參見Mathematica/初級操作#賦值和Mathematica/規則、模式、函數。
Mathematica虛擬全書中的相關內容
編輯