Template:複變運算
e ^ ( i * pi ) =
-1( i * j * k ) =
-1 (四元數)
模板文档
本模板為Help:计算功能的一個擴展,提供了一些Help:计算不支援的計算。
概要
本模板比Help:计算多了以下功能:
使用方法
本模板的第一參數為欲計算的運算式,關於運算式的語法詳見#語法一節。參數number class為指定運算時使用的數體。若使用其軟重定向版本{{計算}}則有第二參數可以使用,用途為指定輸出的小數位數。
其基礎語法為:
|
或
|
參數說明
- 第一參數:要計算的數學式
|number class=
:使用的数域,可以是:|should math=
:布林值,是否直接輸出適用於<math></math>
的LaTeX原始碼|use math=
:布林值,是否直接輸出完整的<math></math>
数学公式|useOtherModule=
:布林值,是否允許載入其他模塊中返回數字的LUA數學函數或數學模板
語法
本節將說明本模板輸入的運算式之語法。
項目 | 語法 | 說明 | 範例 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
數字的表達 |
| 數字的表達可分為實數表達、科學記號和含單位的數。
|
| ||||||||||||||||
四則運算與冪運算 | 運算式運算符運算式 | 依序以中綴表示法表達運算式即可。 |
| ||||||||||||||||
函數 | 函數 (參數1,參數2 ...) | 调用现有函数。所有函數都至少要傳入一個參數。 |
| ||||||||||||||||
多組運算 | 運算式1;運算式2 | 僅會顯示最後一組運算的結果 |
| ||||||||||||||||
變數定義 | 變數名稱←運算式 | 給特定名稱的變數賦值。需特別注意所有變數的範圍(Scope)皆相同(可想像所有變數皆為全域變數),包括函數中的參數,因此若函數外層已經定義了變數x則函數內部需避免使用同名變數x。 |
| ||||||||||||||||
函數定義 | 函數名稱:參數1,參數2 ...↦函數運算式; | 函數的語法為以名稱起始並以冒號區隔函數名稱與定義(函數名稱可留空,但冒號不能省去),整個語法要以分號(; )結尾。位於映射符號(↦ )前方為函數的變數或參數,後方為函數主體定義,即 f : x ↦ f (x) ; 。函數可以有多個變數,但僅能有單個輸出,即或。同時函數語法不建議寫成嵌套結構,即不建議將函數定義內包含另一個函數的定義,但可以分開定義再行組合;此外,函數定義內不能包含分號,因為分號會視為函數的結尾。 |
| ||||||||||||||||
運算符優先序調整 | (運算式優先算符運算式)運算符運算式 | 使用括號來令特定運算優先進行。 |
|
詳細運算符、常數及函數列表
運算符
語法 | 名稱 | 元數 | 說明 | 優先 | 範例 | 效果 | math輸出 |
---|---|---|---|---|---|---|---|
基礎算术 | |||||||
+ | 2 | 計算兩數之和 | 9 | 7 + 3 | 10 | ||
- | 2 | 計算兩數之差 | 9 | 7 - 3 | 4 | ||
* | 2 | 計算兩數之乘積 | 10 | 7 * 3 | 21 | ||
× | 2 | 計算兩數之乘積 | 10 | 7 × 3 | 21 | ||
/ | 2 | 計算兩數相除之商 | 10 | 7 / 3 | 2.3333333333333 | ||
÷ | 2 | 計算兩數相除之商 | 10 | 7 ÷ 3 | 2.3333333333333 | ||
% | 2 | 計算兩數相除之餘數 | 10 | 7 % 3 | 1 | ||
^ | 2 | 計算兩數之冪運算 | 12 | 7 ^ 3 | 343 | ||
e | 2 | 當e左鄰一實數、右鄰一整數時,則為科學記號,以 256e-3 為例,其代表的結果為。要注意的是左邊的數必為單一實數、右邊的數必為整數,可為負數,且中間不能有空格。 | ∞ | 12.3e4 | 123000 | ||
() | 1 | 改變運算優先順序 | ∞ | 2*(2+3) | 10 | ||
数论 | |||||||
+ | 1 | 表達一正數 | 14 | +7 | 7 | ||
- | 1 | 計算一數的相反數 | 14 | -7 | -7 | ||
% | 2 | 計算兩數相除之餘數 | 10 | 7 % 3 | 1 | ||
布尔代数 | |||||||
& | 2 | 兩邏輯是否皆為真 | 5 | (1=1) & (1=2) | 0 | ||
↑ | 2 | 兩邏輯是否不全為真 | 5 | (1=1) ↑ (1=2) | 1 | ||
| | 2 | 兩邏輯是否有一者為真 | 4 | (1=1) | (1=2) | 1 | ||
↓ | 2 | 兩邏輯是否全為假 | 4 | (1=1) ↓ (1=2) | 0 | ||
⊕ | 2 | 兩邏輯是否相異 | 4 | (1=1) ⊕ (1=2) | 1 | ||
⇔ | 2 | 兩邏輯是否相同 | 4 | (1=1) ⇔ (1=2) | 0 | ||
~ | 1 | 邏輯否定 | 13 | ~(1=2) | 1 | ||
and | 2 | 邏輯且的字母模式。使用時須與前後文各間隔至少一個空格 | 5 | (1=1) and (1=2) | 0 | ||
nand | 2 | 邏輯與非的字母模式。使用時須與前後文各間隔至少一個空格 | 5 | (1=1) nand (1=2) | 1 | ||
or | 2 | 邏輯或的字母模式。使用時須與前後文各間隔至少一個空格 | 4 | (1=1) or (1=2) | 1 | ||
nor | 2 | 邏輯或非的字母模式。使用時須與前後文各間隔至少一個空格 | 4 | (1=1) nor (1=2) | 0 | ||
xor | 2 | 邏輯異或的字母模式。使用時須與前後文各間隔至少一個空格 | 4 | (1=1) xor (1=2) | 1 | ||
xnor | 2 | 邏輯若且唯若的字母模式。使用時須與前後文各間隔至少一個空格 | 4 | (1=1) xnor (1=2) | 0 | ||
not | 1 | 邏輯非的字母模式。使用時須與前後文各間隔至少一個空格 | 13 | not (1=2) | 1 | ||
数值修约 | |||||||
round | 2 | round 的運算子模式,會將一數四捨五入到指定的位數。使用時須與前後文各間隔至少一個空格 | 8 | π round 6 | 3.141593 | ||
代数 | |||||||
⋅ | 2 | 表達一數的係數 | 10 | 2⋅π | 6.2831853071796 | ||
← | 2 | 給予變數數值 | 7 | x ← 7;x | 7 | ||
↦ | 2 | 給予函數定義 | 12 | :x,y↦x^2+y^2;(5,2) | 29 | ||
: | 構成函數 | 2 | 冒號( : )為定義函數時區隔函數的名稱與函數的主體,而冒號(: )與分號(; )的區間構成一個函數的定義。在冒號左邊的內容為函數的名稱,在冒號右邊的內容為函數的內容。若函數沒有名稱也需要輸寫冒號。 | 7 | f:x↦x^2;(5) | 25 | |
, | 2 | 產生數組供多元函數使用 | 1 | 7, 3 | 7, 3 | ||
複變 | |||||||
* | 1 | 計算一數的共軛複數 | 14 | *(7+3i) | 7-3i | ||
i | 1 | 表達純虛數 | ∞ | 3i | 3i | ||
二元关系 | |||||||
> | 2 | 比較兩數大小 | 6 | 7 > 3 | 1 | ||
< | 2 | 比較兩數大小 | 6 | 7 < 3 | 0 | ||
≥ | 2 | 比較兩數大小 | 6 | 7 ≥ 3 | 1 | ||
≤ | 2 | 比較兩數大小 | 6 | 7 ≤ 3 | 0 | ||
= | 2 | 兩數是否相等 | 3 | 7 = 3 | 0 | ||
≠ | 2 | 兩數是否不相等 | 3 | 7 ≠ 3 | 1 | ||
技術性 | |||||||
; | 2 | 分隔兩運算式,結果將取最後一個分號後的結果 | 1 | 7 ; 3 | 3 | ||
return | 1 | 返回數值。需注意return後方必須跟著一個數值或表達式,否則會變成未定義行為而出現預期外的結果。 | 2 | return 7;8 | 7 | ||
三角函数 | |||||||
° | 1 | 用於表示角度單位的符號。 | 10 | 180° | 3.1415926535898 | ||
π | 1 | 表示圓周率。 | 10 | 3π | 9.4247779607694 |
- 註:另有
>=
、<=
、==
(相等判斷)、~=
(不相等判斷)、!=
(不相等判斷)、@=
(數值指派)、+=
(相加指派)、-=
(相減指派)、*=
(相乘指派)、/=
(相除指派)、^=
(冪指派)、&=
(邏輯與指派)、|=
(邏輯或指派)可供使用,其會自動替換為上表中對應的運算元。指派運算元須注意等號左邊必須是一個單一變數詞語,不可以是括弧或函數變換的結果。
常數和數值
語法 | 名稱 | 別名 | 說明 | 數值 | 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輸出 |
---|---|---|---|---|---|---|
基礎算术 | ||||||
div | 2 | 用於在math輸出時,以分數的形式顯示 | div(7,3) | 2.3333333333333 | ||
dot | 2 | 計算兩數的內積。 | dot(7,3) | 21 | ||
pow | 2 | 計算兩數之冪運算 | pow(7,3) | 343 | ||
数论 | ||||||
gcd | 不定 | 計算多個數的最大公因數。 | gcd(7,21) | 7 | ||
lcm | 不定 | 計算多個數的最小公倍數。 | lcm(7,3,21) | 21 | ||
digits | 1 | 取得整數的位數個數 | digits(7321) | 4 | ||
divisor | 2 | 取得某數的第n個正因數 | divisor(6,1),divisor(6,2),divisor(6,3),divisor(6,4) | 1, 2, 3, 6 | ||
primedivisor | 2 | 取得某數的第n個質因數 | primedivisor(210,1),primedivisor(210,2),primedivisor(210,3),primedivisor(210,4) | 2, 3, 5, 7 | ||
divisorsigma | 2 | 計算特定整數的除數函數 | divisorsigma(1,6) | 12 | ||
eulerphi | 1 | 取得小於等於n的正整數中與n互質的數的數目 | eulerphi(8) | 4 | ||
findnext | 向後尋找 | 2 | 尋找下一個符合條件的整數 | findnext(:x↦x % 6 = 0;,6) | 12 | |
findlast | 向前尋找 | 2 | 尋找前一個符合條件的整數 | findlast(:x↦x % 6 = 0;,10) | 6 | |
初等函數 | ||||||
abs | 1 | 計算一數與原點的歐幾里得距離 | abs(-3) | 3 | ||
log | 1 | log(e) | 1 | |||
log | 2 | log(2,16) | 4 | |||
sgn | 1 | sgn(-7) | -1 | |||
sqrt | 1 | 計算一數的主平方根值 | sqrt(16) | 4 | ||
inverse | 1 | inverse(7) | 0.14285714285714 | |||
exp | 1 | exp(π⋅i) | -1 | |||
数值修约 | ||||||
floor | 1 | 向下取整 | floor(7.3) | 7 | ||
ceil | 1 | 向上取整 | ceil(7.3) | 8 | ||
round | 3 | 對一數進行四捨五入。第一參數為欲四捨五入的數字;第二參數為欲四捨五入的位數;第三參數為當數值修約底數非十進制時的底數。 | round(π,6) | 3.141593 | ||
trunc | 2 | 對一數取截尾函數。第一參數為欲截尾的數字;第二參數為欲截尾的位數。 | trunc(π,6) | 3.141592 | ||
特殊函數 | ||||||
binomial | 2 | 計算二項式係數。亦可以被理解為從n個相異元素中取出k個元素的方法數。 | binomial(7,3) | 35 | ||
factorial | 1 | 計算一數的階乘 | factorial(7) | 5040 | ||
gamma | 1 | 計算一數的Γ函数 | gamma(7) | 720 | ||
LambertW | 2 | 計算一數的朗伯W函数 | LambertW(1) | 0.56714329040978 | ||
代数 | ||||||
norm | 2 | 計算一數或向量的範數 | norm(3+4i,2) | 5 | ||
summation | 3 | 計算以函數表達之數列的總和。第一參數為數列首項;第二參數為數列末項;第三參數為用以表達數列的函數 | summation(1,5,:x↦x^2;) | 55 | ||
product | 3 | 計算以函數表達之數列的連乘積。第一參數為數列首項;第二參數為數列末項;第三參數為用以表達數列的函數 | product(1,5,:it↦it;) | 120 | ||
<不定> | 不定 | 调用自行定义的函数,這些函數通常是或。以 f:x↦x^2;;f(5) 為例,其中f:x↦x^2; 定義了函數,並调用了函数。函數的語法為以名稱起始並以冒號區隔函數名稱與定義(函數名稱可留空,但冒號不能省去),整個語法要以分號(; )結尾。位於映射符號(↦ )前方為函數的變數或參數,後方為函數主體定義。函數可以有多個變數,但僅能有單個輸出;同時函數語法不建議使用嵌套結構,即不建議將函數定義內包含另一個函數的定義,但可以分開定義再行組合;此外,函數定義內不能包含分號,因為分號會被視為函數結尾。 | f:x↦x^2;,f(5) | f, 25 | ||
ele | 1 | 取得特定代數空間(如四元數)的第n個單位元,如ele(2)即e₂=j | ele(2) | j | ||
微積分 | ||||||
limit | 3 | 計算一函數在x=x₀的極限。需注意此運算為估計,運算精度約僅有7位有效數字。第一參數為x₀;第二參數為逼近方向,1表示右極限、-1表示左極限、0表示一般的極限,此時若極限不存在則返回nan;第三參數為欲求極限的函數。 | limit(0,1,:x↦div(x,x);) | 1 | ||
diff | 2 | 計算一函數在x=x₀的導數。需注意此運算為估計,運算精度約僅有7位有效數字。第一參數為欲求導數x=x₀的函數;第二參數為x₀。 | diff(cos,div(2⋅pi,3)) | -0.86602540379001 | ||
integral | 4 | 計算一函數在從a到b的定積分。需注意此運算為估計,運算精度約僅有7位有效數字,且積分範圍(a和b的距離)越大,精確度會越低。第一參數為a、第一參數為b、第三參數為欲求定積分的函數、第四參數為取樣數,若未填寫則使用預設值2000。 | integral(0,π,:x↦sin(x);) | 2 | ||
複變 | ||||||
re | 1 | 取得一數的實數部分。 | re(7+3i) | 7 | ||
im | 1 | 取得一數的虛數部分 | im(7+3i) | 3 | ||
nonRealPart | 1 | 取得一數的非實數部分 | nonRealPart(7+3i+2j+k) | 3i+2j+k | ||
scalarPartQuaternion | 1 | 取得四元數的純量部分 | scalarPartQuaternion(7+3i+2j+k) | 7 | ||
vectorPartQuaternion | 1 | 取得四元數的向量部分 | vectorPartQuaternion(7+3i+2j+k) | 3i+2j+k | ||
arg | 1 | 計算一複數的輻角 | arg(3+7i) | 1.1659045405098 | ||
cis | 1 | 計算一數的純虛指數函數值 | cis(π) | -1 | ||
conjugate | 1 | conjugate(7+3i) | 7-3i | |||
統計 | ||||||
average | 不定 | 計算數組的算術平均數。 | average(7,3,2,1) | 3.25 | ||
geoaverage | 不定 | 計算數組的幾何平均數 | geoaverage(7,3,2,1) | 2.5457298950218 | ||
maximum | 不定 | 計算數組的最大值 | maximum(7,3,2,1) | 7 | ||
minimum | 不定 | 計算數組的最小值 | minimum(7,3,2,1) | 1 | ||
selectlist | 不定 | 輸出數組中指定位置的元素。第一參數為要輸出的元素序號,第二參數之後為數組 | selectlist(2,7,3,2,1) | 3 | ||
σ | 不定 | 計算數組的標準差 | σ(7,3,2,1) | 2.2776083947861 | ||
技術性 | ||||||
hide | 隱藏運算式 | 不定 | 在math模式下隱藏指定運算式。本函數的結果為最後一個參數。可作為連續運算式的表達,所有已輸入的運算式皆會計算,但結果會隱藏。亦可用於自訂函數中的多運算式表達。 | hide(y←5,x←7,x⋅y),5 | 35, 5 | |
exprs | 一系列運算式 | 不定 | 在math模式時顯示所有運算式,運算結果為最後一則運算式。可作為連續運算式的表達,所有已輸入的運算式皆會計算。 | exprs(y←5,x←7,x⋅y),5 | 35, 5 | |
lastexpr | 最後一則運算式 | 不定 | 在math模式時顯示最後一則運算式,運算結果也為最後一則運算式。可作為連續運算式的表達,所有已輸入的運算式皆會計算。 | lastexpr(y←5,x←7,x⋅y),5 | 35, 5 | |
equalexpr | 連續等式 | 不定 | 生成連續等式。 | equalexpr(2+2,2*2) | 4 | |
call | 呼叫函數 | 不定 | 呼叫一個函數。用於處理匿名函數或返回值是函數的情況。 | call((:x,y↦sin(x)+cos(y);),π,0) | 1 | |
<functionName>AtModule<ModulePageName> | 不定 | 调用其他模块的函数。須注意函數名稱必須是純英文、模組名稱也必須是純英文,不能有空格或其他符號。例如若需要呼叫Module:Element中的 getAtomicWeight 函數,則須表示為getAtomicWeightAtModuleElement 。 | getAtomicWeightAtModuleElement(10) | 20.1797 | ||
range | 指定範圍 | 3 | 指定一範圍,當一數落在該範圍外則視為非數(NaN)。第一參數為要判定的數,第二和第三參數分別為範圍的最小和最大值。 | range(7,1,5),range(4,1,5) | nan, 4 | |
if | 3 | 指定特定條件下時的運算式。第一參數為條件、第二參數為條件為真時的運算式、第三參數為條件為假時的運算式。 | if(3>2,1,0) | 1 | ||
iff | 函數型條件運算式 | 3 | 同if,不過參數可以是函數,條件成立時才會呼叫。 | iff(3>2,:nil↦1;,:nil↦2;) | 1 | |
ifelse | 條件運算式 if...else | 不定 | 類似if,用法為ifelse(條件1, 條件1為真的結果, 條件2, 條件2為真的結果, ... , 條件n, 條件n為真的結果, 條件皆為假的結果) | ifelse(3>2,10,3<2,20,30) | 10 | |
ifelsef | 函數型條件運算式 if...else | 不定 | 同ifelse,不過參數可以是函數,條件成立時才會呼叫。 | ifelsef(3>2,:nil↦10;,3<2,:nil↦20;,:nil↦30;) | 10 | |
random | 2 | 取一個隨機數。若無指定參數,或參數中包含非數(NaN),則取0-1之間的隨機實數;若指定了參數1,則取1到參數1之間的隨機數;若指定了參數1與參數2,則取參數1到參數2之間的隨機數 | random(1,10) | 5 | ||
randomseed | 設定隨機種子碼 | 1 | 將隨機數的種子碼設定為輸入的參數,並返回實際設定的種子碼。若輸入的參數非實數則用當前時間隨機產生種子碼。 | randomseed(10) | 10 | |
三角函数 | ||||||
sin | 1 | 計算一數的正弦值 | sin(π) | 0 | ||
cos | 1 | 計算一數的餘弦值 | cos(π) | -1 | ||
tan | 1 | 計算一數的正切值 | tan(π) | 0 | ||
cot | 1 | 計算一數的餘切值 | cot(div(π,2)) | 0 | ||
sec | 1 | 計算一數的正割值 | sec(π) | -1 | ||
csc | 1 | 計算一數的餘割值 | csc(div(π,2)) | 1 | ||
asin | 1 | 計算一數的反正弦值 | asin(1) | 1.5707963267949 | ||
acos | 1 | 計算一數的反餘弦值 | acos(1) | 0 | ||
atan | 1 | 計算一數的反正切值 | atan(1) | 0.78539816339745 | ||
acot | 1 | 計算一數的反餘切值 | acot(1) | 0.78539816339745 | ||
asec | 1 | 計算一數的反正割值 | asec(1) | 0 | ||
acsc | 1 | 計算一數的反餘割值 | acsc(1) | 1.5707963267949 | ||
sinh | 1 | 計算一數的雙曲正弦值 | sinh(π) | 11.548739357258 | ||
cosh | 1 | 計算一數的雙曲餘弦值 | cosh(π) | 11.591953275522 | ||
tanh | 1 | 計算一數的雙曲正切值 | tanh(π) | 0.99627207622075 | ||
coth | 1 | 計算一數的雙曲餘切值 | coth(π) | 1.0037418731973 | ||
sech | 1 | 計算一數的雙曲正割值 | sech(π) | 0.086266738334054 | ||
csch | 1 | 計算一數的雙曲餘割值 | csch(π) | 0.086589537530047 | ||
asinh | 1 | 計算一數的雙曲反正弦值 | asinh(1) | 0.88137358701954 | ||
acosh | 1 | 計算一數的雙曲反餘弦值 | acosh(1) | 0 | ||
atanh | 1 | 計算一數的雙曲反正切值 | atanh(0.5) | 0.54930614433405 | ||
acoth | 1 | 計算一數的雙曲反餘切值 | acoth(1.5) | 0.80471895621705 | ||
asech | 1 | 計算一數的雙曲反正割值 | asech(1) | 0 | ||
acsch | 1 | 計算一數的雙曲反餘割值 | acsch(1) | 0.88137358701954 | ||
cis | 1 | 計算一數的純虛指數函數值 | cis(π) | -1 | ||
gd | 1 | 計算一數的古德曼函數值 | gd(e) | 1.4390113159637 | ||
arcgd | 1 | 計算一數的反古德曼函數值 | arcgd(1) | 1.2261911708835 | ||
cogd | 1 | 計算一數的餘古德曼函數值 | cogd(π) | 0.08648169656714 |
自訂函數用法
- 具名函數
基本函數定義方式為「 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個運算數。」(²
和₆
被忽略,剩下「+」而無法運算)
參數
進行複變數的運算
参数 | 描述 | 类型 | 状态 | |
---|---|---|---|---|
運算式 | 1 | 要計算的運算式 | 字符串 | 必需 |
小數位數 (計算模板專用) | 2 | 使用{{計算}}模板時才支持這個參數。 | 数字 | 可选 |
運算數字模式 | number class | 要運算的數字模式,可以是實數、cmath(複數)、qmath(四元數)、no calc(不計算)、mathtag(以<math>輸出)或直接寫Module:模組名稱.運算庫來指定使用特定模組來運算。
| 字符串 | 可选 |
使用<math> | use math | 是否使用<math>
| 布尔 | 可选 |
是否以<math>原碼輸出 | should math | 輸出結果字串是否轉換為<math>原碼格式輸出。若use math設定為是,則此參數會自動當成是。
| 布尔 | 可选 |
是否可呼叫其他模組 | useOtherModule | 是否可呼叫其他模組的函數。
| 布尔 | 可选 |
重定向
- {{計算}}
參見
🔥 Top keywords: Baike: 首页Special:搜索胖猫跳江事件背着善宰跑九龍城寨之圍城逆天奇案2璩静淚之女王歌手2024Energy (組合)新生 (网络剧)习近平匈牙利邊佑錫劉俊謙 (香港)金智媛神耆小子塞尔维亚金秀賢 (男演員)母亲节猩球崛起:王國誕生九龍寨城馴鹿寶貝家族榮耀之繼承者Seventeen (組合)六四事件不夠善良的我們张维为楊佩潔TripleS支配物种庆余年郭葦昀洪若潭命案金惠奫2024年英雄联盟季中邀请赛春色寄情人BABYMONSTER笑看風雲乘風2024排球少年!!角色列表破墓徐巧芯中华人民共和国中華民國打天下2WIND BREAKER—防風少年—习明泽排球少年!!彭丽媛磁暴ILLIT贾斯汀·比伯逆天奇案BOYNEXTDOOR猿人爭霸戰:猩凶革命張書偉我的婆婆怎麼那麼可愛我獨自升級怪獸8號謝坤達IVE (組合)與鳳行關於我轉生變成史萊姆這檔事角色列表黃道十二宮福建號航空母艦虽然不是英雄葉乃文五月天張員瑛草榴社区張文傑2024年花蓮地震极光香緹·摩爾迷宮飯呂家愷搜查班長1958日本劉德華海莉·鮑德溫蕭景鴻越位 (足球)葬送的芙莉蓮周處除三害 (電影)毛泽东願榮光歸香港林峯周雨彤伍允龍羅毓儀香港Baike: 分類索引沒有秘密猩球崛起:終極決戰角質層唐振剛柯佳嬿文化大革命