ONLY DO WHAT ONLY YOU CAN DO

こけたら立ちなはれ 立ったら歩きなはれ

Clojure

Clojure で連立一次方程式を解く(ヤコビの反復法)

例として を考える. この方程式を上から順に対角線上の変数について解くと となる. に適当な値を入れて右辺を計算し、 得られた値を新たなとして、計算を繰り返す. 漸化式で書くと (def N 4) (def a [[9.0 2.0 1.0 1.0] [2.0 8.0 -2.0 1.0] [-1.0 -2.0 7.0 -…

Clojure で非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…

Clojureで関数の近似(ラグランジュ補間)

をラグランジュ補間で近似するn+1個の点 (x0, y0), (x1, y1) … (xn, yn) が与えられているとき, これらすべての点を通る n次式は次のように表すことができる. この式を使って, 与えられた点以外の点の値を求める. (def N 7) ; 元の関数 (defn f[x] (+ (- x (…

さまざまな言語で四則演算と数値の出力

Scala object Scala0101 { def main(args:Array[String]) { println(3 + 5) println(3 - 5) println(3 * 5) println(Math.pow(3, 5)) println(5 / 3) println(5.0 / 3) println(5 / 3.0) println(5 % 3) printf("%d\n", 3 * 5) print(3 * 5 + "\n") println(…

Clojure で 積分(台形則)して π を求める

πの求め方 積分(台形則) (defn f[x] (/ 4 (+ 1 (* x x)))) (def a 0) (def b 1) ; 台形則で積分 (doseq [j (range 1 11)] (def n (Math/pow 2 j)) (def h (/ (- b a) n)) (def x a) (def s 0) (doseq [i (range 1 n)] (def x (+ x h)) (def s (+ s (f x)))) …

Clojure で 連分数展開を使って π を求める

πの求め方 こう書いてもおk ;自作の逆正接関数 (defn myAtan [x x2 n t] (def m (quot n 2)) (def denom (/ (* (* m m) x2) (+ n t))) (def nume (- n 2)) (if (<= nume 1) (/ x (+ 1 denom)) (myAtan x x2 nume denom))) (doseq [degree (map #(- (* % 15)…