スタートページJavascript

数学ライブラリ(mathlib.js)一覧表

私用を目的にしたJavascriptのライブラリですので品質保証はしません。誤差を考慮していないので厳密解、実務的な大規模な問題には使えません。
 (トレース版)は、作成時のデバッグに使ったものですが、処理経過がわかり、初心者向けの教育用に使えると思います。
 mathlib.jsを外部jsとして使うときは、次のように指定してください。
   <script src="http://www.kogures.com/hitoshi/javascript/mathlib.js"></script>



分野・機能ソース一般形備考
●代数系
方程式の根(はさみうち法) x = xFx(fx, xmin, xmax[, eps])
方程式の根(ニュートン法) x = xFxNewton(fx, x0[, eps])
 (トレース版) x = xFxNewton(表示場所, fx, x0[, eps])
3次以下の方程式の複素根 ary = xFx3(a0, a1,..., a3) 一つの実根をニュートン法で得て2次方程式にする
 (トレース版) ary = xFx3(表示場所, a0, a1,..., a3)
数式 f(x) を最小にするx x = xminFx(fx, xmin, xmax [, eps])
数式 f(x) を最大にするx x = xmaxFx(fx, xmin, xmax [, eps])
微分(はさみうち法) a = dFx(fx, x [, d, eps])
定積分(シンプソン則) x = sFx(fx, xmin, xmax[, n2, eps]) n2はキザミ数
●多点系
補間(配列入力) polArray(n, m, xa, ya) n:次数、m:補間するxの個数、xa, yaは配列
補間( (x,y)入力) y = polPoints(x, x0,y0, x1,y1, x2,y2, ..., xn,yn) x:補間点、(xi,yi):曲線が通る点
最小二乗法(高次式:y=a0+a1x +...+anxn LeastSquare(n, p, f, xa, ya, aa) n:次数、p:観測点個数、f:内外挿点個数、aa:出力配列,係数ai
 (トレース版) LeastSquareTrace(表示場所, n, p, f, xa, ya, aa) トレース表示場所:HTMLで<div id="表示場所"></div>で指定
●配列・行列系
配列のソート(行) sortMatrix(a, keycol [, desc [, fixrow]]) 配列a[i][j]を、列j=keycolをキーにして昇順/降順でソート
配列の順位付け ary = orderMatrix(a, keycol [, desc [, fixrow]]) 配列はそのままで、ary[k]にk番目の配列a[i][j]のiが戻される。
連立一次方程式 ary = GaussJordan(a, b [, n]) ax = b の解xを配列 ary に戻す。実行後もa、bは変化しない。
 (トレース版) GaussJordanTrace(表示場所, a, b, n)
逆行列 invMatrix(n, a [, x]) xに逆行列が入る。省略するとaに入る
 (トレース版) invMatrixTrace(表示場所, n, a)
線形計画法(LP) ary = LP(m, n, a) m:制約式数、n:変数個数、a:行列配列(a[0][j]:目的関数、a[i][0]:定数項
 (トレース版) ary = LP(表示場所, m, n, a)
輸送問題 ary = TLP(m, n, a) m:供給地数、n:需要地数, a:輸送費用(a[i][0]:供給量,a[0][j]:需要量)
 (トレース版) ary = TLP(表示場所, m, n, a)
●複素数系
-. i[i倍], conj[共役], e^(exp)
(単項演算子:単一複素数出力)
z = complex(op, a) 例:a=(3+4i) →a[0]=3, a[1]=4
  z=complex("i",a) → z=(-4 + 3i) → z[0]=-4, z[1]=3
+, -, *, /, ^
(二項演算子:単一複素数出力)
z = complex(a, op, b) 例:a=(1+2i), b=(3+4i) → a[0]=1, a[1]=2, b[0]=3, b[1]=4
  z=complex(a, "+" ,b); → z=(4+6i) → z[0]=4; z[1]=6;
★"^"では、a[0] ≦0 のときは開発中です。
Σ(sum), Π(prod)
(単項演算子:複数複素数入力)
z = complex(op, d) 例:d=[ [1,2],[3,4],[5,6] ]
  z=complex("Σ", d); → z[0]=9. z[1]=12
|(abs), θ(atan)
(単項演算子:実数スカラー出力)
x = complex(op, a) 例:a=(3+4i) → a[0]=3, a[1]=4
   x=complex("abs",a); → x=√(32 + 42)→ x=5
√(sqrt)
(単項演算子:複数複素数出力)
d = complex(op, a) 例:d=√(-3+4i) → a[0]=-3, a[1]=4, d=complex("sqrt",a);
  →(1+2i),(-1-2i)
  → d[0][0]=1, d[0][1]=2, d[1][0]=-1, d[1][1]=-2
(2個の複素数になる)
●基本統計量
基本統計量:一変数 ary = basicStat(x1, x2, ..., xn) aryは連想配列:ary["合計"], ary["標準偏差"] など
基本統計量:一変数(配列入力) ary = basicStatArray(x[, n]) x[0]~x[n-1]が対象のときnを指定、省略時はx.length
基本統計量:2変数 ary = basicStat2(x1,y1, x2,y2, ..., xn,yn) aryは連想配列:ary["共分散"], ary["相関係数"] など
基本統計量:2変数(配列入力) ary = basicStatArray(x, y[, n])
●確率分布系
正規分布:確率密度 p = pNormalDist(x [, μ, σ])
正規分布:累積確率関数(標準形) s = sNormalDistStd(x) 正規分布(0,1)の範囲-∞~xの累積値
正規分布:累積確率関数(一般形) s = sNormalDist(x [, μ, σ])
正規分布:区間内累積確率 s = sNormalDistMinmax(xmin, xmax [, μ, σ])
正規分布:累積確率密度の逆関数(標準形) x = invNormalDistStd(p) 正規分布(0,1)の累積確率がpとなる点x
正規分布:累積確率密度の逆関数(一般形) x = invNormalDist(p [, μ, σ])
二項分布・二項係数(組合せの数)nCx m = nCx(n, x) nCx = n!/x!(n-x)!
二項分布・確率密度 p = pBinDist(x, n, p) 発生確率pの事象がn回の試行でx回発生する確率
二項分布・累積確率 s = sBinDist(x, n, p)
負の二項分布・確率密度 p = pBinNegDist(x, n, p) 発生確率pの事象がはじめてx回発生したときの試行回数nの確率分布
負の二項分布・累積確率 s = sBinNegDist(x, n, p) n回以内である確率
幾何分布・確率密度 p = pGeoDist(n, p) 発生確率pの事象がはじめて発生したときの試行回数nの確率分布
幾何分布・累積確率 s = sGeoDist(n, p)
超幾何分布・確率密度 p = pHyperGeoDist(a, b, α, β) Aがa個、Bがb個から、α+β個とりだしたときAがα個である確率
超幾何分布・累積確率 s = sHyperGeoDist(a, b, α, β)
指数分布・確率密度 p = pExpDist(t, λ) 平均λの指数分布で、t=t のときの確率密度
指数分布・累積確率 s = sExpDist(t, λ) 区間 t=0~t の累積確率
指数分布・区間内累積確率 s = sExpDistMinmax(tmin, tmax, λ) 区間 t=tmin~tmax の累積確率
指数分布・累積確率の逆関数 t = invExpDist(p, λ) sExpDistの逆関数。累積確率がpとなるtの値
ポアソン分布・確率密度 p = pPoissonDist(x, λ) 平均λの発生事象がx回発生する確率
ポアソン分布・累積確率 s = sPoissonDist(x, λ)
ポアソン分布・累積確率の逆関数 x = invPoissonDist(p, λ)
三角分布・確率密度 p = pTriDist(x, xmin, xmax, xmod) 最小値xmin, 最大値xmin, 最頻値xmin
三角分布・累積確率 s = sTriDist(x, xmin, xmax, xmod)
三角分布・累積確率の逆関数 x = invTriDist(p, xmin, xmax, xmod)
●乱数系
一様分布・連続 x = xRandomUni(xmin, xmax)
一様分布・整数 i = iRandomUni(imin, imax)
正規分布・連続 x = xRandomNormal(μ, σ) 正規分布累積確率逆関数 invNormaiDist を利用
正規分布・連続 x = xRandomNormal12(μ, σ) 12個のMath,Random()の和が正規分布になることを利用
正規分布・整数 i = iRandomNormal(μ, σ)
正規分布・連続・区間指定 x = xRandomNormalMinmax(xmin, xmax, μ, σ)
正規分布・整数・区間指定 i = iRandomNormalMinmax(imin, imax, μ, σ)
指数分布・連続 x = xRandomExp(λ) 単位時間内の発生回数が平均λの事象が、x単位時間に発生する確率の乱数
指数分布・整数 i = iRandomExp(λ)
指数分布・連続・区間指定 x = xRandomExpMinmax(xmin, xmax, λ)
指数分布・整数・区間指定 i = iRandomExpMinmax(xmin, xmax, λ)
三角分布・連続 x = xRandomTri(xmin, xmax, xmod)
三角分布・整数 i = iRandomTri(xmin, xmax, xmod)