2015年6月20日土曜日

Julia で最小自乗法を組んでみる

簡単な最小自乗法なら、以下のような感じでプログラムを書ける。
Matlab にそっくりな感じ。

==== least1.jl =====
function leastsquare(m, n, seed)

    if m < n
        error("Too small m")
    end
    srand(seed)
    A = rand(m,n)
    b = rand(m)

    xhat = (A'*A) \ (A'*b)
    e = A*xhat - b
    norm_e = norm(e)
    @show A
    @show b
    @show e
    @printf "norm_e = %.3e\n" norm_e

end
===============

実行するには、
julia> include "least1.jl"
julia > leastsquare(5, 2, 1024)
といった感じ。




0 件のコメント:

コメントを投稿