在數學、物理學中,變數(variable)又稱變量,是表達式或公式中,沒有固定的值而可以變動的數或量;該數或量可以是隨意的,也可能是未指定或未定的。表示變數的字母,統稱為變元、元[1],即變元是一個用來表示值的符號。在語義上,變數(變量)相對於常數(常量)。初等數學中,也以未知數、未知量代稱變數。
在其他科學中,英語 variable 亦稱變項[2]、變因[3],是任何欲觀測或欲操縱的概念、屬性、情況、事物、因素,其在質或量(性質或數量)上可變。
在數學領域中,一個變數可以代表「某個數據」,但也可用以表示:一個數、一個向量、一個矩陣、一個函數、一個函數的參數、一個集合或一個集合的元素等數學符號表達的內容[4]。
起源及概念之演進
弗朗索瓦·韋達於16世紀末引入了使用字母表示已知及未知數字的想法,並將這些字母視同數字般運算,以在最後簡單代入數值求解。弗朗索瓦·韋達習慣會以子音字母表示已知值,以母音字母表示未知值[6] 。
1637年,勒內·笛卡兒引入以表示公式中的未知數,以表示已知數的習慣[7],此一習慣至到今日依然常見。
1660年代起,艾薩克·牛頓及哥特佛萊德·萊布尼茲分別獨立發展出無窮小演算,主要研究一個「可變量」的無窮小變動如何導致另一個量(第一個變數(量)的函數值)相對應的變動。之後過了近一個世紀,李昂哈德·尤拉修正了無窮小微積分的用語,並引入的概念,是個函數,具有參數及值。直到19世紀末,「變數」這一詞幾乎都被用來指函數的參數及值。
19世紀下半葉,人們發覺無窮小微積分的基礎似乎不夠形式化,不足以處理像是處處不可微之連續函數這類自相矛盾的問題。為了解決此類問題,卡爾·魏爾斯特拉斯引入了新的定義,以取代之前對極限的直觀概念。對極限,舊的概念描述「當「變數」變動且趨近於時,會趨近於,其中的「趨近」並沒有明確的定義或上下文。魏爾斯特拉斯則將上述句子以下列公式取代:
其中的5個變數均不被視為是變動的。
計算機科學上
變量通常是可被修改的,即可以用來表示可變的狀態。這是許多語言(如Java)的基本概念之一。有的語言可能定義其它術語,如C語言的左值來精確地表示這裡的(可能匿名的)存儲空間的概念,而「變量」則在變量名的意義上被強調。
當某個已宣告變數開始使用,直譯器或編譯器通常會設定一個空間來儲存所給出的值。稍後該變數不再使用時,那些空間可以回收。
也有觀點認為,變量應該和數學的原意一致,不需要允許它儲存的值可變,不需要有能力表示可變狀態。Haskell的類型變量仍然符合這個含義。
每種編程語言都有規則指定甚麼才可作為變數的名字。
使用C和其相關語言,變數名稱在語法上稱為標識符,必須是由英文字母、數字和底線組成,且必須由字母起頭。有時還不可以使用某些保留字命名。
使用某些語言,變數的名字同時告訴了這個變數帶有甚麼種類的值。例如FORTRAN的程式裏,變數的首個字母顯示了它是整數還是浮點數。變數名字首個字符是$的話,在BASIC的程式裏表示其值是字串。Perl透過字首如$,@,%和&來分辨哪是純量、陣列、雜湊或副程式。
每個編程組織都有非正式的命名規矩——單打獨鬥的程式員亦是如此。有人喜歡所有變數都用簡單的英文字母取名,認為能增加輸入程式碼的速度,但只要變數一多,就會容易混淆,甚至以後自己看回程式碼也不懂在寫甚麼。
迴圈控制變數這樣的虛變量和數學上的習慣類似,通常以i
, j
, k
命名。
統計學上
變量是統計學研究中對象的特徵。它可以是定性的也可以是定量的,一個定量變量要麼是離散的,要麼是連續的。社會科學中研究變量的關係,通常採用數學中對應的觀念,把一個變量稱為自變量(獨立變量),另一個變量稱之為因變量(依賴變量)[9]。
參考文獻
參見
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.