MATLAB移民のためのJulia tips

MATLAB移民のためのJulia tips

何も考えずに速く計算できないのならば、何もやりたくない。

2015-12-21から1日間の記事一覧

IJuliaのtips

個人的にはあんまり好きじゃないIJulia。 Mathematicaっぽく操作できる。 インストール (いろいろハマりどころはあるけど、ちゃんと記録していないからうる覚えで書く。。。) インストールに関しては既にいろんなところで紹介されていると思うので、不要かも…

配列からtupleに変換する

v = [1,4] tuple(v...) (1,4) …は"splat演算子"。この場合、arrayという型を外して、型のない羅列にするイメージ。(間違ってたら教えてください。)

配列・行列のなかで条件を満たすものを取り出す・要素数を出す

条件がベクトル・行列で与えられている場合 配列・行列のなかで条件を満たすものを取り出す 配列から値を取り出す 配列からインデックスを取り出す 行列から値を取り出す 行列からインデックスを取り出す (スパース)行列で非ゼロの要素を取り出す 配列・行列…

行列要素ラベルの変換:sub2ind, ind2sub

MATLABのsub2indとind2sub MATLABと同じ。 sub2indとind2subは廃止になりました...!以下参照。 julia.hatenablog.jp sub (subscript): 行列要素(i,j)。人間にわかりやすい方。 ind (index): 行列要素を左上からタテに読んだラベル。人間にはわかりにくい方…

配列の並び替えを列挙

MATLABのperm(array)) 順列(permutation)がしたい。 v = [1 4 5 7] ind = collect(permutations(1:4)) # [1,2,3,4]についての順列を列挙 for k=1:size(ind,1) vk = v[ind[k]] end [1,4,5,7] [1,4,7,5] [1,5,4,7] [1,5,7,4] [1,7,4,5] [1,7,5,4] [4,1,5,7] [4…

配列から一度にたくさんの要素を削除

配列Vから配列excを消したい。 V = [2,3,5] exc = [3,5] filter(x->!(x in exc), V) (V[うんぬん]的な書き方はできないんですかね。。) xはダミー変数なので、お好きな文字を。

要らない行列要素を消す

MATLABのA(k+1:max,:) = [] 行列Aのk行目以降を削除してN-by-k行列にする。 MATLABのあの書き方は、かなり特殊らしい。 普通に a = a[1:k, : ] Juliaの=は代入ではなく、参照。

行列を行ごとにソートする

sortrowsとsortcolsは、廃止になりました。sortslicesを使います。以下参照。 julia.hatenablog.jp MATLABのsortrows(X, 2) N-by-2行列 X の、2列目を評価して、行ごとに並べ替える。(昇順) X = [5 3; 2 6; 4 2] sortrows(X, by=x->x[2]) 3x2 Array{Int64…

MATLABとJuliaの違い(普通に使う人視点)

まず、本家に Noteworthy differences from MATLAB というのがある。(以下はこれを翻訳したり熟読した結果のものでは、ない。) for文で新たに変数のスコープが作られる。(for文の中でだけ定義されているものはループの外からアクセスできない。ループの外…