Modul:Math/doc
Ini ialah laman pendokumenan untuk Modul:Math
![]() | Templat ini digunakan dalam 1,607,000+ laman. Untuk mengelakkan gangguan yang besar dan beban pelayan yang tidak diperlukan, perubahan kepada templat ini seharusnya hendaklah diuji di sublaman /kotak pasir atau /ujian templat ini, ataupun dalam atau di dalam sublaman pengguna. Perubahan yang sudah dicuba bolehlah ditambahkan dengan satu suntingan ke dalam templat ini. Sila bincangkan perubahan-perubahan tersebut terlebih dahulu pada laman perbincangan sebelum melaksanakannya. |
Modul ini menyediakan sejumlah fungsi matematik. Fungsi-fungsi ini boleh digunakan dari #invoke atau dari modul Lua yang lain.
Gunakan dari modul Lua yang lain
Untuk menggunakan modul dari halaman wiki biasa, tidak diperlukan persiapan khas. Sekiranya anda menggunakan modul dari modul Lua yang lain, pertama anda perlu memuatkannya, seperti ini:
local mm = require('Modul:Math')
(mm
pembolehubah berdiri untuk Modul Math; anda boleh memilih sesuatu yang lebih deskriptif jika anda suka.)
Sebilangan besar fungsi dalam modul mempunyai versi untuk Lua dan versi untuk #invoke. Ia adalah mungkin untuk menggunakan fungsi-fungsi #invoke dari modul Lua lain, tetapi menggunakan fungsi Lua mempunyai kelebihan bahawa anda tidak perlu untuk mengakses Lua objek bingkai. Fungsi Lua didahului oleh _
, sedangkan #invoke fungsinya tidak.
random (rawak)
{{#invoke:math|random}} {{#invoke:math|random|max_value}} {{#invoke:math|random|min_value|max_value}}
mm._random()
mm._random(max_value)
mm._random(min_value, max_value)
Menghasilkan nombor rawak.
- Jika tiada argumen (alasan yang dikemukakan) yang ditentukan, jumlah yang dihasilkan adalah lebih besar daripada atau sama dengan 0 dan kurang daripada 1.
- Jika satu argumen diberikan, nombor yang dihasilkan adalah bilangan bulat antara 1 dan argumen itu. Argumen mestilah integer (angka bulat) positif.
- Jika dua argumen disediakan, jumlah yang dihasilkan adalah integer antara argumen yang pertama dan kedua. Kedua-dua argumen mestilah integer, tetapi boleh menjadi negatif.
Fungsi ini tidak akan berfungsi dengan betul untuk nombor yang kurang daripada −232 dan lebih besar daripada 232 − 1. Sekiranya anda perlu menggunakan nombor di luar julat ini, disarankan agar anda menggunakan Modul:Random.
susunan
{{#invoke:math|order|n}}
mm._order(n)
Menentukan peringkat magnitud daripada nombor.
ketepatan
{{#invoke:math|precision|n}} {{#invoke:math|precision|x=n}}
mm._precision(number_string)
Menentukan ketepatan nombor. Sebagai contoh, untuk "4" ia akan kembali ke "0", untuk "4.567" ia akan kembali ke "3", dan untuk "100" ia akan kembali ke "-2".
Fungsi ini cuba menguraikan perwakilan rentetan nombor, dan mengesan sama ada nombor itu menggunakan notasi E. Atas sebab ini, apabila dipanggil daripada Lua, nombor yang sangat besar atau nombor yang sangat tepat harus dimasukkan secara langsung sebagai rentetan untuk mendapatkan hasil yang tepat. Sekiranya mereka dimasukkan sebagai nombor, jurubahasa Lua akan mengubahnya menjadi notasi E dan fungsi ini akan mengembalikan ketepatan notasi E daripada nombor nombor asal. Ini tidak menjadi masalah apabila nombor dipanggil dari #invoke, kerana semua dimasukkan dari #invoke dalam format rentetan.
max (maksimum)
{{#invoke:math|max|v1|v2|v3|...}}
mm._max(v1, v2, v3, ...)
Mengembalikan nilai maksimum dari nilai yang ditentukan. Nilai yang tidak dapat ditukar menjadi nombor adalah diabaikan.
median
{{#invoke:math|median|v1|v2|v3|...}}
mm._median(v1, v2, v3, ...)
Mengembalikan median nilai dari nilai yang ditentukan. Nilai yang tidak dapat ditukar menjadi nombor adalah diabaikan.
min
{{#invoke:math|min|v1|v2|v3|...}}
mm._min(v1, v2, v3, ...)
Mengembalikan nilai minimum dari nilai yang ditentukan. Nilai yang tidak dapat ditukar menjadi nombor adalah diabaikan.
sum (jumlah)
{{#invoke:math|sum|v1|v2|v3|...}}
mm._sum(v1, v2, v3, ...)
Mengembalikan jumlah nilai yang ditentukan. Nilai yang tidak dapat ditukar menjadi nombor adalah diabaikan.
purata
{{#invoke:math|average|v1|v2|v3|...}}
mm._average(v1, v2, v3, ...)
Mengembalikan purata nilai yang ditentukan. (Lebih tepatnya, nilai yang dikembalikan adalah purata aritmetik.) Nilai yang tidak dapat ditukar menjadi nombor adalah diabaikan.
round
{{#invoke:math|round|value|precision}} {{#invoke:math|round|value=value|precision=precision}}
mm._round(value, precision)
Rounds a number to the specified precision.
Note: As of October 2019, there is a bug in the display of some rounded numbers. When trying to round a number that rounds to "n.0", like "1.02", to the nearest tenth of a digit (i.e. |r=1
), this function should display "1.0", but it unexpectedly displays "1". Use the |precision_format=
parameter instead.
log10
{{#invoke:math | log10 | x}}
mm._log10(x)
Returns log10(x)
, the logarithm of x using base 10.
mod
{{#invoke:math|mod|x|y}}
mm._mod(x, y)
Gets x
modulo y
, or the remainder after x
has been divided by y
. This is accurate for integers up to 253; for larger integers Lua's modulo operator may return an erroneous value. This function deals with this problem by returning 0
if the modulo given by Lua's modulo operator is less than 0 or greater than y
.
gcd
{{#invoke:math|gcd|v1|v2|...}}
mm._gcd(v1, v2, ...)
Finds the greatest common divisor of the values specified. Values that cannot be converted to numbers are ignored.
precision_format
{{#invoke:math|precision_format|value_string|precision}}
mm._precision_format(value_string, precision)
Rounds a number to the specified precision and formats according to rules originally used for {{Rnd}}. Output is a string.
Parameter precision should be an integer. Negative values are permitted. Non-integers give unexpected result
- 1,234.567
- 2: 1,234.57
- −2: 1,200
- 2.5: 1,234.5658476404
- −2.5: 1,264.9110640674
cleanNumber
local number, number_string = mm._cleanNumber(number_string)
A helper function that can be called from other Lua modules, but not from #invoke. This takes a string or a number value as input, and if the value can be converted to a number, cleanNumber returns the number and the number string. If the value cannot be converted to a number, cleanNumber returns nil, nil
.