模板:複變運算
维基媒体模板 / 維基百科,自由的 encyclopedia
e ^ ( i * pi ) =
-1( i * j * k ) =
-1 (四元數)
專案頁面 | 語法 | 說明 | 範例 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
數字的表達 |
|
數字的表達可分為實數表達、科學記號和含單位的數。
|
| ||||||||||||||||
四則運算與冪運算 | 運算式 運算符 運算式
|
依序以中綴表示法表達運算式即可。 |
| ||||||||||||||||
函數 | 函數 ( 參數1, 參數2 ...)
|
呼叫現有函數。所有函數都至少要傳入一個參數。 |
| ||||||||||||||||
多組運算 | 運算式1 ; 運算式2
|
僅會顯示最後一組運算的結果 |
| ||||||||||||||||
變數定義 | 變數名稱 ← 運算式
|
給特定名稱的變數賦值。需特別注意所有變數的範圍(Scope)皆相同(可想像所有變數皆為全域變數),包括函數中的參數,因此若函數外層已經定義了變數x則函數內部需避免使用同名變數x。 |
| ||||||||||||||||
函數定義 | 函數名稱 : 參數1, 參數2 ...↦ 函數運算式 ;
|
函數的語法為以名稱起始並以冒號區隔函數名稱與定義(函數名稱可留空,但冒號不能省去),整個語法要以分號(; )結尾。位於對映符號(↦ )前方為函數的變數或參數,後方為函數主體定義,即 f : x ↦ f (x) ; 。函數可以有多個變數,但僅能有單個輸出,即 |
| ||||||||||||||||
運算子優先序調整 | (運算式 優先算符 運算式) 運算符 運算式
|
使用括號來令特定運算優先進行。 |
|
語法 | 名稱 | 元數 | 說明 | 優先 | 範例 | 效果 | math輸出 |
---|---|---|---|---|---|---|---|
z基礎算術 | |||||||
a+ |
a | 2 | a 計算兩數之和 |
a9 | a7 + 3 |
a 10 |
a |
a- |
a | 2 | a 計算兩數之差 |
a9 | a7 - 3 |
a 4 |
a |
a* |
a | 2 | a 計算兩數之乘積 |
a10 | a7 * 3 |
a 21 |
a |
a× |
a | 2 | a 計算兩數之乘積 |
a10 | a7 × 3 |
a 21 |
a |
a/ |
a | 2 | a 計算兩數相除之商 |
a10 | a7 / 3 |
a 2.3333333333333 |
a |
a÷ |
a | 2 | a 計算兩數相除之商 |
a10 | a7 ÷ 3 |
a 2.3333333333333 |
a |
a% |
a | 2 | a 計算兩數相除之餘數 |
a10 | a7 % 3 |
a 1 |
a |
a^ |
a | 2 | a 計算兩數之冪運算 |
a12 | a7 ^ 3 |
a 343 |
a |
ae |
a | 2 | a 當e左鄰一實數、右鄰一整數時,則為科學記號,以 256e-3 為例,其代表的結果為 |
a999∞ | a12.3e4 |
a 123000 |
a |
a() |
a | 1 | a 改變運算優先順序 |
a999∞ | a2*(2+3) |
a 10 |
a |
z數論 | |||||||
a+ |
a | 1 | a 表達一正數 |
a14 | a+7 |
a 7 |
a |
a- |
a | 1 | a 計算一數的相反數 |
a14 | a-7 |
a -7 |
a |
a% |
a | 2 | a 計算兩數相除之餘數 |
a10 | a7 % 3 |
a 1 |
a |
z布林代數 | |||||||
a& |
a | 2 | a 兩邏輯是否皆為真 |
a5 | a(1=1) & (1=2) |
a 0 |
a |
a↑ |
a | 2 | a 兩邏輯是否不全為真 |
a5 | a(1=1) ↑ (1=2) |
a 1 |
a |
a| |
a | 2 | a 兩邏輯是否有一者為真 |
a4 | a(1=1) | (1=2) |
a 1 |
a |
a↓ |
a | 2 | a 兩邏輯是否全為假 |
a4 | a(1=1) ↓ (1=2) |
a 0 |
a |
a⊕ |
a | 2 | a 兩邏輯是否相異 |
a4 | a(1=1) ⊕ (1=2) |
a 1 |
a |
a⇔ |
a | 2 | a 兩邏輯是否相同 |
a4 | a(1=1) ⇔ (1=2) |
a 0 |
a |
a~ |
a | 1 | a 邏輯否定 |
a13 | a~(1=2) |
a 1 |
a |
aand |
a | 2 | a 邏輯且的字母模式。使用時須與前後文各間隔至少一個空格 |
a5 | a(1=1) and (1=2) |
a 0 |
a |
anand |
a | 2 | a 邏輯與非的字母模式。使用時須與前後文各間隔至少一個空格 |
a5 | a(1=1) nand (1=2) |
a 1 |
a |
aor |
a | 2 | a 邏輯或的字母模式。使用時須與前後文各間隔至少一個空格 |
a4 | a(1=1) or (1=2) |
a 1 |
a |
anor |
a | 2 | a 邏輯或非的字母模式。使用時須與前後文各間隔至少一個空格 |
a4 | a(1=1) nor (1=2) |
a 0 |
a |
axor |
a | 2 | a 邏輯異或的字母模式。使用時須與前後文各間隔至少一個空格 |
a4 | a(1=1) xor (1=2) |
a 1 |
a |
axnor |
a | 2 | a 邏輯若且唯若的字母模式。使用時須與前後文各間隔至少一個空格 |
a4 | a(1=1) xnor (1=2) |
a 0 |
a |
anot |
a | 1 | a 邏輯非的字母模式。使用時須與前後文各間隔至少一個空格 |
a13 | anot (1=2) |
a 1 |
a |
z數值修約 | |||||||
around |
a | 2 | a round 的運算子模式,會將一數四捨五入到指定的位數。使用時須與前後文各間隔至少一個空格 |
a8 | aπ round 6 |
a 3.141593 |
a |
z代數 | |||||||
a⋅ |
a | 2 | a 表達一數的系數 |
a10 | a2⋅π |
a 6.2831853071796 |
a |
a← |
a | 2 | a 給予變數數值 |
a7 | ax ← 7;x |
a 7 |
a |
a↦ |
a | 2 | a 給予函數定義 |
a12 | a:x,y↦x^2+y^2;(5,2) |
a 29 |
a |
a: |
a 構成函數
|
2 | a 冒號( : )為定義函數時區隔函數的名稱與函數的主體,而冒號(: )與分號(; )的區間構成一個函數的定義。在冒號左邊的內容為函數的名稱,在冒號右邊的內容為函數的內容。若函數沒有名稱也需要輸寫冒號。 |
a7 | af:x↦x^2;(5) |
a 25 |
a |
a, |
a | 2 | a 產生數組供多元函數使用 |
a1 | a7, 3 |
a 7, 3 |
a |
z複變 | |||||||
a* |
a | 1 | a 計算一數的共軛複數 |
a14 | a*(7+3i) |
a 7-3i |
a |
ai |
a | 1 | a 表達純虛數 |
a999∞ | a3i |
a 3i |
a |
z二元關係 | |||||||
a> |
a | 2 | a 比較兩數大小 |
a6 | a7 > 3 |
a 1 |
a |
a< |
a | 2 | a 比較兩數大小 |
a6 | a7 < 3 |
a 0 |
a |
a≥ |
a | 2 | a 比較兩數大小 |
a6 | a7 ≥ 3 |
a 1 |
a |
a≤ |
a | 2 | a 比較兩數大小 |
a6 | a7 ≤ 3 |
a 0 |
a |
a= |
a | 2 | a 兩數是否相等 |
a3 | a7 = 3 |
a 0 |
a |
a≠ |
a | 2 | a 兩數是否不相等 |
a3 | a7 ≠ 3 |
a 1 |
a |
z技術性 | |||||||
a; |
a | 2 | a 分隔兩運算式,結果將取最後一個分號後的結果 |
a1 | a7 ; 3 |
a 3 |
a |
areturn |
a | 1 | a 返回數值。需注意return後方必須跟着一個數值或表達式,否則會變成未定義行為而出現預期外的結果。 |
a2 | areturn 7;8 |
a 7 |
a |
z三角函數 | |||||||
a° |
a | 1 | a 用於表示角度單位的符號。 |
a10 | a180° |
a 3.1415926535898 |
a |
aπ |
a | 1 | a 表示圓周率。 |
a10 | a3π |
a 9.4247779607694 |
a |
語法 | 名稱 | 別名 | 說明 | 數值 | math輸出 |
---|---|---|---|---|---|
e |
自然底數 | 自然對數函數的底數 | 2.718281828459 | ||
i |
虛數單位 | 表達純虛數 | i | ||
j |
四元數單位j | 表達純四元數虛數j | j | ||
k |
四元數單位k | 表達純四元數虛數k | k | ||
nan |
非數 | 用於表示數學上未定義的數值,或計算發生錯誤的數值。 | nan | ||
nil |
空值 | null |
空值。在math模式下顯示為空白,用於表達或遞移無參數的函數之參數。請注意,由於此值為空值,因此請勿將此值參與運算,以免發生錯誤。 | nil | |
° |
角度單位 | 用於表示角度單位的符號。 | 0.017453292519943 | ||
π |
圓周率 | pi |
表示圓周率。 | 3.1415926535898 | |
ω |
艾森斯坦整數單位 | 表達艾森斯坦整數單位。 | -0.5+0.86602540378444i |
語法 | 名稱 | 參數 數量 |
說明 | 範例 | 效果 | math輸出 |
---|---|---|---|---|---|---|
z基礎算術 | ||||||
adiv |
a | 2 | a 用於在math輸出時,以分數的形式顯示 |
adiv(7,3) |
a 2.3333333333333 |
a |
adot |
a | 2 | a 計算兩數的內積。 |
adot(7,3) |
a 21 |
a |
apow |
a | 2 | a 計算兩數之冪運算 |
apow(7,3) |
a 343 |
a |
z數論 | ||||||
agcd |
a | 不定 | a 計算多個數的最大公因數。 |
agcd(7,21) |
a 7 |
a |
alcm |
a | 不定 | a 計算多個數的最小公倍數。 |
alcm(7,3,21) |
a 21 |
a |
adigits |
a | 1 | a 取得整數的位數個數 |
adigits(7321) |
a 4 |
a |
adivisor |
a | 2 | a 取得某數的第n個正因數 |
adivisor(6,1),divisor(6,2),divisor(6,3),divisor(6,4) |
a 1, 2, 3, 6 |
a |
aprimedivisor |
a | 2 | a 取得某數的第n個質因數 |
aprimedivisor(210,1),primedivisor(210,2),primedivisor(210,3),primedivisor(210,4) |
a 2, 3, 5, 7 |
a |
adivisorsigma |
a | 2 | a 計算特定整數的除數函數 |
adivisorsigma(1,6) |
a 12 |
a |
aeulerphi |
a | 1 | a 取得小於等於n的正整數中與n互質的數的數目 |
aeulerphi(8) |
a 4 |
a |
afindnext |
a 向後尋找
|
2 | a 尋找下一個符合條件的整數 |
afindnext(:x↦x % 6 = 0;,6) |
a 12 |
a |
afindlast |
a 向前尋找
|
2 | a 尋找前一個符合條件的整數 |
afindlast(:x↦x % 6 = 0;,10) |
a 6 |
a |
z初等函數 | ||||||
aabs |
a | 1 | a 計算一數與原點的歐幾里得距離 |
aabs(-3) |
a 3 |
a |
alog |
a | 1 | a | alog(e) |
a 1 |
a |
alog |
a | 2 | a | alog(2,16) |
a 4 |
a |
asgn |
a | 1 | a | asgn(-7) |
a -1 |
a |
asqrt |
a | 1 | a 計算一數的主平方根值 |
asqrt(16) |
a 4 |
a |
ainverse |
a | 1 | a | ainverse(7) |
a 0.14285714285714 |
a |
aexp |
a | 1 | a | aexp(π⋅i) |
a -1 |
a |
z數值修約 | ||||||
afloor |
a | 1 | a 向下取整 |
afloor(7.3) |
a 7 |
a |
aceil |
a | 1 | a 向上取整 |
aceil(7.3) |
a 8 |
a |
around |
a | 3 | a 對一數進行四捨五入。第一參數為欲四捨五入的數字;第二參數為欲四捨五入的位數;第三參數為當數值修約底數非十進制時的底數。 |
around(π,6) |
a 3.141593 |
a |
atrunc |
a | 2 | a 對一數取截尾函數。第一參數為欲截尾的數字;第二參數為欲截尾的位數。 |
atrunc(π,6) |
a 3.141592 |
a |
z特殊函數 | ||||||
abinomial |
a | 2 | a 計算二項式系數。亦可以被理解為從n個相異元素中取出k個元素的方法數。 |
abinomial(7,3) |
a 35 |
a |
afactorial |
a | 1 | a 計算一數的階乘 |
afactorial(7) |
a 5040 |
a |
agamma |
a | 1 | a 計算一數的Γ函數 |
agamma(7) |
a 720 |
a |
aLambertW |
a | 2 | a 計算一數的朗伯W函數 |
aLambertW(1) |
a 0.56714329040978 |
a |
z代數 | ||||||
anorm |
a | 2 | a 計算一數或向量的範數 |
anorm(3+4i,2) |
a 5 |
a |
asummation |
a | 3 | a 計算以函數表達之數列的總和。第一參數為數列首項;第二參數為數列末項;第三參數為用以表達數列的函數 |
asummation(1,5,:x↦x^2;) |
a 55 |
a |
aproduct |
a | 3 | a 計算以函數表達之數列的連乘積。第一參數為數列首項;第二參數為數列末項;第三參數為用以表達數列的函數 |
aproduct(1,5,:it↦it;) |
a 120 |
a |
a<不定> |
a | 不定 | a 呼叫自行定義的函數,這些函數通常是 f:x↦x^2;;f(5) 為例,其中f:x↦x^2; 定義了函數; )結尾。位於對映符號(↦ )前方為函數的變數或參數,後方為函數主體定義。函數可以有多個變數,但僅能有單個輸出;同時函數語法不建議使用巢狀結構,即不建議將函數定義內包含另一個函數的定義,但可以分開定義再行組合;此外,函數定義內不能包含分號,因為分號會被視為函數結尾。 |
af:x↦x^2;,f(5) |
a f, 25 |
a |
aele |
a | 1 | a 取得特定代數空間(如四元數)的第n個單位元素,如ele(2)即e₂=j |
aele(2) |
a j |
a |
z微積分 | ||||||
alimit |
a | 3 | a 計算一函數在x=x₀的極限。需注意此運算為估計,運算精度約僅有7位有效數字。第一參數為x₀;第二參數為逼近方向,1表示右極限、-1表示左極限、0表示一般的極限,此時若極限不存在則返回nan;第三參數為欲求極限的函數。 |
alimit(0,1,:x↦div(x,x);) |
a 1 |
a |
adiff |
a | 2 | a 計算一函數在x=x₀的導數。需注意此運算為估計,運算精度約僅有7位有效數字。第一參數為欲求導數x=x₀的函數;第二參數為x₀。 |
adiff(cos,div(2⋅pi,3)) |
a -0.86602540379001 |
a |
aintegral |
a | 4 | a 計算一函數在從a到b的定積分 |
aintegral(0,π,:x↦sin(x);) |
a 2 |
a |
z複變 | ||||||
are |
a | 1 | a 取得一數的實數部分。 |
are(7+3i) |
a 7 |
a |
aim |
a | 1 | a 取得一數的虛數部分 |
aim(7+3i) |
a 3 |
a |
anonRealPart |
a | 1 | a 取得一數的非實數部分 |
anonRealPart(7+3i+2j+k) |
a 3i+2j+k |
a |
ascalarPartQuaternion |
a | 1 | a 取得四元數的純量部分 |
ascalarPartQuaternion(7+3i+2j+k) |
a 7 |
a |
avectorPartQuaternion |
a | 1 | a 取得四元數的向量部分 |
avectorPartQuaternion(7+3i+2j+k) |
a 3i+2j+k |
a |
aarg |
a | 1 | a 計算一複數的輻角 |
aarg(3+7i) |
a 1.1659045405098 |
a |
acis |
a | 1 | a 計算一數的純虛指數函數值 |
acis(π) |
a -1 |
a |
aconjugate |
a | 1 | a | aconjugate(7+3i) |
a 7-3i |
a |
z統計 | ||||||
aaverage |
a | 不定 | a 計算數組的算術平均數。 |
aaverage(7,3,2,1) |
a 3.25 |
a |
ageoaverage |
a | 不定 | a 計算數組的幾何平均數 |
ageoaverage(7,3,2,1) |
a 2.5457298950218 |
a |
amaximum |
a | 不定 | a 計算數組的最大值 |
amaximum(7,3,2,1) |
a 7 |
a |
aminimum |
a | 不定 | a 計算數組的最小值 |
aminimum(7,3,2,1) |
a 1 |
a |
aselectlist |
a | 不定 | a 輸出數組中指定位置的元素。第一參數為要輸出的元素序號,第二參數之後為數組 |
aselectlist(2,7,3,2,1) |
a 3 |
a |
aσ |
a | 不定 | a 計算數組的標準差 |
aσ(7,3,2,1) |
a 2.2776083947861 |
a |
z技術性 | ||||||
ahide |
a 隱藏運算式
|
不定 | a 在math模式下隱藏指定運算式。本函數的結果為最後一個參數。可作為連續運算式的表達,所有已輸入的運算式皆會計算,但結果會隱藏。亦可用於自訂函數中的多運算式表達。 |
ahide(y←5,x←7,x⋅y),5 |
a 35, 5 |
a |
aexprs |
a 一系列運算式
|
不定 | a 在math模式時顯示所有運算式,運算結果為最後一則運算式。可作為連續運算式的表達,所有已輸入的運算式皆會計算。 |
aexprs(y←5,x←7,x⋅y),5 |
a 35, 5 |
a |
alastexpr |
a 最後一則運算式
|
不定 | a 在math模式時顯示最後一則運算式,運算結果也為最後一則運算式。可作為連續運算式的表達,所有已輸入的運算式皆會計算。 |
alastexpr(y←5,x←7,x⋅y),5 |
a 35, 5 |
a |
aequalexpr |
a 連續等式
|
不定 | a 生成連續等式。 |
aequalexpr(2+2,2*2) |
a 4 |
a |
acall |
a 呼叫函數
|
不定 | a 呼叫一個函數。用於處理匿名函數或返回值是函數的情況。 |
acall((:x,y↦sin(x)+cos(y);),π,0) |
a 1 |
a |
a<functionName>AtModule<ModulePageName> |
a | 不定 | a 呼叫其他模組的函數。須注意函數名稱必須是純英文、模組名稱也必須是純英文,不能有空格或其他符號。例如若需要呼叫Module:Element中的 getAtomicWeight 函數,則須表示為getAtomicWeightAtModuleElement 。 |
agetAtomicWeightAtModuleElement(10) |
a 20.1797 |
a |
arange |
a 指定範圍
|
3 | a 指定一範圍,當一數落在該範圍外則視為非數(NaN)。第一參數為要判定的數,第二和第三參數分別為範圍的最小和最大值。 |
arange(7,1,5),range(4,1,5) |
a nan, 4 |
a |
aif |
a | 3 | a 指定特定條件下時的運算式。第一參數為條件、第二參數為條件為真時的運算式、第三參數為條件為假時的運算式。 |
aif(3>2,1,0) |
a 1 |
a |
aiff |
a 函數型條件運算式
|
3 | a 同if,不過參數可以是函數,條件成立時才會呼叫。 |
aiff(3>2,:nil↦1;,:nil↦2;) |
a 1 |
a |
aifelse |
a 條件運算式 if...else
|
不定 | a 類似if,用法為ifelse(條件1, 條件1為真的結果, 條件2, 條件2為真的結果, ... , 條件n, 條件n為真的結果, 條件皆為假的結果) |
aifelse(3>2,10,3<2,20,30) |
a 10 |
a |
aifelsef |
a 函數型條件運算式 if...else
|
不定 | a 同ifelse,不過參數可以是函數,條件成立時才會呼叫。 |
aifelsef(3>2,:nil↦10;,3<2,:nil↦20;,:nil↦30;) |
a 10 |
a |
arandom |
a | 2 | a 取一個隨機數。若無指定參數,或參數中包含非數(NaN),則取0-1之間的隨機實數;若指定了參數1,則取1到參數1之間的隨機數;若指定了參數1與參數2,則取參數1到參數2之間的隨機數 |
arandom(1,10) |
a 1 |
a |
arandomseed |
a 設置隨機種子碼
|
1 | a 將隨機數的種子碼設置為輸入的參數,並返回實際設置的種子碼。若輸入的參數非實數則用當前時間隨機產生種子碼。 |
arandomseed(10) |
a 10 |
a |
z三角函數 | ||||||
asin |
a | 1 | a 計算一數的正弦值 |
asin(π) |
a 0 |
a |
acos |
a | 1 | a 計算一數的餘弦值 |
acos(π) |
a -1 |
a |
atan |
a | 1 | a 計算一數的正切值 |
atan(π) |
a 0 |
a |
acot |
a | 1 | a 計算一數的餘切值 |
acot(div(π,2)) |
a 0 |
a |
asec |
a | 1 | a 計算一數的正割值 |
asec(π) |
a -1 |
a |
acsc |
a | 1 | a 計算一數的餘割值 |
acsc(div(π,2)) |
a 1 |
a |
aasin |
a | 1 | a 計算一數的反正弦值 |
aasin(1) |
a 1.5707963267949 |
a |
aacos |
a | 1 | a 計算一數的反餘弦值 |
aacos(1) |
a 0 |
a |
aatan |
a | 1 | a 計算一數的反正切值 |
aatan(1) |
a 0.78539816339745 |
a |
aacot |
a | 1 | a 計算一數的反餘切值 |
aacot(1) |
a 0.78539816339745 |
a |
aasec |
a | 1 | a 計算一數的反正割值 |
aasec(1) |
a 0 |
a |
aacsc |
a | 1 | a 計算一數的反餘割值 |
aacsc(1) |
a 1.5707963267949 |
a |
asinh |
a | 1 | a 計算一數的雙曲正弦值 |
asinh(π) |
a 11.548739357258 |
a |
acosh |
a | 1 | a 計算一數的雙曲餘弦值 |
acosh(π) |
a 11.591953275522 |
a |
atanh |
a | 1 | a 計算一數的雙曲正切值 |
atanh(π) |
a 0.99627207622075 |
a |
acoth |
a | 1 | a 計算一數的雙曲餘切值 |
acoth(π) |
a 1.0037418731973 |
a |
asech |
a | 1 | a 計算一數的雙曲正割值 |
asech(π) |
a 0.086266738334054 |
a |
acsch |
a | 1 | a 計算一數的雙曲餘割值 |
acsch(π) |
a 0.086589537530047 |
a |
aasinh |
a | 1 | a 計算一數的雙曲反正弦值 |
aasinh(1) |
a 0.88137358701954 |
a |
aacosh |
a | 1 | a 計算一數的雙曲反餘弦值 |
aacosh(1) |
a 0 |
a |
aatanh |
a | 1 | a 計算一數的雙曲反正切值 |
aatanh(0.5) |
a 0.54930614433405 |
a |
aacoth |
a | 1 | a 計算一數的雙曲反餘切值 |
aacoth(1.5) |
a 0.80471895621705 |
a |
aasech |
a | 1 | a 計算一數的雙曲反正割值 |
aasech(1) |
a 0 |
a |
aacsch |
a | 1 | a 計算一數的雙曲反餘割值 |
aacsch(1) |
a 0.88137358701954 |
a |
acis |
a | 1 | a 計算一數的純虛指數函數值 |
acis(π) |
a -1 |
a |
agd |
a | 1 | a 計算一數的古德曼函數值 |
agd(e) |
a 1.4390113159637 |
a |
aarcgd |
a | 1 | a 計算一數的反古德曼函數值 |
aarcgd(1) |
a 1.2261911708835 |
a |
acogd |
a | 1 | a 計算一數的餘古德曼函數值 |
acogd(π) |
a 0.08648169656714 |
a |
參數 | 描述 | 類型 | 狀態 | |
---|---|---|---|---|
運算式 | 1 | 要計算的運算式 | 字串 | 必填 |
小數碼數 (計算模板專用) | 2 | 使用{{計算}}模板時才支援這個參數。 | 數值 | 非必填 |
運算數字模式 | number class | 要運算的數字模式,可以是實數、cmath(複數)、qmath(四元數)、no calc(不計算)、mathtag(以<math>輸出)或直接寫Module:模組名稱.運算庫來指定使用特定模組來運算。
| 字串 | 非必填 |
使用<math> | use math | 是否使用<math>
| 布林值 | 非必填 |
是否以<math>原碼輸出 | should math | 輸出結果字串是否轉換為<math>原碼格式輸出。若use math設置為是,則此參數會自動當成是。
| 布林值 | 非必填 |
是否可呼叫其他模組 | useOtherModule | 是否可呼叫其他模組的函數。
| 布林值 | 非必填 |
![]() | 此模板被參照於約4,000個頁面。 為了避免造成大規模的影響,所有對此模板的編輯應先於沙盒、測試樣例或您的沙盒上測試。 測試後無誤的版本可以一次性地加入此模板中,但是修改前請務必於討論頁發起討論。 模板參照數量會自動更新。 |
![]() | 此模板使用Lua語言: |
本模板為Help:計算功能的一個擴展,提供了一些Help:計算不支援的計算。
概要
本模板比Help:計算多了以下功能:
使用方法
本模板的第一參數為欲計算的運算式,關於運算式的語法詳見#語法一節。參數number class為指定運算時使用的數體。若使用其軟重新導向版本{{計算}}則有第二參數可以使用,用途為指定輸出的小數碼數。
其基礎語法為:
|
或
|
參數說明
- 第一參數:要計算的數學式
|number class=
:使用的數體,可以是:|should math=
:布林值,是否直接輸出適用於<math></math>
的LaTeX原始碼|use math=
:布林值,是否直接輸出完整的<math></math>
數學公式|useOtherModule=
:布林值,是否允許載入其他模組中返回數字的LUA數學函數或數學模板
語法
本節將說明本模板輸入的運算式之語法。
自訂函數用法
- 具名函數
基本函數定義方式為「 f : x ↦ f (x) ;
」。
例如若要表達,則其應寫為「
f : x ↦ x^2 ;
」
- 匿名函數
匿名函數的語法為「: 參數1, 參數2 ...↦ 函數運算式 ;
」
- 以上例
而言,對應的匿名函數應寫為「
: x ↦ x^2 ;
」
匿名函數可以被直接呼叫,例如「{{計算結果|:x↦x^2;(5)}}
」→「」
- 函數中的函數
函數中可以包含另一個函數,例如「{{計算結果|:x↦exprs(f:y↦y^2;,f(x)^2);(5)}}
」→「」
- 函數作為參數
- 部分函數是以函數作為參數,例如
summation( )
、product( )
和一些微積分函數。條件運算式(if( )
)也有函數呼叫的版本iff( )
。
- 求和、求積與微積分函數
- 求和函數(
summation(start,end,function)
,)、求積函數(
summation(start,end,function)
,)、微分(
diff(function,x0)
,)、積分(
integral(a,b,function)
,)、極限(
limit(x0,way,function)
,)皆須傳入一個匿名函數,作為其數列計算的依據。
- 以求和函數
summation(start,end,function)
為例,若要表達,
從1到5的和,則代碼為:
- 「
{{計算結果|summation(1, 5, :x↦x^2;)}}
」→「」
- 「
- 求和/求積函數的變數
- 一般求和/求積函數的變數通常是i、j或k,而在此運算系統中,i、j與k已被視作常數無法使用。若需要讓顯示出來的結果為i、j或k可在英文字母後方加「t」,如it、jt或kt,顯示時t會省去:
- 「
{{計算結果|summation(1, 5, :it↦it^2;)}}
」→「」
- 「
- 求和函數(
- 函數條件運算式(
iff(條件,為真,為假)
)
- 函數的遞歸
- 具名函數可以遞歸調用,但須注意遞歸需要消耗較多的效能。函數的遞歸需要給出初始條件與遞歸結果,因此需要使用條件運算式,若用
if( )
會導致無窮呼叫而發生錯誤,因此需要使用到iff( )
。
- 以階乘為例,
時定義為1(初始條件),其餘為
:
- 例如「
{{計算結果|f:n↦iff(n≤1, 1, :nil↦f(n-1)*n;);,f(5)}}
」→「」
- 例如「
範例
{{計算|:x,y↦x^2+y^2;(5,2)}}
→29- 使用{{計算結果}}:
- 使用{{計算結果}}:
{{計算|maximum(2,5,7,6,9,999)}}
→999- 使用{{計算結果}}:
- 使用{{計算結果}}:
{{計算|log(2,256)}}
→8- 使用{{計算結果}}:
- 使用{{計算結果}}:
{{計算|sin(div(pi,6))}}
→0.5- 使用{{計算結果}}:
- 使用{{計算結果}}:
{{計算|sin(pi/6)}}
→0.5- 使用{{計算結果}}:
- 使用{{計算結果}}:
{{計算|cos(div(2⋅pi,3))}}
→-0.5- 使用{{計算結果}}:
- 使用{{計算結果}}:
{{計算|factorial(5)}}
→120- 使用{{計算結果}}:
- 使用{{計算結果}}:
限制
本模板僅支援輸入數字(0-9)、已定義的運算子符號(≤
、⇔
、≠
、&
、()
、+
、*
、-
、/
、÷
、⋅
、:
、↓
、|
、~
、←
、↑
、⊕
、×
、°
、;
、=
、≥
、<
、>
、↦
、,
、%
、^
)和半形英文字母(a-z及A-Z),其餘字元都會被忽略。
{{複變運算|2 ≈ 3}}
→「Lua錯誤:計算失敗:缺少運算子,數字 [2, 3] 無法運算。」(≈
被忽略,剩下「2<空白>3」而無法運算){{複變運算|²+₆}}
→「Lua錯誤:計算失敗:加法運算子需要2個運算數,但只找到1個運算數。」(²
和₆
被忽略,剩下「+」而無法運算)
參數
重新導向
- {{計算}}
參見
上述文件嵌入自Template:複變運算/doc。 (編輯 | 歷史) 編者可以在本模板的沙盒 (編輯 | 差異)和測試樣例 (建立)頁面進行實驗。 請在/doc子頁面中添加分類。本模板的子頁面。 |