變數

维基百科,自由的百科全书
跳转至: 导航搜索

初等數學裡,變數变量是一個用來表示值的符號(一般為拉丁字母),該值可以是隨意的,也可能是未指定或未定的。在代數運算時,將變數當作明確的數值代入運算中,可以於單次運算時解出多個問題。一個典型的例子為一元二次公式,該公式可以解出每個一元二次方程的值,只需要將方程的係數代入公式中的變數即可。

變數這個概念在微積分中也很重要。一般,一個函數 y = f(x) 會包含兩個變數,參數 x 和值 y。這也是「變數」這個名稱的由來,當參數「變動」時,值也會相對應地「變動」[1]。另外在更深的數學中,變數也可以只代表某個數據,一般為數字,但也可能為向量矩陣或函數等數學物件。

電腦科學中,變數是指一個表示某個存在記憶體中的值的名稱。

起源及概念之演進[编辑]

弗朗索瓦·韋達於16世紀末引入了使用字母表示已知及未知數字的想法,並將這些字母視同數字般運算,以在最後簡單代入數值求解。弗朗索瓦·韋達習慣會以子音字母表示已知值,以母音字母表示未知值[2]

1637年,勒内·笛卡兒引入以xyz表示公式中的未知數,以abc表示已知數的習慣[3],此一習慣至到今日依然常見。

1660年代起,艾薩克·牛頓哥特佛萊德·萊布尼茲分別獨立發展出無窮小微積分,主要研究一個「可變量」的無窮小變動如何導致另一個量(第一個變數(量)的函數)相對應的變動。之後過了近一個世紀,李昂哈德·尤拉修正了無窮小微積分的用語,並引入y = f(x)的概念,f是個函數,具有參數x及值y。直到19世紀末,「變數」這一詞幾乎都被用來指函數的參數及值。

19世紀下半葉,人們發覺無窮小微積分的基礎似乎不夠形式化,不足以處理像是處處不可微連續函數這類自相矛盾的問題。為了解決此類問題,卡爾·魏爾斯特拉斯引入了新的定義,以取代之前對極限的直觀概念。對極限,舊的概念描述「當「變數」x變動且趨近於a時,f(x)會趨近於L,其中的「趨近」並沒有明確的定義。魏爾斯特拉斯則將上述句子以下列公式取代:

(\forall \epsilon >0) (\exists \eta >0) (\forall x) \;|x-a|<\eta \Rightarrow |L-f(a)|<\epsilon,

其中的5個變數均不被視為是變動的。

此一靜態公式導致今日對變數只是表示數學物件(可以是未知的,或可被給定集合中的任何元素取代)之符號的概念。

計算機科學上[编辑]

變數可視為在電腦記憶體裏可修改的、存在的命名空間。

當某個已宣告變數開始使用,直譯器或編譯器通常會設定一個空間來儲存所給出的值。稍後該變數不再使用時,那些空間可以回收

有些編程語言中的變數必須帶有型別

命名[编辑]

每種編程語言都有規則指定甚麼才可作為變數的名字。

使用C和其相關語言,變數名稱必須是由英文字母、數字和底線組成,且必須由字母起頭。有時還不可以使用某些保留字命名。

使用某些語言,變數的名字同時告訴了這個變數帶有甚麼種類的值。例如FORTRAN的程式裏,變數的首個字母顯示了它是整數還是浮点数。變數名字首個字符是$的話,在BASIC的程式裏表示其值是字串。Perl透過字首如$,@,%和&來分辨哪是純量、陣列、雜湊或副程式。

每個編程組織都有非正式的命名規矩——單打獨鬥的程式員亦是如此。有人喜歡所有變數都用簡單的英文字母取名,認為能增加輸入程式碼的速度,但只要變數一多,就會容易混淆,甚至以後自己看回程式碼也不懂在寫甚麼。

迴圈控制變數通常以i, j ,k命名。

统计学上[编辑]

变量是统计学研究中对象的特征。它可以是定性的也可以是定量的,一个定量变量要么是离散的,要么是连续的。社会科学中研究变量的关系,通常採用數學中對應的觀念,把一个变量称为自变量(独立变量),另一个变量称之为因变量(依赖变量)[4]

參考文獻[编辑]

  1. ^ Syracuse University. Appendix One Review of Constants and Variables. cstl.syr.edu. 
  2. ^ Fraleigh, John B. A First Course in Abstract Algebra 4. United States: Addison-Wesley. 1989年: 276. ISBN 0-201-52821-5. 
  3. ^ Tom Sorell, Descartes: A Very Short Introduction, (2000). New York: Oxford University Press. p. 19.
  4. ^ David Freedman; Robert Pisani, Roger Purves. Statistics. Norton & Company. 1998: 136. ISBN 9780393960433. 3 (English).