コンテンツへスキップ
Varligガイド
Varligホーム

組み込み関数リファレンス

このページでは、Varlig Calcに組み込まれているすべての関数を紹介します。関数は名前に続けて、カンマで区切った引数を丸かっこで囲んで呼び出します(sqrt(16)round(17.46, 0.05))。

  • 名前の大文字と小文字は区別されないので、SQRT(16) でも動作します。
  • 引数の数はチェックされます。sqrt(4, 9) は9を無視せず、エラーを表示します。
  • 数値は桁区切りを付けたまま書けます。カンマの後に3桁の数字が続けば桁区切り、カンマの後にスペースがあれば引数の区切りになるので、max(1,000, 2,000) は2,000、sqrt(1,024) は32です。
  • 関数の答えは、同じ行で丸めたり換算したりできます(sqrt(2) to 4 dpabs(-5 km) in m など)。
  • 下の表で名前を探し、該当するセクションで詳しい説明と例を確認してください。

多くの関数には、square root of 16 のような英語のフレーズもあります。言葉で数学を参照してください。関数を自分で作るには、自分で作る関数を参照してください。

すべての関数

関数 意味
abs(x) 絶対値。単位はそのまま。複素数では大きさ
sign(x) −1、0、1のいずれか
int(x), trunc(x) 整数部分(0の方向へ切り捨て)
round(x), round(x, step) 最も近い整数、または最も近い step の倍数
floor(x), floor(x, step) 切り下げ(負の無限大の方向へ)
ceil(x), ceil(x, step) 切り上げ(正の無限大の方向へ)
sqrt(x), cbrt(x) 平方根と立方根。単位の指数が割り切れれば単位も残ります
exp(x), ln(x) 自然指数関数と自然対数
log(x), log10(x), log2(x), logbase(x, b) 対数
sin, cos, tan 三角関数(ラジアン、または 30° のような角度)
sind, cosd, tand 三角関数(度)
asin, acos, atan 逆三角関数(結果はラジアン)
asind, acosd, atand 逆三角関数(結果は度)
atan2(y, x) 象限を考慮した角度(ラジアン)
sinh, cosh, tanh, asinh, acosh, atanh 双曲線関数
factorial(n), fact(n) 階乗。n! とも書けます
gcd(a, b), lcm(a, b) 最大公約数と最小公倍数。分数でも正確に計算
combination(n, k), permutation(n, k) 選び方の数
clamp(x, low, high) 値を範囲内に収める
hex(n), bin(n) 数値を16進数または2進数で表示
random(), rand(), random(a, b), rand(a, b) 乱数
complex(re, im), real, imag, conj, arg 複素数
sum, total, product, average, mean, avg, median, min, max, count, length, variance, stddev, stdev リストの合計と統計(いくつかは個別の引数も可)
sum(expr, var, lo, hi), summation(...), product(expr, var, lo, hi) カウンターを動かしながらの総和と総乗
range(a, b), range(a, b, step) 両端を含む数値のリスト
sort, reverse, unique, slice(list, start, end) リストの並べ替えと取り出し
map(expr, var, list), filter(cond, var, list) リストの各項目を計算、または判定
dot, cross, identity(n), shape, transpose, det, inverse, trace, rank ベクトルと行列
solve_system(A, b), eigenvalues, qr, lu, svd 連立一次方程式と行列の分解
solve(equation, var, lo, hi) 2つの境界の間で方程式を数値的に解く
differentiate(expr, var), derivative(expr, var) 式としての導関数
differentiate(expr, var, point), derivative(expr, var, point) ある点での微分係数(数値)
integrate(expr, var, lo, hi) 定積分(数値計算)
easter(year) 西方教会のイースター(日曜日)
tyre_speed(width, aspect, rim, rotation) タイヤサイズとホイールの回転から走行速度を求める

数値と数え上げ

関数 引数と意味
abs(x) 絶対値。量の単位はそのまま。複素数では大きさ
sign(x) 単位のない実数の符号(-1、0、1)
int(x), trunc(x) 整数部分(0の方向へ切り捨て)
sqrt(x) 平方根。負の数の場合は複素数の根として求めます:sqrt(-16 + 0i)
cbrt(x) 立方根。負の数にも使えます
factorial(n), fact(n) 0以上の整数の階乗。n! とも書けます
gcd(a, b) 2つの正確な数の最大公約数。負になることはありません
lcm(a, b) 2つの正確な数の最小公倍数。負になることはありません
clamp(x, low, high) 値を lowhigh の間に収めます。すべて同じ種類の値で、下限を先に書きます
permutation(n, k) n 個から k 個を順序付きで選ぶ方法の数
combination(n, k) n 個から k 個を順序を問わずに選ぶ方法の数
hex(x), bin(x) 数値を16進数または2進数で表示
calc
abs(-£45.20) 答え £45.20
sign(-5) 答え -1
int(7.8) 答え 7
sqrt(144 m^2) 答え 12 m
cbrt(-27) 答え -3
factorial(5) 答え 120
gcd(1920, 1080) 答え 120
lcm(4, 6) 答え 12
clamp(115, 0, 100) 答え 100
clamp(£120, £0, £100) 答え £100.00
combination(10, 2) 答え 45
permutation(8, 3) 答え 336
hex(255) 答え 0xFF
bin(10) 答え 0b1010

身近な使い方をいくつか挙げます。gcd(1920, 1080) を見ると、1920 × 1080の画面は16:9(1920 ÷ 120と1080 ÷ 120の比)だとわかります。combination(10, 2) は10人のグループで作れる2人組の数、permutation(8, 3) は8人のランナーに金・銀・銅を割り当てる方法の数です。

clamp は、値と2つの上下限がすべて同じ種類のものを表していれば、お金、量、時間を単位付きのまま扱います。そのため clamp(£120, £0, £100) で、返金額の上限を£100.00にできます。階乗と選び方の数には整数を使い、kn 以下にしてください。5!factorial(5) の短い書き方です。ほかの累乗根にはフレーズ root 3 of 27 を使います。汎用の root(...) 関数はありません。

端数処理

roundfloorceil には、丸める単位(ステップ)を省略可能な引数として渡せます。

calc
round(17.46, 0.05) 答え 17.45
ceil(23, 6) 答え 24
floor(7.8) 答え 7

ceil(23, 6) は、23個の卵を6個入りの箱単位に切り上げます。刻みは小数点以下の桁数ではありません。round(17.456, 2) は2単位で丸めるので18になり、round のヒントには代わりに 17.456 to 2 dp と書くよう提案が表示されます。有効数字で丸めるには、to 3 sf と書きます。ちょうど半分の値、負の数、お金の丸め方については、端数処理を参照してください。

三角関数と角度

関数の種類 意味
sin, cos, tan 三角関数。単位のない数値はラジアンとして扱います
sind, cosd, tand 単位のない数値を度として扱う三角関数
asin, acos, atan 逆三角関数。結果にはラジアンの単位が付きます
asind, acosd, atand 逆三角関数。結果を度で返します
atan2(y, x) 象限を考慮した角度。単位のないラジアンの数値で返します
sinh, cosh, tanh 双曲線関数
asinh, acosh, atanh 逆双曲線関数
calc
sin(30°) 答え 0.5
cosd(60) 答え 0.5
tan(45°) 答え 1
sin(pi/2) 答え 1
asind(0.5) 答え 30°
asin(1) 答え 1.5707963268 rad
asin(0.5) in degrees 答え 30°
atan2(-1, -1) * 180 / pi 答え -135
cosh(0) 答え 1

sincostan には、30°30 degrees のように、どの角度単位の値でも渡せます。asinacosatan の結果を度で表示するには、上の例のように in degrees を付けるか、度を返す関数を使います。

atan2y の値を先に受け取り、角度がどの象限にあるかを判断します。そのため atan2(-1, -1) は左下(−135°)を指します。atan(1) だけではこれを区別できません。

双曲線関数は単位のない数値を受け取ります。逆関数は、実数の範囲に収まる値しか受け付けません。たとえば asin(2)Error: imaginary number を表示します。複素数の結果については、複素数を参照してください。

対数と指数関数

関数 意味
ln(x) 自然対数
log(x), log10(x) 底が10の対数
log2(x) 底が2の対数
logbase(x, b) 底を b とする x の対数
exp(x) 自然指数関数
calc
log(1000) 答え 3
log10(1000000) 答え 6
log2(1024) 答え 10
logbase(81, 3) 答え 4
ln(exp(2)) 答え 2
exp(0) 答え 1

対数には正の数が必要です。log(0)Error: ∞log(-100)Error: imaginary number を表示します。複素数の対数を求めるには、ln(-1 + 0i) のように数を複素数として書きます。底は1以外の正の数でなければなりません。対数、指数関数、双曲線関数には、単位やお金を使えません。

乱数

calc答えは今日の日付やリアルタイムのデータによって変わります
random number between 1 and 6 答え 4
random(1, 6) 答え 2
rand(1, 100) 答え 57
random() 答え 0.4381930527
rand() 答え 0.9102746385
random(0, 1) 答え 0.2373052626
  • random(a, b) とフレーズ random number between a and b は、a から b まで(両端を含む)の整数を返します。
  • random() は0以上1未満の小数を返します。random(0, 1) は特別な扱いで、これと同じ動作をします。
  • randrandom の別名です。
  • 範囲には単位のない整数を小さいほうから指定し、64ビット整数の範囲に収めてください。引数が1つだけ、または3つ以上の場合や、小数、逆順の範囲を指定した場合はエラーになります。
  • Varligは、ノートを再計算するたびに新しい数を引くことがあります。後の行でも同じ数を使いたい場合は、出目 = random(1, 6) のように変数に保存してください。

リストと統計

calc
average([12, 18, 9, 21]) 答え 15
median([3, 9, 4, 7, 5]) 答え 5
sum([£12.50, £8, £4.25]) 答え £24.75
max(4, 9, 2) 答え 9
stddev([2, 4, 6]) 答え 2
sum(k, k, 1, 100) 答え 5,050
range(0, 20, 5) 答え [0, 5, 10, 15, 20]
sort([3, 1, 2]) 答え [1, 2, 3]
slice([10, 20, 30, 40], 1, 3) 答え [20, 30]
map(x * 1.2, x, [£10, £25]) 答え [£12.00, £30.00]
filter(x > 10, x, [4, 12, 18]) 答え [12, 18]

sumtotal とも書けます)、productaveragemeanavg とも書けます)、medianminmaxcountlengthvariancestddevstdev とも書けます)はリストを受け取り、いくつかは個別の引数も受け付けます。パーセンタイルを求める関数はありません。引数が4つの sumsummationproduct は、カウンターを lo から hi まで動かしながら式を足し合わせたり、掛け合わせたりします。reverseunique もリストを受け取ります。slice での位置の指定、標本統計と母集団統計などについては、リストと統計を参照してください。

ベクトル、行列、微積分

calc
dot([1, 2, 3], [4, 5, 6]) 答え 32
det([[2, 1], [1, 3]]) 答え 5
solve_system([[1, 1], [1, -1]], [10, 2]) 答え [6, 4]
solve(x * 1.2 = 60, x, 0, 100) 答え 50
differentiate(x^2, x, 3) 答え 6
integrate(x^2, x, 0, 3) 答え 9

solve_system([[1, 1], [1, -1]], [10, 2]) は、足すと10、差が2になる2つの数を求めます。solve(x * 1.2 = 60, x, 0, 100) は、20%のVATを加えると60になる税抜き価格を、0から100の範囲で探します。crossidentityshapetransposeinversetracerankeigenvaluesqrlusvd については、ベクトルと行列を参照してください。式としての導関数や、ソルバーと積分の制限については、総和、方程式の解法、微積分高度な数学:機能と制限を参照してください。

複素数

calc
abs(3 + 4i) 答え 5
complex(3, 4) 答え 3 + 4i
conj(3 + 4i) 答え 3 - 4i
real(3 + 4i) 答え 3
imag(3 + 4i) 答え 4

arg(z) は、複素数の偏角をラジアンで返します。複素数を参照してください。

日付と車両

calc
easter(2030) 答え April 21, 2030
tyre_speed(205, 55, 16, 1000 rpm) in km/h 答え 119.1103438682 km/h

easter(year) は、指定した年の西方教会のイースター(日曜日)を返します。フレーズ Easter 2030 と同じ日付です。easter(2030) + 1 day のように、そこから直接日数を計算できます。日付とカレンダーを参照してください。tyre_speed は、タイヤ幅(ミリメートル)、扁平率(パーセント)、リム径(インチ)、ホイールの回転速度を受け取ります。料理、音、画面、機械を参照してください。