liboctaveで行列演算するための準備
octaveの資料は結構あるけど、liboctaveをC++で使う資料はちょっと見た限り少なかったので、今後抵抗なく使ってくための準備を使用かなと思っていたら・・・すばらしいサイトを見つけてしまった。
特に
は、使っていくために必要なことがかかれてる。ほかにも
をソース付きで扱っていた。
擬似逆行列やSVDを今日やろうと思ってたのに、用途も書いて解説してくれていた。
いや、ほんとやることがなくなってしまった。ここが検索トップに来るようにリンク張りまくっておこw
まぁやることなくなったけどとりあえずこれだけ書いとこう。
2*3の行列Aを処理するとき
input.txt
2 3 1 2 3 4 5 6
と入力を作って
matrix.cpp
#include <iostream> #include <octave/config.h> #include <octave/Matrix.h> using namespace std; int main() { int m, n; cin >> m >> n; Matrix a(m,n); cin >> a; cout << "a:\n" << a << endl; // 処理 // return 0; }
ってな感じにソースを作って
$ mkoctfile --link-stand-alone matrix.cpp $ ./a < input.txt a: 1 2 3 4 5 6
実行すれば幸せになれることがわかった。