データ解析ツールoctaveを語ろう

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
知る人ぞ知る強力なデータ解析ツール octave ...

unixを科学研究で使っている香具師には非常に心強い味方のはずだ。

matlab互換を主張しながら、微妙にバージョンアップを続ける
octaveについて語ろう。

リンクを貼るとか、

せめてものネタふりとして自分の使用感を晒すとか、

 今度、卒研で使わざるを得なくなりました
 インストールのしかたから教えてください

とか、

書くことがあるんじゃネーノ?w
3名無しさん@お腹いっぱい。:04/06/01 04:15
>>2
どうも申し訳ない。

http://www.octave.org/

がリンクです。

実は、研究でmatlabを使っていたんですが、
サポート料金を払う金がおしくなって octave にしました。

octave 意外と使えるので、というか軽いし gnuplot との融合性が
高くて本家のmatlabよりも使いやすいのではないかと
思っています。

もちろん、パッケージなんかを考えるとmatlabの方が良いのだけど
私の使い方だと、高価なパッケージ使うこともあまりないので
それほどデメリットにはなりませんでした。
あくまで数値解析ソフトなわけで、数式解析ソフトな matlab
と比較するのはどうかと思う
5名無しさん@お腹いっぱい。:04/06/01 09:29
>>4
mathematica と間違えていませんか?

matlab で数式解析するという話は聞いたことがありませんが?

私もFreeBSD上で octave 使っています.
最近では数学関数も増えているようでけっこう使いやすく
なっています.

非線型の最小自乗法が扱える関数があればベストなんだけどね.
matlabの影響力は日本は少ないからね
octaveいいね。卒論で他人がFFTやらのプログラム書いてるときに、
俺はoctaveで楽させてもらった。
>>5
その通り。失礼した
あんまり使ってないけど、行列計算の検算とか変形に便利ではあった
9名無しさん@お腹いっぱい。:04/06/01 22:38
octaveって使ってみたのですが,
行列計算ってそんなに必要なんですか?

10名無しさん@お腹いっぱい。:04/06/01 22:39
>>9
失礼、上げてしまった。
必要なところには必要、不要なところには不要。
12名無しさん@お腹いっぱい。:04/06/02 00:44
scilabというのもあるので、どっちがいいか比較キボン。
http://www-rocq.inria.fr/scilab/
直接LAPACKを使う場合と比べてどの位遅くなるのでしょうか
14名無しさん@お腹いっぱい。:04/06/02 01:58
>>12
scilabの方がmatlab互換という点では良いかも知れないけど,
純粋に線形解析に使うのだったらoctaveの方が使いやすいと思います.

私的感想だと数学関数はoctaveの方が良いと思う.
15名無しさん@お腹いっぱい。:04/06/02 02:02
>>13
速度に関してはインタプリタの分だけ遅いという感じですね.
最近のoctaveは中間コードに変換しているような感じなので
それほど速度の低下は感じられません.

octaveと数学関係の外部ライブラリの間をいったり来たりするような
感じの処理だと遅くなるようですが...
Perl とか awk とかでやるにはややめんどい数値処理
(FFTとか統計処理とか) にいい。liboctave というのも
あるようだが未見。

科学関係のソフトがわりと丁寧に整理・紹介されている。octave もあるよ
http://www.mlb.co.jp/linux/science/
http://www.mlb.co.jp/linux/science/octave/index.html
17名無しさん@お腹いっぱい。:04/06/02 19:48
>>16
けっこう参考になるリンクですね。

最近は、貧乏研究室に配属になったので、Open source系の
科学技術計算ソフトの情報はありがたい。

最近は、FreeBSDにoctaveをインストールしてデータ解析の毎日です。
しかし、portsから入れたらoctaveのインストールに時間のかかること...
昔学生だったときに三田村さんのページをよく見た。

…と思ったらまだあった。:-)
>>18
だれそれ?
20名無しさん@お腹いっぱい。:04/06/02 22:39
オープンソースなツールを使って科学技術計算やっている人々の話が聞きたい.

ほとんどが学術系だと思うけど企業とかの研究者でもoctaveとか使っている人
いますか?
21名無しさん@お腹いっぱい。:04/06/02 22:43
ところで画像解析にmatlabを使っている人多いと思うけど,
octaveで画像解析している人いますか?

どうしても画像になると octave だと若干貧弱になると思うのだけど...

特に表示するときとかインデックスドカラーなので
カラーパレットの設定などが大変なんですが,
うまくやっている人いたらコツを教えてください.
>>4-5
matlabにも数式解析機能はある(toolboxとして)。
その目的のために買う人は少ないだろうけど。

>>20
技術屋としての数値計算に僕が主に使うのはemacsとgcc。
matlabとoctaveも使っているけど、自分で使う道具としてではなくて
プログラミングをあまり知らない人とのやりとりのために使っている。

Cの読み書きができない人(客)でもMatlabやOctaveのコードなら自分でいじれ
ることが多い(オレのまわりでは)。
23名無しさん@お腹いっぱい。:04/06/02 23:30
>>22

数値計算アルゴリズムを開発する場合,octaveみたいに試作が直ぐにできる
ツールを使った方が効率が良くないですか?

最終的にはC言語で実装するにしても,アルゴリズムの開発で
試行錯誤を繰り返している段階の場合は,やはり最初は
octaveのようなツールが有効だと思いますが...
2422:04/06/02 23:39
>>23
>試行錯誤を繰り返している段階の場合は,
このあたりは主に紙の上でやります。
25名無しさん@お腹いっぱい。:04/06/03 01:33
>>24
それは凄い.

私はコンピュータの上でしか試行錯誤ができなくなってしまっています.
コンピュータに頼りきるのも考え方が雑になってしまうという
弊害もあるのかも知れないけれども便利ですよ.

私のところのoctaveの使用目的というのは,
(1) 特にソフトウェアは必要なくて,
  対象(物理系の実験データ)の解析結果データのみが
  必要なとき

(2) 新しいアルゴリズムを試作するとき

の2つの時ですね.
>>25
アルゴリズムとして定式化する以前の試行錯誤のところじゃないですかねぇ
もちろん、分野によって異なる計算によるわけですが。

私もoctave+gnuplotはかなり便利に使わせてもらってます。
27名無しさん@お腹いっぱい。:04/06/05 00:28
Octaveで非線形計算やるパッケージをご存じないですか?

誰か作ってそうなんだけど...
非線形方程式を解くコマンドはfsolveだったはづだけど、計算..?
29名無しさん@お腹いっぱい。:04/06/05 02:59
みんながOctaveをどのように使っているか、聞きたい。

私は、某工学分野の研究員だが、
Octaveは、アルゴリズム設計の前段階で使うことが多い。

ちょっと変な使い方かも知れないけど、Octaveでデータを統計解析して、
その傾向に合わせてC言語でプログラムを組んでいる。
つまり、直接アルゴリズム開発に使っているのではなくて、
アルゴリズムを開発するときの参考というか理論的な根拠にしている。

こういう使い方にはけっこう向いていると思うのだが。
>>28

非線形の最小自乗法が欲しい。
fsolveは、微分方程式を解く関数じゃなかったっけ?
>>30
gnuplot
>>30
そのへんはRとかどうなん?
33名無しさん@お腹いっぱい。:04/06/05 22:20
>>30
でもあれはデータフィッティングしてグラフをプロットするだけでしょう?
ちゃんとパラメータとかを求めたいってことだと思うのだが...
3433:04/06/05 22:21
スマソ,リンク間違えた

>>31 ね...

>>32
Rにしちゃうと Octaveの他の恩恵が受けられなくなる...
という問題が...
35名無しさん@お腹いっぱい。:04/06/05 22:25
Octaveをインストールするとき,FreeBSD 4.x だと
readlineのバージョンが古いっていって libreadlineが使えません.
コマンドライン編集や履歴を使いたいのでこれでは
不便なのですが...

それで手動でlibreadlineの新しいやつをインストールして
使っているのですが,octaveのバージョンが変ると
パッチ当てとかがめんどうです.

FreeBSD 5.2くらいなら libreadlineのバージョンが
新しいので問題ないのだけど...
RはしらんけどSはやたらdirect mailを送ってきた印象があるな
37名無しさん@お腹いっぱい。:04/06/05 22:30
非線形一般均衡系のシミュレーションに使おうとしてうまくいきまへんでした > octave
で、MATLAB買っちゃいました。toolboxマンセー
>>37
こういう分野では MATLABというか サードパーティ製のtoolboxが
かなり強力だよね.

でも価格が大変だよね.
貧乏な大学の研究室だと変えないところが多そうだ.

うちも非線形解析用のパッケージ買っていたけど,
本体のライセンス代金も含めて大変なことになっていた.
octaveはプログラム組むのに、1ファイル1関数っていうのが
不便ですね。
最近のバージョンだとこの制限なくなっているのかな?

MATLABも昔はそうだったけど、最近のはそういう制限無くなっているし
40名無しさん@お腹いっぱい。:04/06/07 11:21
41名無しさん@お腹いっぱい。:04/06/07 12:41
>>40
これは良いかも知れない.
丁度Levenberg-Marquardt法のアルゴリズム探してました.

あとは,これをパラメータの範囲指定ができるように改造して
使わないと解がlocal minimum に陥ってしまって
収束しないんですよね.

もしかしてそれもあったりして...


cygwin で liboctave 使えますか?
下のようなテストプログラムでエラーになってしまいます.

$ cat test.cpp
#include <iostream>
#include <octave/config.h>
#include <octave/Matrix.h>

using namespace std;

int main()
{
Matrix m(2, 2, 1.0);
cout << m << endl;
return 0;
}

$ g++ -I/usr/include/octave-2.1.49 -L/usr/lib/octave-2.1.49 -loctave -lcruft -lreadline -ltermcap -llapack -lblas -lg2c -lfftw -lm test.cpp -o test
/cygdrive/c/DOCUME~1/user/LOCALS~1/Temp/ccdhMv8V.o(.text+0x8e):test.cpp: undefined reference to `operator<<(std::basic_ostream<char, std::char_traits<char> >&, Matrix const&)'
/cygdrive/c/DOCUME~1/user/LOCALS~1/Temp/ccdhMv8V.o(.text$_ZN6Array2IdED2Ev+0xd):test.cpp: undefined reference to `Array<double>::~Array [not-in-charge]()'
/cygdrive/c/DOCUME~1/user/LOCALS~1/Temp/ccdhMv8V.o(.text$_ZN6Array2IdEC2EiiRKd+0x1b):test.cpp: undefined reference to `Array2<double>::get_size(int, int) const'
/cygdrive/c/DOCUME~1/user/LOCALS~1/Temp/ccdhMv8V.o(.text$_ZN6Array2IdEC2EiiRKd+0x33):test.cpp: undefined reference to `Array<double>::Array[not-in-charge](int, double const&)'
collect2: ld returned 1 exit status
make: *** [test] Error 1
43名無しさん@お腹いっぱい。:04/06/08 00:44
>>42

octave は知らないが、与える引数間違ってるんじゃないの?
>>43
どう間違っているのでしょうか?
Linux と同じじゃダメなのでしょうか?
素晴らしーいソフトウェアです。
Fedora CORE 2 でSMPマシンにインストールしました。
コンパイルに1時間強、出来上がったバイナリ− octave が60MBを越えたのには
驚きましたけど。
紹介していただいたみなさんに感謝感激です。
しばらくマイブームとなりそうです。
>>42

俺が試した限りでは、

octave-2.1.57 を ./configure; make install した状態で、

$ g++ -I/usr/local/include/octave-2.1.57 test.cpp -L/usr/local/lib/octave-2.1.57 -loctave -lcruft -lg2c -o test

でコンパイルできたが。
>>45
60MBは、たぶん -g つけたままコンパイルしたんじゃないか?
liboctaveも巨大なままでは?
make clean; make CFLAGS=-O2 CXXFLAGS=-O2 をおすすめする。
あと、strip octave。
>>46
上ので通りました. -llapack とかは不要なんですね.

$ g++ -I/usr/local/include/octave-2.1.57 -L/usr/local/lib/octave-2.1.57 -loctave -lcruft -lg2c -o test test.cpp

こう書くと undefined reference がいっぱい出ますが,
順番が大事だとわかりました.

どうも, ありがとうございました.
49名無しさん@お腹いっぱい。:04/06/09 03:42
octave ってスパース行列扱うの弱くない?

最近はCPUもメモリも強力だけど、古いマシンで
計算させたら死にそうになった。
Scilab使へば
5145:04/06/10 00:35
がびーん。
./configure; make しただけだったのですが、そういえばご丁寧に -g
が付いていたような。。。
気を取り直してもう一度 build してみます。
その前に HDD 増設かも。
5245:04/06/10 00:37
連続書き込みすみません。
octave って SMP マシンの恩恵を得られるのでしょうか?
HT対応のCPUを2個挿せば、体感?4つになります。
個人でも 4 way も持てるなんて、想像しただけで幸せです。
53Pen4 2.4GHz:04/06/10 01:25
octave:1> A=rand(2000,2000);b=rand(2000,1);
octave:2> tic;A\b;toc
ans = 2.7709

最近のマシンは速いねぇ…
>>53
octave:1> A=rand(2000,2000);b=rand(2000,1);
octave:2> tic;A\b;toc
ans = 193.02
(´・ω・`)ショボーン

Status of processor 1 as of: 06/10/04 01:33:21
Processor has been on-line since 05/25/04 18:25:10.
The sparcv9 processor operates at 296 MHz,
and has a sparcv9 floating point processor.
Status of processor 3 as of: 06/10/04 01:33:21
Processor has been on-line since 05/25/04 18:25:11.
The sparcv9 processor operates at 296 MHz,
and has a sparcv9 floating point processor.
55名無しさん@お腹いっぱい。:04/06/10 01:52
>>52

多分ならなかったと思うけど...
threadで組んでたかな?
56名無しさん@お腹いっぱい。:04/06/10 10:59
>>54

PentiumIII(katmai) 600MHz

octave-2.1.57:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.57:2> tic;A\b;toc
ans = 17.742

sparcのv9って比較的最近のCPUじゃないの?
大昔(Coppermineですらない)のPenIIIよりも遅いのですか...??
>>56
書くの忘れたけど,
OSは,FreeBSD 5-current で
CPUは 600MHz x 2のSMPです.
ちなみに FreeBSD-4.9R で
ちょっと古いCPUですが,
Athlon-MP(多分Thunderbirdコア) 1.2GHzx2 のSMPで

octave-2.1.50:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.50:2> tic;A\b;toc
ans = 5.1248

と5秒ちょっとのタイムをマークしました...
Octaveは多分 SMP は効いてないと思うので,速度は
>>53の Pen4 と比較してもクロック分の速度は出てるかな...
>>49

それってかなり古いOctaveじゃない?
60ThinkPad X31:04/06/11 01:05
octave:1> A=rand(2000,2000);b=rand(2000,1);
octave:2> tic;A\b;toc
ans = 5.6739

最近のB5サブノートは速いねぇ…
61名無しさん@お腹いっぱい。:04/06/11 02:05
Octaveって疎行列の計算はできますか?
周期境界条件を課した疎行列の計算パッケージがなかなか見つからなくて困っています。
FFTはNlogNのオーダーなんで遅いしなーって思うとNのオーダーで計算できる
疎行列パッケージが一番よいのですが。
62SS S8:04/06/11 09:20
>>60
cygwinでコンパイルしたやつだけど、
ans = 34.755
だった orz
コンパイルオプションばりばりつけた方がいいのかなぁ
>>61
自分で書くと感謝されるよ。

でもLAPACKとかで疎行列扱えないの?
最近はOctaveも外部ライブラリに頼っているからね。

64名無しさん@お腹いっぱい。:04/06/11 14:57
うちのThinkPad X31(PentiumM-1.4GHz)も,
FreeBSD 4.10-stable 上で

octave-2.1.57:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.57:2> tic;A\b;toc
ans = 5.5506

という値を出しました.
漏れも試そうとportsでoctaveをmakeしてるんだけど
atlasのビルドが一日たっても終わんないよう。
66名無しさん@お腹いっぱい。:04/06/12 02:31
atlasのインストール時ってコンパイルが終わらないというより、
数値計算を行っている時間が長いようですね。

ずっと数値計算プログラムが動いていますが、
計算精度のチェックでもしているのでしょうか?

ちなみにうちのThinkPad X31だと、とりあえず1日ってことはないな
3時間くらいで終わっていたように思えるけど...
67名無しさん@お腹いっぱい。:04/06/12 02:45
>>65
メモリが不安定だと計算処理が途中で異常終了して
計算を繰り返して丸一日以上かかることがありました.

もしも速いCPUを使っていて丸一日以上かかるようだったら、
メモリをチェックしてみた方が良いかもしれません.
普通に使っていて動いていても memtest とかが
通らない場合がありますよ.

私は atlas のコンパイル作業でメモリ異常に
気が付きました.

ちなみに Athlon等の1GHz以上のCPUなら数時間で計算処理が
終わります.
6845:04/06/12 09:45
なにせ古いマシン、PentiumIII 550E ×2 です。
40GB HDDを買ってきて Fedora CORE 2を再インストールしました。
ご指摘のありました -g 付きの ./configure; make 版です。

$ uname -a
Linux localhost.localdomain 2.6.6-1.427smp #1 SMP Thu Jun 10 10:01:11 EDT 2004 i
686 i686 i386 GNU/Linux
$ octave
GNU Octave, version 2.1.57 (i686-pc-linux-gnu).
octave:1> A=rand(2000,2000);b=rand(2000,1);
octave:2> tic;A\b;toc
ans = 110.47

xcpustate で各プロセッサーの状態を監視しながら実行させました。
なるほど、片側のプロセッサーのみを占有していました。悲しい。
窓を2枚開いて同時に octave を起動して、上記処理を行なうと、
143.50 と 145.39 でした。二人で同時に動かしてもそれなりということか。
少し救われるかも。
47さんのアドバイスに従って再make 中です。

どんなプラットフォームでもちゃんと動作するマルチスレッドの
プログラムを作るのは難しいですからね。SMPを活かそうと思ったら
やはりガリガリ自分で作るしかなさそう。嬉しいような悲しいような。。。
69名無しさん@お腹いっぱい。:04/06/12 22:56
>>68

110秒はちょっと遅いですよね?
これはコンパイルオプションにかなり左右されるのでしょうか?
SSEとかどうなっているのでしょうか?

>>56 は 同じようスペックで17秒ちょいで終わっているようですが...
70名無しさん@お腹いっぱい。:04/06/13 03:03
研究環境を完全OpenSource化使用して、いろいろ画策中です。

特にMATLABからOctaveへ関数をいくつか移植しているのだけど、
けっこう大変だよね。

Octaveは関数が一つしか書けないし、微妙なところで関数の仕様が
違っていたりするし。

でもMATLABへのライセンス料を払わなくて済むなら
かなりの出費が押さえられる。


               ____
           ./, - 、, - 、   ̄ ヽ
          ./-┤ 。|。  |――-、 ヽ
           | ヽ`- ○- ´ /  ヽ  |
           | -   |     ―   |  |
           |  ´  |    `ヽ  . |  |ヽ
  ∩      人`、 _  |    _.- ´ | .|  \
  |  ⌒ヽ /  \  ̄ ̄ ̄     ノノ       \
  |      |´      | ̄―--―― ´ヽ     _  /⌒\
  \_   _/-―――.| ( T )      `l     Τ(      )
       ̄       |   ̄        }      | \_/
             | 、--―  ̄|    /
>>71
もしかしてキリ番狙っていたの?


   ||
 Λ||Λ
( / ⌒ヽ
 | |   | 逝け>72
 ∪ 亅|
  | | |
  ∪∪
   :
   :

 ‐ニ三ニ‐
74+++:04/06/13 11:00
   ||
 Λ||Λ
( / ⌒ヽ
 | |   | 逝け>>72
 ∪ 亅|
  | | |
  ∪∪
   :
   :

 ‐ニ三ニ‐
>>71, >>73, >>74

せっかくのAAなんだけどうちの環境,FreeBSD + mozilla デフォルト設定では
文字がずれて,きちんと見えません...

等幅フォントにすりゃいいんだけどね.
76名無しさん@お腹いっぱい。:04/06/13 18:30
このスレせっかくいい調子で話が進んでいたのに、
変な香具師が紛れ込むようになってきたね。
必要もないのにageちゃうからだろ。
さりげなくサイエンスな香りがするこのスレ、気に入っていたのに
79名無しさん@お腹いっぱい。:04/06/13 23:20
WindowsでOctaveって動きますか?

ちょっと面白そうなので立ち寄ってみました。
>>79
動くよ。native 版もあるし、cygwin で動かす手もある
特に数値計算なら、こしょこしょコード書くよりまかせてしまったほうがいいと思う
81名無しさん@お腹いっぱい。:04/06/13 23:40
レスありがとうございます。

Windowsのnative版もあるんだ。
探してみます。

でもcygwinはややこしいからパスします。
8245:04/06/14 22:01
途中報告。
-g を抜いたバイナリでSMPカーネルで同じ手順を行ないました。
バイナリサイズはナント 7MB でした。
実効結果は
ans = 105 くらいでした。大差ないです。
原因を引き続き調査中です。

そうそう、SPARC とかは float より double が早いそうですね。
ハードウェアがそう設計されているそうです。
83名無しさん@お腹いっぱい。:04/06/14 23:01
>>85
floatよりdoubleが速い処理系は多いよ.特に昔のRISC系CPUの場合は...

それと表示は,桁を省略しているけど,Octaveは基本的に double で
計算しているはずです.
それで105秒だと本当にそれくらいの速度かと...

atlasをコンパイルするとき -g を抜くだけではなくて,
gcc で -O3 とか -msse2 といった最適化オプションは
指定してありますか?
84名無しさん@お腹いっぱい。:04/06/15 00:48
>>83

FreeBSDのportsではSSE2対応のCPUでは,自動的に
SSE2が有効になるようにコンパイルオプションが
指定されているようです.
85SS S8:04/06/15 01:12
gcc-3.3.1/cygwin/PenM 1G ですが、
-O2のみでは
ans = 34.755
だったのが、
FFLAGS, CFLAGS, CXXFLAGS全部に
-O3 -fomit-frame-pointer -mcpu=pentium3 -march=pentium4 -msse2 -funroll-loops
を指定したら、
ans = 14.412
になりました。ただし、一番効いてるのは -mcpu っぽい。
よく覚えていないのですが、atlasってアセンブラで
SSE2のコード書いてませんでしたっけ?
たしかプリプロセッサでSSE2を有効にする変数を定義したら
SSE2が有効になったような...
87名無しさん@お腹いっぱい。:04/06/15 08:00
Opteron242だと
ans=11.8
やけにおそいな。
OS SuSE 9.1 X86_64
88名無しさん@お腹いっぱい。:04/06/16 04:15
>>87
B5サブノートのPentiumMに負けている...

Opteronって通常の数値計算が速いって聞いてますが、
実際のところどうなんでしょうか?

Octaveの使用を含む数値計算用に一台Dual CPUなのを購入予定なのですが...
89名無しさん@お腹いっぱい。:04/06/16 17:14
opteron 242*2(1.6GHz)
姫野ベンチ 2CPU
1313MFlops
Pentium200MHz 40.7倍

Xeon 2GHzしかないが
819MFlops


90名無しさん@お腹いっぱい。:04/06/19 03:03
今一つ速くないね.Opteron...

まだ最適化が十分ではないのかな?
あげ
しかしながらベンチマークスレに成り下がっているのは情けなくもある。
93名無しさん@お腹いっぱい。:04/06/22 12:14
演算の精度の制御はどうやればできますか?
たぶんデフォルトではdoubleというか64bitっぽいですが、
もっと精度が欲しいのです。
scilab
>>92
スーパーコンピューターの最大ユーザーはベンチマーク屋である。
という話を聞いたことあるけど。
もっともコンパイルオプションの違いで数倍のパフォーマンスが
違えばショックですね。
MATLABを買ったと思ってPC買い換えれば幸せになれるかも。。。
96名無しさん@お腹いっぱい。:04/06/23 08:20
>>93
演算の精度制御は、できないみたい。
「GNU Octave Manual」によれば(p35)
numeric data is currently stored as double precision numbers.
use the IEEE floating format,
the relative precision is approximately 2.2e-16.
とある。
無論、表示の制御は、できる。C likeのフォーマットが使える。
>>94,>>96
どうもありがとう。octaveじゃ無理なんですね。

scilabをインストールしてみたら、例のペンチマークがoctaveより速くて、
のりかえを検討していますが、こっちはどうやれば精度の制御ができるんでしょう?
octaveは全く触ったことがない厨房ですが、octaveとRは機能的に
かなりかぶりますか? それとも相互補完するものですか?
99名無しさん@お腹いっぱい。:04/06/24 12:56
若干かぶるけど,特定分野だとRの方が強いと思うよ...

Octaveは線形代数系の計算全般といったところか.
100名無しさん@お腹いっぱい。:04/06/24 12:59
>>95
MATLABのことを考えると,毎年PCを買い換えれますね.

MATLABは基本的に毎年ライセンス料を払わないといけないプレッシャーが
あります.
まぁ,払わなくてもいいんだろうけど,修正パッチとか
バージョンアップのことを考えるとライセンス料を払い続けるしか
ないシステムになっています.


>>95

ベンチマークだいすきですぅ。
102名無しさん@お腹いっぱい。:04/06/25 14:28
MATLAB個人で買いましたよ。
octaveじゃできないこともおおいし。

ちなみに「データ解析ツール」じゃなくて「行列言語」な。
間違えるなよ。
行列言語ってのもなんだな...
104名無しさん@お腹いっぱい。:04/06/25 22:28
Octave使っているのだけど,マニュアルとかが英語なのがちょっとね.
何かお奨めな参考書とかWebページとかりますか?
とかありますか?
106名無しさん@お腹いっぱい。:04/06/26 09:24
あまり役に立たない本
「Octaveを用いた数値計算入門」
北本 卓也著
ピアソンエヂュケーション
ISBN4-89471-448-5
107名無しさん@お腹いっぱい。:04/07/01 07:59
卒研で構造物の強度計算をすることになりました。
それで手頃なツールをさがしているのですが、
Octaveでできますか?

研究室のOSはNetBSDというものだそうです。
強度計算がどんな計算をするものなのかわからないので、わからない。
行列計算とか微分方程式とかに帰着させられるんならできるだろうけど。
OSは無関係。
109名無しさん@お腹いっぱい。:04/07/04 23:00
初めて立ち寄ってみました。
lsodeの中身は4段のRunge-Kuttaなのでしょうか?
何を見たら分かるのでしょう?どなたか教えてください。
110名無しさん@お腹いっぱい。:04/07/04 23:34
微分方程式は Runge-Kuttaを使っていたと思います.

今のOctaveは外部の数値計算ライブラリに依存しているから
そのソースコードを確認するのがいいのではないでしょうか?

でもFORTRANとかで書かれているのでちょっと困りますが...
111名無しさん@お腹いっぱい。:04/07/04 23:43
>>109
lsodeはRunge-Kuttaではなく、stiffな問題にはBDF法、nonstiffな問題にはAdams(predictor-corrector)と使い分けています。
いずれもRunge-KuttaのようなSingle step methodでは無く、Multi step methodと呼ばれる方法です。
http://www.llnl.gov/CASC/odepack/

もともとODEPACKというFORTRANのパッケージに含まれていて、ソースはwww.netlib.orgからダウンロード出来ていたと思います。
lsodeでググってみたら出てきますよ。
112名無しさん@お腹いっぱい。:04/07/05 07:45
二つの異なる情報ですが、ありがとうござました。
linspaceで刻み幅を固定して計算するのだからRKだろうか
と思っていました。ソースを読んで見ます。
BDFかあ。懐かしいなあ。ずっと以前でしたが、理解するのに
一苦労したっけ。小生は、現在は、刻み幅自動調整の
RKFの愛用者です。
113名無しさん@お腹いっぱい。:04/07/05 07:48
異なる内容でしたが、ありがとうございます。
linspaceで刻み幅を固定するので、RKかと思っていました。
小生は、現在は、刻み幅自動調整のRKFを愛用しているので
つい、そう思っていました。ソースを読んで見ます。
114名称未設定:04/07/07 22:57
Matlabのtoolboxが必要なら、octeva-forgeをインストすれば
115名無しさん@お腹いっぱい。:04/07/14 03:05
>>114

こんなんあったんだね。
これはちょっと使えるかも。
116名無しさん@お腹いっぱい。:04/07/21 20:37
さてMATLAB R14が出たわけだが。
117名無しさん@お腹いっぱい。:04/07/21 21:18
MATLABは新しくなればなるほど重く不安定になってくる。
R12以前くらいかな良かったのは。
118名無しさん@お腹いっぱい。:04/09/28 22:30:37
久々にベンチマークネタ age

octave-2.1.57:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.57:2> tic;A\b;toc
ans = 4.5008

CPU: AMD Athlon(tm) XP 1700+ (1472.93-MHz 686-class CPU)
Origin = "AuthenticAMD" Id = 0x681 Stepping = 1

そんなに速くないな...motherboardも古いし...
119名無しさん@お腹いっぱい。:04/09/29 04:41:37
octave-forgeってどーですか
>>119
けっこう使えるよ。
公開されてるMatlab用のプログラムが変更無しで動く
121名無しさん@お腹いっぱい。:04/10/02 21:56:19
octave-forge ってそもそも何ですか?
>>121
cat /usr/ports/math/octave-forge/pkg-descr
あげ
124名無しさん@お腹いっぱい。:04/11/13 20:45:19
あげ
125名無しさん@お腹いっぱい。:04/11/14 03:58:42
日本語化パッチはまだでつか?
Octave に日本語って必要なんですか?
127名無しさん@お腹いっぱい。:04/11/14 04:23:04
必要かどうかは解かりませんけど、
道具が人を選んではいけないと思います。
128名無しさん@お腹いっぱい。:04/11/14 04:35:04
>>127
意味分かりません
129名無しさん@お腹いっぱい。:04/11/14 05:48:38
英語読むのめどい
130名無しさん@お腹いっぱい。:04/11/19 11:26:10
馬鹿とハサミは使い方次第ですね
馬鹿には道具は使えないんでしょうかねぇ
131名無しさん@お腹いっぱい。:04/11/19 11:28:12
んなこといっちゃってはずかしいくせに
132名無しさん@お腹いっぱい。:04/11/19 16:55:41
Octaveって線形代数電卓って感じだなぁ.

普段何気なく使っていて,それほど必要だとは思わないんだけど
自分の使っているマシンに入ってないと気づいたときのショックは
計り知れない.
無いとかなり不便なんだよね.
133名無しさん@お腹いっぱい。:04/11/23 06:37:06
FreeBSDの ports の Octave 新しくなりましたね.
何が変わったのかな?
134FreeBSD5.2.1-R:04/11/23 20:41:54
2.1.63にアップグレードしたら次のメッセージが出るようになった
warning: lo_ieee_init: unrecognized floating point format!
何でしょうねこれ
135134:04/11/24 01:33:20
自己レス
最適化がきつすぎたみたい
コンパイルオプション変えたら出なくなった
136名無しさん@お腹いっぱい。:04/11/24 05:47:50
スレ違いでしたらすいません。
Octaveで以下の式を解きたいのですが、どの様な手順で進めるたらいいか、どなたか救いの手をよろしくお願いします。

dx(i)/dt = P(i) - k(i)x + a(i)x(i) - b(SUMx(j))

ここでxは2つあり、x=1の時は以下の式で解を求めます。
When D <> 0
x1(t) = (Ps/2S + Pd/2D) + (x1(0) - Ps/2S)e^(-St) - (Pd/2D)e^(e-Dt)

When D = 0
x1(t) = xd(0) + Pdt/2 + Ps/2S + (xs(0) - Ps/2S)e^(-St),

where
S = k + B;
D = k - B;
xs=x1+x2;
xd=x1- x2;
Ps = P1+ P2;
Pd = P1- P2;

x=2の場合、Pd -> -Pd, x1 -> x2, xd -> -xdとし、同じ様に解を求めます。
137名無しさん@お腹いっぱい。:04/12/13 00:21:01
CPUとマザーボードを買い換えました.
AthlonからPen4に変えたのですが
octave って再コンパイルが必要だったんですね.
-march=athlonとかやってたんでないのか?
139名無しさん@お腹いっぱい。:04/12/21 23:47:43
Octave は関係ないんだけど atlas がコンパイル時にSSEや3D Now を
自動的に認識して最適なコードを出力します.

Athlonだと3D Now が入ってしまうから Pen4だと動かなくなってしまいます.
140名無しさん@お腹いっぱい。:04/12/22 05:03:05
FreeBSD 5.3-stable + プレスコットなPen4で ATLASを
コンパイルしたら以下のようなエラーが出るようになりました.

何かエラーを解消する方法があれば教えてください.

同じOSで PentiumM なら問題なくコンパイルできたのに...

pre=s, loopO=JIK, ta=N tb=T, mb=0, nb=0, kb=0, lda=0, ldb=0, ldc=0
mu=4, nu=1, ku=8, muladd=0, lat=1 ====> mflop=1573.458410
*** Error code 255

Stop in /usr/ports/math/atlas/work/ATLAS/tune/blas/gemm/THREADED.
*** Error code 1

Stop in /usr/ports/math/atlas/work/ATLAS/bin/THREADED.
Assertion failed: (fp), function GetMMRES, file ../atlas_install.c, line 327.
141140:04/12/23 09:52:22
PentiumM でコンパイルしたATLASを pkg_create してプレスコットな
Pen4 2.8GHz に入れました。
思ったより速くないですね。

PentiumM でコンパイルしているので SSE2 とかは有効になっている
はずです。

octave-2.1.63:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.63:2> tic;A\b;toc
ans = 4.3339
octave-2.1.63:3> tic;A\b;toc
ans = 4.1330
portsから入れるならWITH_OPTIMIZED_FLAGSを定義しておく
その他CFLAGSやFFLAGS等も適切に設定しておく
143名無しさん@お腹いっぱい。:04/12/23 18:21:14
>>141
SSE2の速度はPentiuMとPen4でぜんぜん違いますね。
>>142
WITH_OPTMIZIZED_FLAGSは定義しないでください。gcc-3.4.2の
バグで無限ループに陥ることアリ。CFLAGS/FFLAGSは意味なしです。
意味無いこと無いだろ
mahoたん降臨とみた。
146名無しさん@お腹いっぱい。:04/12/23 22:58:33
>>143

Pen4 ってSSE2 速いんですか?

それほどでもないと思うのですが...
147143:04/12/23 23:06:00
>>64 で X31 のベンチがありましたが
こちらも同じマシンですがベンチの結果はほぼ同じです。

同じ環境で PenM 1.4GHz 5.5秒 Pen4 2.8GHz 4.3秒...
これをどうみるか...

148名無しさん@お腹いっぱい。:04/12/25 13:29:55
>>145
するどい。143です。
>>147
octaveではないですが、ATLASだとdouble(REAL*8)の
FLOPSがPen4, PenMで全然違います。厳密には覚えてないですが、
Pen4 2.4Gでdgeemが1600MFlopsでPenMが500MFlops程度
だったかと。dualでもtheoretical peak近いところまででます。
(宣伝したい訳ではないが) FreeBSD Expert 2005にATLASの
ベンチマークを行った結果を詳しく書いています。ただPentiumMに
関しては書いていません。REAL*8はあまりに低速だったからです。
single precisionということはないですか?
PenMのほうが同クロックだと相当高速ですよ。
149名無しさん@お腹いっぱい。:04/12/26 01:01:24
>>148

プレスコットでも北森でも同じなのでしょうか?

研究室で数値計算用に一台PCを組もうと思っているんですが
世間のPen4の不人気具合いからためらっています.

とりあえず FreeBSD Expert 買ってみます.
150名無しさん@お腹いっぱい。:04/12/26 17:44:12
>>149
Expert2005のXeon dualはプレスコットだろうか? すまぬ。厳密な
チェックは怠った...しかし、FreeBSD/amd64を入れてみたがブートはしなかった。
SSE2は理論性能は実クロックx2Flops
でます。簡単にはXeon dual (3.4G)ならば3.4x2(dual)x2(theoretical)
=12.8GFlops Opteronも同様。まぁそこまでは出ません。
数値には出にくいのですが、複雑な処理をさせるとXeonは不利で、
Opteronがキビキビしてるなというのが良く解ります。

FreeBSD ports+HPCというのに僕は期待しています。
ノウハウをみなで共有できたら良いと思いますし、よい記事執筆者
が出ることを期待もしています。
151143:04/12/27 22:56:58
少しスレ違いな話で申し訳ないのですが

うちのプレスコなPen4とThinkPad X31 で FreeBSD 5.3-stable の
kernelコンパイル時間を計測してみたのですが

make buildkernel KERNCONF=MYPC

とやると ThinkPadX31(PenM 1.4GHz),自作PC(プレスコPen4 2.8GHz)

X31は 10分35秒, 自作PCは8分42秒でした.

またuser time と CPU使用率は
X31 545.5秒 97.9%
自作PC 795秒 181%
でした.

正直いってプレスコ使うのが嫌になってきています.
152140:04/12/27 22:57:38
>>151

ごめん名前間違えた 143 ではなく 140です.
153名無しさん@お腹いっぱい。:05/01/17 19:45:19 ,
すいません。
お聞きしていいですか??
現在、octaveで1次元有限要素法のプログラムを書いているのですが、量子井戸の波動関数を求めようとした際に、どうしても解が振動してしまいます。
波動関数の2乗の値はまともなのに、2乗しないとだめです。
どうしてでしょうか??
>>153
ネタ?
>>153

> 波動関数の2乗の値はまともなのに、2乗しないとだめです。

ここの意味がわかりません.
156名無しさん@お腹いっぱい。:05/01/18 21:58:47
>>153
とりあえずソースを

固有エネルギー・固有状態がほしいのか
波動関数の時間発展をみたいのか
何をしたいのか明確に説明プリーズ
157153:05/01/19 04:45:16
すいません。
説明不足でした。
波動関数が振動するとは、1要素ごとにプラスとマイナスが入れ替わってるような、ギザギザした形状になってしまうということです。
以下にソースを載せますので、暇であればお試しください。
欲しいのは時間に依存しない方程式を解いて、固有関数と固有値です。

http://cyobe36.k-server.org/newpage1.htm

158153:05/01/19 04:46:57
159名無しさん@お腹いっぱい。:05/01/19 21:31:54
>>157
ちゃんと解読してないけど
固有値が一番大きな方の波動関数をプロットしてない?
だったら1サイトごとに振動してても問題ないかと。
固有値が小さいやつをプロットしてみたらどうでしょう。
ただ、plot(x,v(:199))をしてみたけど
ポテンシャル井戸に局在してるようなモードでは無かったです。
対角化したときに固有値・固有状態がどういう順番で出るのか良く知らないんですけど。
160名無しさん@お腹いっぱい。:05/01/29 17:13:41
ATLASってiccでビルドするとどれくらい速くなるんでしょうか
162名無しさん@お腹いっぱい。:05/02/11 22:01:01
すいません、宣伝になっちゃいますけど

liboctaveの使い方をまとめたLiboctaveWikiを立ち上げました
http://liboctave.halfmoon.jp/
ちょっとliboctave使ってみたいなっていう初心者の方から、
liboctaveなら俺に任せろ!な猛者まで、
Wikiの編集に参加していただけるとうれしいです。
なんでOctaveじゃなくてliboctaveの方なんだっていうのは無しの方向で・・(汗
163名無しさん@お腹いっぱい。:2005/04/29(金) 23:16:47
age
164名無しさん@お腹いっぱい。:2005/04/30(土) 21:37:06
sage
165名無しさん@お腹いっぱい。:2005/05/02(月) 03:31:08
% grep -1 BROKEN /usr/ports/math/octave/Makefile
.if ${OSVERSION} < 500000
BROKEN="Does not compile on FreeBSD 4.x"
.else
BROKEN="Does not compile on FreeBSD >= 5.x"
.endif

これはMakefile読めってことですか。
166名無しさん@お腹いっぱい。:2005/05/02(月) 18:59:44
FreeBSDではもうoctaveは使えません
167名無しさん@お腹いっぱい。:2005/05/02(月) 19:32:52
>>166
(´・ω・`)ショボーン
168名無しさん@お腹いっぱい。:2005/05/03(火) 20:28:50
>>166
マジ?
169名無しさん@お腹いっぱい。:2005/05/08(日) 07:09:16
だめじゃん
170名無しさん@お腹いっぱい。:2005/05/08(日) 18:22:22
焦って/usr/ports/distfilesを見たけどoctaveのファイルは残ってなかった
誰かFreeBSD5.4R用のi686バイナリパッケージくれよ
171名無しさん@お腹いっぱい。:2005/05/08(日) 19:39:29
こういう時こそportdowngradeの出番では
172名無しさん@お腹いっぱい。:2005/05/10(火) 12:26:18
FreeBSDのportsってたまに Octave が Broken になりますよね.
またしばらく待っていると復活しますよ.
173名無しさん@お腹いっぱい。:2005/05/10(火) 13:21:18
>171
joke かと思ったら本当にあった... sysutils/portdowngrade
174名無しさん@お腹いっぱい。:2005/05/13(金) 00:07:36
mahoタソがその内直してくれるんじゃね
175名無しさん@お腹いっぱい。:2005/05/30(月) 22:52:46
なおった?
176名無しさん@お腹いっぱい。:2005/06/01(水) 10:16:48
少なくとも一昨日の段階ではまだ直ってなかったけど...

mahoタソたのむ
177名無しさん@お腹いっぱい。:2005/06/01(水) 10:51:19
5.x以降なら直ってるみたい。
4.xはBrokenだけど。
178名無しさん@お腹いっぱい。:2005/06/01(水) 12:51:40
漏れも使っているので、メンテ頼む mahoさん
179名無しさん@お腹いっぱい。:2005/06/01(水) 14:04:37
matlab だと、
x{1} = 1; x{2} = 2;
x{1} = [];
で、x の最初の cell を消去できますが、octave ではどうするんでしょうか?
同様に structure array の要素の消去の仕方も、[] を代入では駄目でした。
180179:2005/06/01(水) 14:11:47
すみません。嘘付きました。
cell array の要素の消去は、[] を代入でできるんです。
しかし、structure array の要素の消去が分かりません。
181179:2005/06/01(水) 14:36:59
解決しました。
web では見つけられませんでしたが、よく考えれば分かりました。

for i=1:10; x(i).f=i; end
とし、
x(7) の削除は、
x = x([1:6 8:10]);
ですね。
182名無しさん@お腹いっぱい。:2005/06/03(金) 07:45:41
今、FreeBSD で portsから octave を入れたのだけど
微妙に良くなっていっているよね octave

メンテや改良ってまだどんどん行われているの?

183名無しさん@お腹いっぱい。:2005/06/03(金) 09:17:17
FreeBSD 5.3でportsからoctaveを入れようとしたけれど、
===> octave-2.1.63 is marked as broken: Does not compile on FreeBSD >=5.x
って出て、インスコできなかったよ。

これってFreeBSD 5.x以上では使えないってことなの?
184名無しさん@お腹いっぱい。:2005/06/03(金) 10:01:00
>>183
portsを新しくしてください。
185183:2005/06/03(金) 14:38:31
>>184
portsは新しくしたはずなんだが…オカシイナ
186名無しさん@お腹いっぱい。:2005/06/07(火) 19:33:20
ttp://adlib.rsch.tuis.ac.jp/~akira/unix/octave/update.html
に2.1.Xから多次元配列がサポートされたって書いてあるけど,具体的にどう使えるのでしょうか?
ChangeLogとかNEWSとかにも multi とか Arrayとか検索しても引っかからないし,
zeros(3,3,3)とかも使えないし….
どなたか教えてください.
187名無しさん@お腹いっぱい。:2005/06/07(火) 20:35:35
octaveじゃないけど
math/sdpaも壊れてるような
188名無しさん@お腹いっぱい。:2005/06/09(木) 00:35:11
>>186
バージョンは?
2.1.50ではだめだけど、2.1.60以降ではzeros(3,3,3)でいける。
189名無しさん@お腹いっぱい。:2005/06/09(木) 22:07:53
>>188
2.1.71にしたら出来ました!ありがとうございました!
190名無しさん@お腹いっぱい。:2005/06/21(火) 11:04:05
imageコマンドで起動される外部画像ビューアーが、インストールされた計算機によって、
imagemagicだったり、xvだったりするのですが、この違いはなぜ生じるのでしょうか。
また、明示的にどちらかを使いたい場合、どうすればよいでしょうか。
191名無しさん@お腹いっぱい。:2005/07/06(水) 23:18:05
printf('kita---(.v.)-----!'); sleep(10);
これが10秒後まで表示されないんですよね
どうしようもないですか?
192名無しさん@お腹いっぱい。:2005/07/16(土) 22:05:40
>>191
printf('kita---(.v.)-----!'); fflush(stdout);sleep(10);
193名無しさん@お腹いっぱい。:2005/07/27(水) 01:39:55
ちょっと板違いなんですが、他に内容に沿ったスレ見つけられなかったんで失礼します。
今VisualC++で卒業研究のプログラム作ってるんですが、VC++で使える数値計算ライブラリってないですか?
欲しいのは特異値分解だけなんですが、そこら辺に転がってるソース改変して使っても計算精度が悪くて使えないんです。
Octave C++もcygwinを通してのgccでしか使えないっぽいし、どうにかVC++で特異値分解をさせるライブラリのようなものお願いします。
194名無しさん@お腹いっぱい。:2005/07/27(水) 08:15:02
195名無しさん@お腹いっぱい。:2005/07/27(水) 14:59:39
(.v.)オレ
196193:2005/07/27(水) 17:12:02
>>194
若干板違いだったのに、わざわざ有用な情報をありがとうございます。
結構色々調べたつもりだったんですけど、Octave C++をVC++で使えるとは知らなかったです。
Octaveを使うのあきらめてclapack使おうかと思っててたんですが、こっちの方が良さそうですね。

では、卒業研究頑張ってきますノシ
197193:2005/07/28(木) 02:03:21
なんかうまくいかねーorz
198名無しさん@お腹いっぱい。:2005/10/08(土) 07:15:57
Octave で補間や補外ってできますか?
199名無しさん@お腹いっぱい。:2005/10/21(金) 23:36:59
octave-2.9.3 に UMFPACK をリンクさせたいんですけど、どーやっても configure が libumfpack.a を見つけてくれません。
誰か助けてー。
200名無しさん@お腹いっぱい。:2005/10/25(火) 23:34:33
octaveの可視化機能は、どこまでMatlabに近いですか?
http://www.cybernet.co.jp/matlab/support/helpdesk/r13/toolbox/matlab/creating_plots/chvolv19.shtml
こんな画像を出したいのですが、octave-forgeを入れていても、関数が無いようです。
201199:2005/10/26(水) 00:15:58
>199
自己レス。
UMFPACKv4.4 の共有ライブラリを自分で作って CVS 版の octave で configure したら認識しました。
でも make がコンパイルエラーで止まる…今度はデバッグか…orz
202199:2005/10/27(木) 06:28:25
>201
さらに自己レス。解決しますた。静的ライブラリでも大丈夫だった。
足りないライブラリを持ってきて Makefile をやっつけハックでいけた。

2048 * 2048 三重対角行列の LU 分解 - Pentium III Coppermine 1GHz です。

octave:1> a=eye(2048).*rand(2048)+diag(ones(2047,1),1)+diag(ones(2047,1),1)';
octave:2> t=time();[L U]=lu(a);time()-t
ans = 46.189

octave:1> b=sparse(eye(2048).*rand(2048)+diag(ones(2047,1),1)+diag(ones(2047,1),1)');
octave:2> t=time();[L U]=splu(b);time()-t
ans = 0.30429

(*´д`*)
203名無しさん@お腹いっぱい。:2005/12/01(木) 11:28:50
portsからoctaveをインストールしようと思ったんだけど、
atlasのコンパイルに無茶苦茶時間かかりますね。

CPU毎に最適化したatlasのpackageってどこかに落ちてない?
204203:2005/12/01(木) 11:31:15
>>203
ここのスレ的にはいちいち言わなくても問題ないと思いますが、
使っているOSはFreeBSD6.0Rです。

ここの板にいると、ついついみんなFreeBSDを使っていると思ってしまう。
205名無しさん@お腹いっぱい。:2005/12/01(木) 22:07:16
FreeBSD 6.0Stable, pentium-m 1.3GHzでAtlasのチューニングに36時間かかった
パッケージは保存したよ
デュアルブートでBSD使ってるからもうあんなのやりたくねえ
206名無しさん@お腹いっぱい。:2005/12/02(金) 00:03:18
今日はじめて使いました。
自分の作ったFFTのプログラムがあまりに遅かったので…。
ところで、起動時のフォルダって変更できるんですか?
微妙に不便
207名無しさん@お腹いっぱい。:2005/12/03(土) 12:19:24
?/.octaverc に好きなコマンドを突っ込んでおけば起動時に実行される
スタートアップファイルには他にもいろいろあって順番が決まっている
208名無しさん@お腹いっぱい。:2005/12/03(土) 20:42:54
>>207
なるほど。
ありがとうございました。
209名無しさん@お腹いっぱい。:2005/12/07(水) 14:24:02
しかし、Opteron dual な鯖で、昨夜の8時からatlasのインストールしているのに
まだ終わらない。
210名無しさん@お腹いっぱい。:2005/12/26(月) 17:28:06
liboctaveでodeをする方法だれかわかりませんか?
微分方程式がどけない、、、、、
211名無しさん@お腹いっぱい。:2005/12/28(水) 21:59:59
非線形だからMatlabとかという理屈がよくわからん

そんな非線形解なんてニュートン法でいいじゃん
ニュートン法自体はすげー簡単で単純
学部の頃はQuickBASICで書いてたぞ
奥村晴彦のコンピュータアルゴリズム事典にも載ってるし

ニュートン法でポテンシャルのパラメータを出して
インパクトパラメータを計算してた
212名無しさん@お腹いっぱい。:2005/12/29(木) 18:19:06
非線形っていうけど、Matlabって線形計算用なんだよね
もともとは...
213名無しさん@お腹いっぱい。:2006/01/02(月) 07:04:26
FreeBSDでoctaveを使いたいのだけど、atlasのコンパイルに時間がかかりすぎます。
それでpackagesを探しているのですが、FreeBSD6.0 or 6-stable用の
atlasのpackagesが見付かりません。

どこかにないでしょうか?
214名無しさん@お腹いっぱい。:2006/01/02(月) 10:22:57
ports にこう書いてあるから、自分で頑張る方が良いんじゃないかな...

NO_PACKAGE= Optimizes for the local machine, so a package is not generally useful. Set FORCE_PACKAGE to override
215名無しさん@お腹いっぱい。:2006/01/02(月) 13:35:50
>>213
オレ、年末にoctaveのportsをmakeしたけど
PentiumIII900MHzで30時間かかったよ
216名無しさん@お腹いっぱい。:2006/01/04(水) 10:13:40
LMItoolboxみたいのありますか?
217名無しさん@お腹いっぱい。:2006/01/04(水) 22:50:27
>213

ATLASは実際にCPUにいろいろ計算させて、その結果を見て最適化していくんだよ。
だから、お前の希望するFreeBSD6.0 or 6-stable用、かつ、お前の使ってるCPU用のバイナリじゃなきゃだめじゃないの?
218名無しさん@お腹いっぱい。:2006/01/04(水) 22:55:46
まあatlasが必要ない用途も多いな。
219名無しさん@お腹いっぱい。:2006/01/05(木) 02:28:44
>>217
Atlas使うといっても何時間もかかるような数値計算をするわけでも
ないので、それほどカリカリに最適化してもらわなくてもいいんだけど...
220名無しさん@お腹いっぱい。:2006/01/05(木) 02:43:06
atlasってそんなにインストールに時間掛かるの?
openoffice位か?
221名無しさん@お腹いっぱい。:2006/01/05(木) 06:06:19
演算の最適化部分を省けばたいしたことないと思うけどね。

簡易インストールみたいなのないの?
222名無しさん@お腹いっぱい。:2006/01/05(木) 22:51:42
>221
最適化をあきらめる選択肢も必要だよね
チューニングに時間がかかりすぎるし
ATLASを使わないで、BLASだけでつかえたらいいのにね
223名無しさん@お腹いっぱい。:2006/01/05(木) 22:54:08
ところで、どうしてFreeBSDのPortsにあるATLASには-ffast-mathオプションが付いてるんだろう
はずさないとだめなんじゃないの?
224名無しさん@お腹いっぱい。:2006/01/05(木) 23:59:39
カリカリに最適化してくれるから俺はports
ひいてはFreeBSDを使っているわけだが
225名無しさん@お腹いっぱい。:2006/01/06(金) 00:03:13
>222
そういう make option の盛り込み案を maho たんに提案しる
226名無しさん@お腹いっぱい。:2006/01/11(水) 17:41:06 BE:81633582-
質問なのですが、save のファイル名の引数に文字列を保持した変数を
与えることはできるのでしょうか?

a=[1,2; 3,4];
filename = "test.dat";
save filename a;

とやると,"test.dat"ではなく"filename"というファイルに出力されてしまいます。
変数filenameの中身をみてくれる方法はないのでしょうか?
227名無しさん@お腹いっぱい。:2006/01/13(金) 23:14:55
>226
■俺も初心者。
とりあえず、save関数を使ってやってみてだめだった。つーか、マニュアルを見るとこうある。
たぶんだめなんじゃないのかな?代わりにfopenコマンドを見つけたから試してみたらどうかな?

1.fopenでファイルオープン 2.fputで書き込み 3.fcloseでファイルクローズ

perlのファイルハンドルみたいだし、""無かったら変数も展開してくれそうな雰囲気はあるよな。
俺も日頃からクソつまらない作業ばかりの社会人で試す前に寝てしまった。暇ができたらやってみるけど。
■saveコマンド
15.1.3 Simple File I/O
save options file v1 v2 . . . Command
Save the named variables v1, v2, . . . in the file file.
The special filename '-' can beused to write the output to your terminal.
■15.2.1 Opening and Closing Files
[fid, msg] = fopen (name, mode, arch) Built-in Function
fid list = fopen ("all") Built-in Function
file = fopen (fid) Built-in Function
For example,
  myfile = fopen ("splat.dat", "r", "ieee-le");
fclose (fid) Built-in Function
■15.2.2 Simple Output
fputs (fid, string) Built-in Function
Write a string to a file with no formatting.
■これを参照した。
GNU Octave A high-level interactive language for numerical computations
Edition 3 for Octave version 2.1.x
228名無しさん@お腹いっぱい。:2006/01/14(土) 00:44:12
どうしてもsaveにこだわるのなら
eval(sprintf("save %s a",filename))
で可能。

こんな方法を使うメリットがあるかは疑問だが。
229名無しさん@お腹いっぱい。:2006/01/14(土) 01:29:15
>228
おおう
なるほど
230名無しさん@お腹いっぱい。:2006/01/15(日) 00:02:40
MatlabではM関数をエデットすればそれが次ぎの実行で反映されるのですが
Octaveでは一度読み込んだ関数はそのMファイルが書き変わっても反映されない様です
それでしょうがなく関数を書き換えたらexitしてoctaveを立ち上げ直しているのですが
関数を初期化する方法は無いでしょうか?
231名無しさん@お腹いっぱい。:2006/01/15(日) 08:34:26
clear all っぽい
でも何かエラーが出る
232名無しさん@お腹いっぱい。:2006/01/15(日) 13:00:18
x="output.txt"
y=[1,2,3,4]
save("x","y");
ってなかったけ
233名無しさん@お腹いっぱい。:2006/01/15(日) 20:07:34
>>230
マニュアルには更新日時を見て
再読込するよな事が書いてあるけど、
実際の動作は違うのか?
help -i reload

>>231
clear allは普通にできないか?

>>232
できない。
234名無しさん@お腹いっぱい。:2006/01/21(土) 18:48:32
Octaveで偏微分方程式は解けますか?
235名無しさん@お腹いっぱい。:2006/02/07(火) 13:45:49
octaveとscilabってどう違いますか?
初心者にお勧めはあります?
236名無しさん@お腹いっぱい。:2006/03/05(日) 16:18:36
cygwinでscilabをコンパイルできた人居る?
cygwinのコンソールでscilabを使いたいよ
237名無しさん@お腹いっぱい。:2006/03/12(日) 21:25:19
Windows用 Octave 統合環境
Octave Workshop
http://www.math.mcgill.ca/loisel/octave-workshop/
インストールしたらちゃんと動いた!

でもグラフは gnuplot for win
エディタはメニューの File で open すれば立ち上がる

これの凄い所は全部 MinGW で作ってある所!
Cygwin 無しなので、UNIXになじみの無い職場でも使えるかも
238名無しさん@お腹いっぱい。:2006/03/13(月) 16:40:29
そういえば、Octave Workshopって、FreeBSDのportsに入っていないね。
239名無しさん@お腹いっぱい。:2006/03/16(木) 14:32:49
floating pointの形式はieeeじゃなきゃだめなのね。
故に、-mfancy-math-387 -ffast-mathなんかつけるとこけてしまう。
240名無しさん@お腹いっぱい。:2006/03/17(金) 23:32:02
FreeBSDのatlasのportsのfiles/{blas.h,atlas.h}って

+#ifdef __cplusplus
extern "C"
{
+#endif

--略--

+#ifdef __cplusplus
}
+#endif

なpatchをあてないとc言語の時に困るので
誰かsend-prしてください m(_ _)m
241名無しさん@お腹いっぱい。:2006/03/17(金) 23:52:31
cygwinでoctaveとatlasをインストールしようとしてたやついる?
gcc3.4でoctaveをコンパイルすると遅くなるって言ってたけど
gcc4.0とか普通にコンパイルできるぞ?
今からこれでoctaveをコンパイルしてみる
242名無しさん@お腹いっぱい。:2006/03/18(土) 06:12:02
>>241
atlasしらんが、octaveは出来そうだな。
liboctave/lo-ieee.ccかな?にCygwin_initとかいう関数がある。
243名無しさん@お腹いっぱい。:2006/03/20(月) 21:09:03
SciLabは4.0が出たみたいだな
使いにくいから使わないけど
244名無しさん@お腹いっぱい。:2006/03/21(火) 01:11:46
octaveの方がいろいろルーズでいいな
245名無しさん@お腹いっぱい。:2006/03/22(水) 12:30:18
>>244
確かにな
mファイルをコマンドとして使えないとか
関数mファイルを明示的に読み込まないといけないとか、、etc..

Octaveみたいに操作方法もMatLab互換にすればみんな使うのに
246名無しさん@お腹いっぱい。:2006/04/03(月) 00:21:50
俺はLMI tool(MATLAB非互換)が使いたいからSciLabも使うけどね。
慣れればSciLabもいいよ。
247名無しさん@お腹いっぱい。:2006/04/05(水) 23:06:34
octave-forgeのfillは頂点が4つまでしか描けないの?

有限要素法の研究をoctaveでやらにゃならんのに
8頂点の要素がかけないのはつらい・・・。

情報をください。エロい人!!
248名無しさん@お腹いっぱい。:2006/05/14(日) 07:20:32
>241
ATLASはgcc-3.3.3でmakeしました。3.4でもいいはずなのですが
ファイルの一部がmakeできなかった?(よく覚えていない)
octave以外はgcc-3.2でmake
(3.4はbroken octaveになるそう。3.3.3は例外処理が遅いため遅い。
cygwin1.dllの一月のverupより遅さが緩和されているような気がしますが)
gcc-3.2は普通にはgetできないので
www.nuce.nagoya-u.ac.jp/e8/Matsuoka/OctCpp.html
を参考にもってくる。
249名無しさん@お腹いっぱい。:2006/05/14(日) 07:23:26
>248 自己フォロー
 >octave以外はgcc-3.2でmake
ごめん。
octaveはgcc-3.2でmake
の間違い
250名無しさん@お腹いっぱい。:2006/05/20(土) 12:12:17
Octave Workshop (>>237) を使っています。
起動直後に私のホームフォルダに自動的に移動しておいて欲しいのですが、
どのファイルにコマンドを書き込めばいいのでしょうか。
あちらこちらにある設定ファイルらしきものに書き込んでみたのですが
まったく変化がありませんでした。ヒントをもらえると嬉しいです。
251名無しさん@お腹いっぱい。:2006/05/20(土) 14:06:11
>250 自己解決しました。
普通にリンクファイルでフォルダを設定すればOKでした。
失礼しました。
252名無しさん@お腹いっぱい。:2006/06/25(日) 16:16:16
>>40のleastsqr.m を動かそうとしているんだけど、なかなかうまくいかない。
なにをやったか書くので、なにがいけないのか、分かる人がいたら教えてください。

x=[1 2 3 4 5];
y=[1 3 6 7 8];
function ret=F(x,p)
ret = p(1)*x*x + p(2)*x + p(3);
endfunction
pin=[1 1 1];
[f,p]=leasqr(x,y,pin,"F")

といった形で実行させると、
error: input(x)/output(y) data must have same number of rows
といったエラーが出る。leastsqr.mのソースを見ると、

% check data vectors- same length?
m=length(y); n=length(pin); p=pin;[m1,m2]=size(x);
if m1〜=m ,error('input(x)/output(y) data must have same number of rows ') ,end;

といった箇所があって、m=length(y)と[m1,m2]=size(x)のm1を比較している。
つまり、上の例だとmが5となり、m1が1となるので、両者がマッチしない。
だから、エラーになったということのようだった。

このあたり、データの与え方が間違っているのかと思って転置行列 x' で
実行させてみたりしたけれど、なかなかうまくいかない。Octave のバージョンは、

GNU Octave, version 2.1.53 (powerpc-apple-darwin7.5.0).
GNU Octave, version 2.1.69 (i386-pc-linux-gnu).

両者とも同じ結果だった。
253名無しさん@お腹いっぱい。:2006/06/26(月) 10:54:43
>>252
そのメーリングリストで流れてたleasqr.mはバギーで動きません

元々のleasqr.mはMatLAB R12ごろに使われていたものですが
フリーの非線形最小二乗関数のleasqr.mでは儲ける事が出来ないので
独自にlsqcurvefit.mを作りOptimization Toolboxに入れて売ってます

leasqr.mの方は現在 Octave-forgeに収録されており、
最新版ならバグ無く動く様です(私の所では)

必要なのはleasqr.mとdfdp.mだけなので、octave-forgeをインストールしなくても
このソースだけ拾ってくれば使えます。

このleasqr.mはmatlabでもそのまま使えますので
optimization toolboxは買えないけどmatlabは使いたい人は使ってみてはどうでしょう
lsqcurvefit.mと違って共分散行列(対角項が各説明変数の分散になる)と、
R^2つまり決定係数が得られて便利です。
254ゆーき:2006/06/27(火) 19:52:37
すみません。。。
matlabハイパー初心者なのですが。。。
csapeで曲線を描きたくて調べたのですが、どうしてもcsape(X,Y,CONDS,VALCONDS)
のVALCONDSに何を入れたらいいのか分かりません。。。
特異値とか特異条件とかが関係してくるっぽいんですが。
どなたか教えて下さい。
255名無しさん@お腹いっぱい。:2006/06/27(火) 20:31:38
最近,Octaveを使い始めたんですが,図を複数作る方法がわかりません.
subplotみたいに1つのグラフにいくつかの波形をプロットするではなく,
1つのグラフに1つの波形をプロットしたものをいくつか作る方法を教え
てください.
GNU Octave2.1.73を使っています.figureを使ってもグラフが表示されま
せんでした.
256名無しさん@お腹いっぱい。:2006/06/27(火) 20:52:22
>>253
octave-forge から持ってきて、leasqrdemo.m をにらめっこしながら、
ようやく動かすことができました。

x=[1; 2; 3; 4; 5];
y=[1; 3; 6; 7; 8];
function ret=F(x,p)
ret = p(1)*x.*x + p(2)*x + p(3);
endfunction
pin=[1 1 1];
[f,p]=leasqr(x,y,pin,"F")

まず、xとyを列ベクトル標記に変え、さらにx*xの計算のところを
x.*xに変えました。これで、動かし方を理解できました。

どうもありがとうございます。
257名無しさん@お腹いっぱい。:2006/07/03(月) 16:42:51
初めて書き込ませていただきます。
構造体に関する質問なのですが、
例えば
octave:1> Kozo(1).name = "ichiro"
octave:2> Kozo(2).name = "jiro"
octave:3> Kozo(1).height = 170
octave:4> Kozo(2).height = 175

というふうな構造体作ったのですが
変数aにichiroの身長を代入しようと
a=Kozo(1).heightとしても
scalar cannot be indexed with .
とエラーが出てアクセスできません。
どなたか参照する方法を教えて頂けませんでしょうか?
octave:5> Kozo(1)
Kozo(1) =
{
height = 170
name = ichiro
}


258名無しさん@お腹いっぱい。:2006/07/04(火) 09:27:40
>>257
octave-2.1.71:1> Kozo(1).name = "ichiro";
octave-2.1.71:2> Kozo(2).name = "jiro";
octave-2.1.71:3> Kozo(1).height = 170;
octave-2.1.71:4> Kozo(2).height = 175;
octave-2.1.71:5> a=Kozo(1).height
a = 170
octave-2.1.71:6> b=Kozo(1).name
b = ichiro
octave-2.1.71:7> fieldnames(Kozo)
ans =

{
[1,1] = height
[2,1] = name
}

何の問題もありませんが?
259名無しさん@お腹いっぱい。:2006/07/04(火) 13:43:14
>>258
別のマシーンでやってみたところ問題ありませんでした。
ということで文法上の問題でなく
インストール上の問題のようです。ありがとうございました。

260名無しさん@お腹いっぱい。:2006/07/16(日) 02:39:09
forge入れて、変わったなーって実感したいんですけど
何かサンプルプログラムありませんか?
261名無しさん@お腹いっぱい。:2006/07/16(日) 03:22:13
octaveで得たグラフとかって論文に載せてもいいの?
信頼性りかの問題で
262名無しさん@お腹いっぱい。:2006/07/16(日) 03:38:54
り、のとこ、と、の間違いでした。
すいません。
263名無しさん@お腹いっぱい。:2006/07/16(日) 04:41:49
>>262
octaveってグラフはgnuplotで描いていると思うけど、
gnuplotは学術論文のグラフ描画によく使われているよ。
そういった意味では問題は少ないと思うな。

もしもoctaveの計算精度の問題を言っているのであれば、
それは自分で精度を検証してから使うべきだろう。

もちろん、octave自身けっこういろいろなところで使われているので
信頼性はそれほど低くはないと思うけど、
あまり使われていない関数などはバグがけっこう入っていそうだ。
264名無しさん@お腹いっぱい。:2006/07/16(日) 09:54:11
むしろ >261 は何だったら載せていいと思っているのか問い詰めたい
265名無しさん@お腹いっぱい。:2006/07/16(日) 14:56:30
FFTした後の振幅って、その中のピークで規格化するのが一般的なんですか?

実際のパワースペクトル密度を得たいときはどうすればいいんですか?

勉強不足ですいません。よろしくおねがいします。
266名無しさん@お腹いっぱい。:2006/07/16(日) 21:05:49
ニューラルネットの例題プログラム作ってみたけど
思ったより計算速度は速かった。
ベクトル演算が鍵なのかな。
267名無しさん@お腹いっぱい。:2006/07/16(日) 21:08:49
>>266
そうだろうね。

同じ演算でも行列使った時とループ使った時では格段に計算時間が違う。
268名無しさん@お腹いっぱい。:2006/07/22(土) 00:57:02
>>261
Excelよりは信頼性あるだろ
269名無しさん@お腹いっぱい。:2006/07/22(土) 23:03:41
そういや、あまり知られてないけどExcelってバグ多いよね。

一度、共同研究先が用意したデータを処理しようとしてExcel使ったけど、
マニュアルの記載にも間違いがあったりして、まともに
計算結果がでなくても困ったことがある。

そういった意味ではOctaveの方がましだと思った。
270名無しさん@お腹いっぱい。:2006/07/22(土) 23:16:57
特に財務計算の関数はアレなんだっけ。
金の問題だけに検算しないとw
271名無しさん@お腹いっぱい。:2006/07/23(日) 00:12:51
実験データを excel でいじろうとする奴を見ると
殴りたくなるよなっ!
272名無しさん@お腹いっぱい。:2006/07/23(日) 00:21:08
現状のExcelじゃ扱える行数が少なくてどうにもならん。
次ので増えると聞いたが。
273名無しさん@お腹いっぱい。:2006/07/25(火) 01:33:11
>>271

そうなの!?
結構普通じゃない!?
274名無しさん@お腹いっぱい。:2006/07/25(火) 11:20:44
>273
ガッ
275名無しさん@お腹いっぱい。:2006/07/27(木) 12:06:56
>>271
俺の周りはどんなデータもFORTRANでいじろうとする奴ばかりだな

Octave使ってる俺だけ浮いてる orz
276名無しさん@お腹いっぱい。:2006/08/07(月) 17:07:19
すごくFAQっぽくて恐縮なのですが、質問させてください。
cygwinのコンソール上でoctaveを使おうとしています。
(正確にはoctaveのC++向けライブラリを使いたい)
それで、cygwinのインストール時にg++関連(3.4.4)とoctave関連(2.1.73)をすべて導入し、
gnuplotのWindows版バイナリ(v4.0)にもパスを通して、
\usr\share\octave\2.1.73\m\startup\octavercと
\usr\share\octave\site\m\startup\octaverc(違いがよく分からないので両方)に
gnuplot_binary = "pgnuplot";を追加しました。
この状態でコンソールからoctaveと入力しても、「何もおきません」。
何か根本的に勘違いしているでしょうか?
277名無しさん@お腹いっぱい。:2006/08/10(木) 01:33:29
octaveはscilabとかMatlabみたいに

G=1/(1+s)

って記述は出来ないんすか?

G=tf([0 1],[1 1])

ってわかりにくい。
278名無しさん@お腹いっぱい。:2006/08/10(木) 08:02:00
octave:1> s = 1
s = 1
octave:2> G = 1/(1+s)
G = 0.50000
279名無しさん@お腹いっぱい。:2006/08/10(木) 10:19:02
function F(t)
F=sin(t);
endfunction
t=0:0.1:2*pi;
y=F(t)

この最後のところで
error: value on right hand side of assignment is undefined
になるのは何故ですか?
280名無しさん@お腹いっぱい。:2006/08/10(木) 10:20:17
>>277
そういう事がしたければSCILAB使えばいいじゃん。
281名無しさん@お腹いっぱい。:2006/08/10(木) 12:12:32
>>278
あとあと、tf関数とか使って、ボード線図が書きたいという趣旨ぢゃないすか?
282名無しさん@お腹いっぱい。:2006/08/10(木) 12:13:40
>>266
ベクトル演算が速くなるように書くっていうのはCray1の昔からですねw
283278:2006/08/10(木) 21:54:29
趣旨とか言われてもシラネ
284名無しさん@お腹いっぱい。:2006/08/12(土) 17:35:48
>>283
G=tf([0 1],[1 1])
って書くと
bode(G)

って出来るけど

G=1/(1+s)
って書いても
bode(G)
って出来ないってことでしょ?

scilabなら
s=poly(0,"s")
G=1/(1+s)
bode(G)
って書ける。

285名無しさん@お腹いっぱい。:2006/08/14(月) 11:29:50
>>278
ワロス
286名無しさん@お腹いっぱい。:2006/08/18(金) 14:34:02
liboctave使っているのですが、liboctaveの説明十分なマニュアル・チュートリアル的な
ものは存在するのですか?

探してみましたが、liboctave wikiぐらいしか見つからなくて困っています・・・
287名無しさん@お腹いっぱい。:2006/08/19(土) 16:23:09
マニュアルあってもいいけど
Doxygenで作ったAPIリファレンスで事足りる
288名無しさん@お腹いっぱい。:2006/08/26(土) 19:57:32
FreeBSDの倍精度が64bitじゃなくて53bitで扱われてるって書いてある本があったけど・・・
どうしたらいいんだ
289名無しさん@お腹いっぱい。:2006/08/27(日) 05:50:44
何が53bitなの?

IEEE規格で計算しているから64bitのはず。
290名無しさん@お腹いっぱい。:2006/08/27(日) 10:58:54
>>288
仮数部の有効桁じゃないのか?
291名無しさん@お腹いっぱい。:2006/08/27(日) 13:18:12
仮数部52ビット、符号部1ビット、指数部11ビット。
FreeBSDと限定する意味がわからんなあ、その本。
292名無しさん@お腹いっぱい。:2006/08/27(日) 14:23:30
>>291
「正規化方式で実質的に 53bit」って話は聞いたことがある
293名無しさん@お腹いっぱい。:2006/08/27(日) 16:57:17
intel のFPUは内部レジスタは80bitの精度を持っているけど、
IEEE規格だと64bitだからね。

もっともコンパイルオプションを指定すれば80bitで計算できたはずだけど...
294名無しさん@お腹いっぱい。:2006/08/27(日) 23:39:22
IEEEにも拡張精度は定義されてるけど
295名無しさん@お腹いっぱい。:2006/08/28(月) 02:05:31
296名無しさん@お腹いっぱい。:2006/08/28(月) 07:08:00
man fpsetprec
297名無しさん@お腹いっぱい。:2006/08/28(月) 22:53:00
これか
http://www.jp.freebsd.org/QandA/news/news-2003-10-16.html

FreeBSD QandA 2003年10月16日 更新分

管理番号 587 (更新) 更新履歴

Q. gccで "long double" を使用して数値計算を行ないましたが、同じ CPU での
Linux の結果と比べて計算精度が悪く、計算結果が異なります。

A. FreeBSD の標準カーネルでは浮動小数点の仮数部の精度が (IEEE754 と異なり)
53bit に設定されているために起きる現象です。

  Intel x86 系の FPU の仮数部の精度は 24/53/64bit に設定可能です。
FreeBSD では仮数部の精度が 53bit に設定されているために、long double
を使用しても仮数部の精度が 53bit (つまり、double と同じ) しかありません。

1. 関数 fpsetprec()/fpgetprec() を使用して、FPU の仮数部の精度を 64bit
に変更する事が出来ます。fpsetprec(3) を御覧下さい。

2. GNU Multiple Precision Arithmetic Library (GMP)、PARI 等 FreeBSD 標
準以外の数値演算ライブラリを利用してもよいでしょう。
298名無しさん@お腹いっぱい。:2006/08/29(火) 22:29:53
カーネルの設定で64bitにするにはどうしたらいいの
299名無しさん@お腹いっぱい。:2006/08/30(水) 10:51:41
hackしろ
300名無しさん@お腹いっぱい。:2006/08/30(水) 11:22:55
ついでに見てやったぞ。
i386なら、/sys/i386/include/npx.hの__INITIAL_NPXCW__
amd64なら/sys/amd64/include/fpu.hの__INITAIL_FPUCW__
を適当に変えろ。
301288,297:2006/08/30(水) 20:48:29
ソースを見て怪しい部分をさがせばいいのか
デーモン君みたいだな
よくわかんないけどがんばるよ
302名無しさん@お腹いっぱい。:2006/09/11(月) 14:40:45
octaveって(GNU Octave, version 2.1.73 (i686-pc-cygwin).

A=[
1 2
3 4
]

A=[\
[1,2];\
[3,4]\
]
って、CRLFをエスケープしなきゃダメ?
303名無しさん@お腹いっぱい。:2006/09/12(火) 14:43:02
やってみればわかる
304名無しさん@お腹いっぱい。:2006/09/12(火) 16:53:55
>>303
matlabだと
A=[
1 2
3 4
]
でいいのに、octaveだと\をつけなきゃならんのは、片手落ちだとおもう
305名無しさん@お腹いっぱい。:2006/09/13(水) 00:32:48
それ、 octaveじゃなくてターミナルの問題じゃね?
306名無しさん@お腹いっぱい。:2006/09/13(水) 10:45:57
>>305
あ、ちょっと言葉足らずだった。ごめん

A=[
1 2
3 4
]
って、g.mに書いて、
source("g.m")
ってすると、ダメなんですよ。

って書いていて気がついた。
そか。改行をCRLFじゃなくてLFにしなきゃだめなんだ→やってみた→うまくいった。
307名無しさん@お腹いっぱい。:2006/10/30(月) 13:21:51
卒研でoctave使って信号解析することになってるんだが。
音声ファイルの読み込みとかがいまいちよくわからん。
MATLABの本なんか見るとwavreadとかwavwriteとかsoundとかそういうのがあるっぽいんだけど
octaveではそういうのできるのかい?
308名無しさん@お腹いっぱい。:2006/10/30(月) 17:41:07
>>307
scilabならあるらしい?
309名無しさん@お腹いっぱい。:2006/10/30(月) 17:42:16
>>307
http://nis-ei.eng.hokudai.ac.jp/~aoki/book01.html
>(4) octave_programの中に,wavread.m,wavwrite.m,sound.m,test01.m,guitar_2048.wavをコピーする.
310307:2006/10/31(火) 11:31:52
>>309
うぉすげえ。サンクス。
っていうかこの本読んだんだけど
wavplay.exeについては書いてなかった気がするんだよなぁ。
311名無しさん@お腹いっぱい。:2006/11/04(土) 11:58:22
CygwinでfftwとATLAS込みのOctaveを2.1.73をソースからビルドしたけど
あんまり速度が速くならなくて悲しい
312名無しさん@お腹いっぱい。:2006/11/05(日) 16:53:22
Intel compiler + Intel MKLでOctaveビルドしてるいませんか?
313名無しさん@お腹いっぱい。:2006/11/10(金) 02:01:59
SCILABでニュートン法を使ってtan(x)=C を解くプログラムを作りたいんですけど、
だれか、スクリプトを教えてくれません?
314名無しさん@お腹いっぱい。:2006/11/10(金) 08:19:44
>>313
1)なんでわざわざニュートン法をプログラムするのか不明。解きたいならfsolveで。
2)その辺のCのプログラムでニュートン法のところ探してきて、まぁそれをそのまま書けばほぼOK
4)scilabのことはscilabのスレで
315名無しさん@お腹いっぱい。:2006/11/10(金) 21:03:30
>>313
宿題は自分でやりましょう
316名無しさん@お腹いっぱい。:2006/11/10(金) 22:11:47
(´-`).。oO( 3)はどうしたんだろう…)
317名無しさん@お腹いっぱい。:2006/11/17(金) 01:25:59
かなり時間のかかるプログラムを走らせる際に,進行状況を見るためにループ文の中で
if mod(n,50)==0 disp(n) ,end
という感じで表示させたいのですが,サブ関数のループ中でやろうとすると,計算中には
表示をせずに,計算が終わったあとにまとめて全部表示する形になってしまいます

上手くサブ関数中にリアルタイムで表示させるような方法はありますでしょうか?
318317:2006/11/17(金) 01:28:31
最後の文のサブ関数中には計算中にの間違いです・・・
319317:2006/11/21(火) 23:49:38
ttp://dl.cybernet.co.jp/matlab/support/manual/r14/toolbox/optim/tutori34.shtml
にあるように
options = optimset('Display', 'iter');
を使うことで解決しました.
320名無しさん@お腹いっぱい。:2006/11/22(水) 01:43:34
workshop使ってみたんだけど、これエラーメッセージが文字化けして使えんね
俺だけ?
ちなみにOSはXPsp2
321名無しさん@お腹いっぱい。:2006/11/22(水) 10:05:34
scilab 4.0でint16の挙動がWindows版とLinux版(どちらもバイナリ版をインス
トールしました)で異なっているんですが、どちらが正しいんでしょうか。

Linux版
------------------------------------------------------------------
-->int16([32767, 32768, 32769])
ans =

! 32767 -32768 -32768 !
------------------------------------------------------------------

Windows版
------------------------------------------------------------------
-->int16([32767, 32768, 32769])
ans =

! 32767 -32768 -32767 !
------------------------------------------------------------------

322名無しさん@お腹いっぱい。:2006/11/22(水) 12:44:56
一応Scilab関連スレを張っとく

SCILAB&SCICOSについて教えてください
http://science4.2ch.net/test/read.cgi/sim/980480122/

Scilabを触ってみるスレ
http://science4.2ch.net/test/read.cgi/kikai/1068735555/

SCILABな
http://science4.2ch.net/test/read.cgi/denki/1142648802/1-100
323名無しさん@お腹いっぱい。:2006/11/22(水) 13:52:21
>>322
誘導どうもです。そちらで聞いてみます。
324名無しさん@お腹いっぱい。:2006/11/24(金) 00:16:46
Octave(ライブラリ?)ってC言語(C++除く)から呼び出して使えますか?
325名無しさん@お腹いっぱい。:2006/11/24(金) 06:29:38
liboctaveはC言語からは無理じゃないでしょうか
326名無しさん@お腹いっぱい。:2006/11/25(土) 00:55:44
そっか残念。
327名無しさん@お腹いっぱい。:2006/11/27(月) 08:44:46
328名無しさん@お腹いっぱい。:2006/12/12(火) 17:50:45
octave はガロア体上での計算できますか?
GF(2^16) くらいでいろいろやりたいんですが。
329名無しさん@お腹いっぱい。:2006/12/12(火) 18:43:49
とりあえず手元の Debian にパッケージ入れてみたら・・
gf() なんていう関数が見あたらんと・・
330名無しさん@お腹いっぱい。:2006/12/18(月) 00:28:52
質問です。

二重積分の計算をしようとして、以下のようなoctave
スクリプトを書きました。

function y=a(x1)
y = exp(-x1);
endfunction

function y=b(x2)
y = quad("a",0,x2);
endfunction

quad("b",0,4)

すると、以下のようなエラーが出ました。

error: quad: invalid recursive call
error: evaluating assignment expression near line 8, column 5
error: called from `b'
error: quad: evaluation of user-supplied function failed

Octave のバージョンは 2.1.53 です。

なぜこのようなエラーとなるのか、教えていただけませんか。
331名無しさん@お腹いっぱい。:2006/12/30(土) 19:34:23
ループ中のグラフのアニメーションを、キー入力で途中で止める機能を付けたいので、ループ中に

x=kbhit();

として、xの中身によりbreakするようにしたいのですが、上記の文を書くと、

error: value on right hand side of assignment is undefined
error: evaluating assignment expression near line 4, column 2
error: near line 4 of file `kbhit.m'

といったエラーが出ます。左辺のx=を書かずに、kbhit();だけだとエーラが出ません。
また、上記の文だけを書いたMスクリプトでも同様のエラーが出ます。

ちなみに、GNU Octave, version 2.9.9 (x86_64-redhat-linux-gnu)です。
アドバイスください!
332名無しさん@お腹いっぱい。:2007/01/06(土) 15:27:37
アゲ☆アゲ☆
333名無しさん@お腹いっぱい。:2007/01/06(土) 23:38:42
サゲ☆サゲ☆
334名無しさん@お腹いっぱい。:2007/01/07(日) 20:28:55
アゲ♂アゲ♂everynight
335名無しさん@お腹いっぱい。:2007/01/07(日) 21:47:52
サゲ♂サゲ♂everynight
336名無しさん@お腹いっぱい。:2007/01/07(日) 22:08:07
上げてしまう?
なかなかbuildがうまくいかない、Mac OSX版octave/octave-forge
HPCで、2007/1月版が出てました。(gcc 4.3/gfortranも)
http://hpc.sourceforge.net/

が、依然として、画像系が駄目。Octave.mのベンチマークすらも途中でこける。
Linuxでdual bootか、と転びそうな日々です。
337名無しさん@お腹いっぱい。:2007/01/09(火) 14:08:24
答えを入れたファイルX個。これの平均をとってプロットしたいんだがどうすればよいのですか?
338名無しさん@お腹いっぱい。:2007/01/12(金) 00:09:50
>>337

> xmean = mean(x)*ones(0,length(x)) ;
> plot(xmean,'-')

こんな感じかな。
339名無しさん@お腹いっぱい。:2007/01/13(土) 18:01:35
cygwin版のoctaveが起動せずに終了してしまうんだけど
みんなもそうですか?
340339:2007/01/13(土) 18:16:40
パスに/usr/lib/lapakが入ってないだけだった
すまん
341名無しさん@お腹いっぱい。:2007/01/27(土) 04:12:29
すんません、ちょっと遊んでると memory exhausted とか言われてしまうのですが、
どのくらいのサイズのリストまで作れるんでしょうか。
342名無しさん@お腹いっぱい。:2007/04/12(木) 09:26:58
Octaveでシリアル通信する為の備忘録
(無保証です)
octaveはcygwinに付属のもの、テスト用シリアルは内蔵モデム(COM3)

octave:1> f=fopen('/dev/ttyS2','r+');
octave:2> fcntl(f,F_SETFL,O_NONBLOCK)
ans = 0
octave:3> fprintf(f,'AT\r')
octave:4> id1=fscanf(f,'%s')
id1 = OK
octave:5> id1=fscanf(f,'%s')
id1 =
octave:6> fclear(f)
octave:7> fprintf(f,'ATI\r')
octave:8> id1=fscanf(f,'%s')
id1 = 56000OK
octave:9> fclose(f);

なんか動いてるようです。fcntlはoctaveはデフォルトではI/Oをブロックしてるので
それを解除する為のおまじないです。baudrateなどの通信設定はsystemを使って
windows の mode で設定するようです(modeについては cmd で help mode して下さい)
343名無しさん@お腹いっぱい。:2007/04/20(金) 09:23:28
FreeMATというのがあるみたいなんですが
使い心地はどうでしょうか?
ttp://journal.mycom.co.jp/news/2007/01/15/361.html
344名無しさん@お腹いっぱい。:2007/04/20(金) 10:22:51
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
345名無しさん@お腹いっぱい。:2007/10/15(月) 00:41:40
MAC OSX やってる人いますか?

scilabはMACでやってる人いるみたいだけど
346名無しさん@お腹いっぱい。:2007/10/15(月) 00:49:31
MAC OSX やってる人いますか?

scilabはMACでやってる人いるみたいだけど
347名無しさん@お腹いっぱい。:2007/11/03(土) 10:25:35
mac os 10.4 octave 2.9.9でやっているが

ここ何日か他人に使わせるためのマニュアル作製の下調べやっているが、
どうにも素人に簡単にやらせるわけにはいかないようだ
出来る限りバイナリを貰って入れると言う方針で考えているのだが
2.9.15とそれに入っているgnuplotをドラックドロップ
forgeのimageとioをしょうがないからpkg installで入れる
でimreadが動かない。imagemagick6.3.6を入れる。
エラーを吐く。
identify の戻り値がver6.3以降?ではbits ではなくbitになっているので
そこを直す。
さらにエラー
freadが返すcountがあるべき値の2倍になっている。
糞だ。そびえ立つ糞だ
つーかimread130行辺りのこの判定は何のためなんだ?
いやなんかしているのは分かるが、コメントアウトしていい?
というかこんな俺も分からんもんど素人に勧められねー
なんでmacバイナリはforge入ってないんだ?
windowsのはあるのに。
というか俺が使っている2.9.9はまとめてバイナリだったのに
どうして外すの?なんで
涙目
348名無しさん@お腹いっぱい。:2007/11/04(日) 15:25:57
文体に心当たりが…
349347:2007/11/08(木) 12:06:50
心当たられるような事はしていないので人違いだろう。
で、結局あきらめた。
○ーコしたMatlabでやってもらう事になるだろうな。
俺は努力した。
わざわざMatlab用のコードまで埋め込む事になるが
どちらかといえばその方が早そうだ。
やれやれ
350名無しさん@お腹いっぱい。:2007/11/24(土) 13:29:12
>>347

Fink版でOctave2.9.14が出た(for Leopard?)。

自分は legend で困ってたんだけど、それも直った。
Forge も相当マージされた模様。
imreadも直ってるかも?


それとは別に質問なんですが、plot の横軸に日付って出せたっけ?
MATLABでは可能らしいというところまでは分かったんだけど・・。
351名無しさん@お腹いっぱい。:2007/11/25(日) 15:21:56
http://wiki.octave.org/wiki.pl?action=browse&diff=1&id=MatlabOctaveCompatibility
ここでdatetickを探すとそれっぽい話してる?
352350:2007/11/26(月) 23:57:15
>>351
dクス

しかし、/sw/share/octave 以下検索しても __gnuplot_set がない orz
353名無しさん@お腹いっぱい。:2007/11/27(火) 06:47:51
>>352
__gnuplot_setをやっても,今のOctave 2.9.xxのplotコマンドには,何も影響与えませんよ。
ちやんとNEWS読みましょう。
はっきり言って,まだ日本のOctaveのユーザーのレベルは,私を含めて高くないとおもうので,
本家の英語のMLにいって[email protected]で質問するのが早いです。
私は,日本語の掲示板も必要だとは思いますが,
ここでだめだったら,さっさと英語を一生懸命書くのがなんぼか速いです。

英語がへたくそでも,
最初にSorry for my bad Englishとでも書いていればOK.

私は最近は初めからここにはきませんけどね。

354sage:2007/12/04(火) 23:59:07
error: `imread' undefined near line 7 column 1

imagemagicを入れてもimreadが動かない
なぜ???
355名無しさん@お腹いっぱい。:2007/12/04(火) 23:59:56
354です
まちがえてあげてしまた
356名無しさん@お腹いっぱい。:2007/12/05(水) 13:03:54
なんかかなり初歩的な所のような気がするからもう少し前後を出したら
エスパーさんも助けられるかも。
357名無しさん@お腹いっぱい。:2007/12/05(水) 23:49:17
最近、入門書(紹介書?)が出ているみたいね。
358名無しさん@お腹いっぱい。:2007/12/06(木) 18:13:06
行列の列または行置換に関する同値類を自動生成させるにはどうしたらいいだろう・・・
359名無しさん@お腹いっぱい。:2007/12/07(金) 09:28:57
kwsk
360名無しさん@お腹いっぱい。:2007/12/12(水) 22:30:38
December 11, 2007
    Version 2.9.19 is now available
ですってよ。
361名無しさん@お腹いっぱい。:2007/12/13(木) 12:08:15
お、thx
と思ったらMacOSXバイナリ.18でいろいろ入ってそうじゃない。
ちと試してみるか。
362名無しさん@お腹いっぱい。:2007/12/13(木) 12:48:56
やっぱforgeは入ってなかったわ
363名無しさん@お腹いっぱい。:2007/12/14(金) 06:08:32
>>326
もう見てくれないかもしれませんが,
http://wiki.octave.org/wiki.pl?OctaveFortran
みたいにFortran からでもラッパー書けば使えるんだから,
Cでできんことはないでしょう。

しかし,なんでCから呼ばないといけないのだろう。
C++にCのコードかけるのに。
364名無しさん@お腹いっぱい。:2007/12/14(金) 06:10:29
OctaveのMaintainerのアーカイブ見るとver 3.0をXmas Presentにしようと盛り上がってますよ。
365名無しさん@お腹いっぱい。:2007/12/15(土) 09:53:45
>>362
forge はもう本流にマージされたんだってば。
366名無しさん@お腹いっぱい。:2007/12/16(日) 14:56:24
いや
http://octave.sourceforge.net/
ここのOctave.app for Mac OS X ってやつのことなんだけど、
macバイナリで入ってるのが無いなという話
367名無しさん@お腹いっぱい。:2007/12/17(月) 21:54:41
>>364
それは本気で楽しみです
368名無しさん@お腹いっぱい。:2007/12/23(日) 04:36:55
ところで巷ではMatlabの方が高機能と言われているようだけど、
皆はどう思っているのかな?
あまり詳しくないんだけど、Matlab6.5にはsplitもsubstrも無くて、
octaveから移植するのに苦労した覚えがある。
他人に簡単に使わせるためなので、
mファイルを突っ込めばいいだろって話は無しで。
369sakyo:2007/12/24(月) 01:33:36
c++ with liboctaveで構造体内で行列の宣言をしたらエラーが出るのですが、解決策はあるのですか?

$ gcc -I/usr/include/octave-2.9.9 -L/usr/lib64/octave-2.9.9 -loctave -lcruft sample.cpp
sample.cpp:9: error: expected identifier before numeric constant
sample.cpp:9: error: expected ‘,’ or ‘...’ before numeric constant

****sample.cpp************************
#include <iostream>
#include <octave/config.h>
#include <octave/Matrix.h>

typedef struct {
int aa ;
int bb ;
Matrix AA(10,10) ;
} structure;

structure STU ;
main()
{
return 0;
}
**************************************
370名無しさん@お腹いっぱい。:2007/12/24(月) 04:45:25
祝 Octave-3.0.0リリース
まだ,バイナリは,でてないようですが,パワーユーザーならソースからビルドできるはず。ちなみに私もビルドしてます。
中身は2.9.19とほとんど変わらないそうですが,いち早く

GNU Octave, version 3.0.0

を見たい人は早速ビルド,ビルド!!!!
371名無しさん@お腹いっぱい。:2007/12/24(月) 09:18:28
3.0.0のMac 版とCygwin版,Mingw版のバイナリがでたようです。
372名無しさん@お腹いっぱい。:2007/12/24(月) 13:52:02
>>369
そういうことは,以前私も試みましたができませんでした。

C++は,ほとんど素人ですので役にたつ答えは出せませんが,
Matrix AA(10,10) ;
そもそも[]でなくて,()になっていることで,
Matrixはクラスが関係しているはずです。

これを構造体のメンバにすること自体がそもそも可能なのか,
C++に強い人に聞かないとだめだと思います。
これはだめだけど別のソリューションがあるとか出してくれるかも知れません。
構造体は,プログラミングを便利にする道具ですが,
なければプログラムできないというものでもないので,
Matrix部分を構造体に入れ込むのはあきらめて,
プログラミングするとか。
時間があれば前者,なければ後者ですかねわたしなら。
373名無しさん@お腹いっぱい。:2007/12/24(月) 15:49:33
>>372
> Matrix AA(10,10) ;
> そもそも[]でなくて,()になっていることで,

constructor呼び出しになっているからだろう。
だから、AAは、pointer(若しくはreference型)にして、
STU.AA = new Matrix(10,10);
と、実行文にする必要があるだろ。

若しくは、その構造体にconstructorを書き加える。
結局は、実行文に落ちるがな。
374名無しさん@お腹いっぱい。:2007/12/30(日) 06:47:32
WindowsのOctaveユーザーの皆様 Michael氏のMSVC-Octaveが3.0.0になってます。
375名無しさん@お腹いっぱい。:2007/12/30(日) 12:32:37
おお!報告ありがとう!
376名無しさん@お腹いっぱい。:2007/12/30(日) 12:59:26
こういう質問するって事はC++を学ぶ気は全然無くて、道具として使えりゃいいんだろ。
何も考えずに↓使っとけ。

typedef struct structure {
structure () : AA(10,10) { }
int aa ;
int bb ;
Matrix AA ;
} structure;
377名無しさん@お腹いっぱい。:2007/12/30(日) 13:31:40
hoge
378名無しさん@お腹いっぱい。:2007/12/31(月) 07:34:58
>>376
372です。質問者ではありませんが,

>C++を学ぶ気は全然無くて、道具として使えりゃいいんだろ。
まったくないわけでは,ありません。
ただ,中年のサンデープログラマーにとっては,C++の敷居は高くて。
また,Octaveを使うときって道具としてつかうので道具として
使えりゃいいと開き直って思ってつかっています。
ここでの意見は大変参考になりました。ありがとうございます。

379名無しさん@お腹いっぱい。:2007/12/31(月) 07:57:46
OctaveのWindows版およびMac版のユーザーへ
 http://wiki.octave.org/wiki.pl?CategoryInstall
のOctaveForWindows とOctaveForMacは必見です。
残念ながら他のPlatformについては情報が古そうです。

380名無しさん@お腹いっぱい。:2008/01/02(水) 07:03:28
あけましておめでとう。今年もよろしく。
さて,ここに来てるWindows版OctaveのUserの人(少ないか)のために
ご存知かとも思いますが,日本語の重要なサイトを4つ紹介。

1. Animal Breeding and Software
2.Octave for Windowsメモ
3. 科学技術計算言語 MATLAB と Octave
4. Windows版Octaveに関するメモ - Murakami Memo

あえてリンクはしませんが上のページの名前でGoogleかYahooで検索すれば
一発で見つかります。
381名無しさん@お腹いっぱい。:2008/01/02(水) 07:06:10
>>380
おっと書き忘れ,
1.のAnimal Breeding and SoftwareにはLinux上の情報もあります。
382名無しさん@お腹いっぱい。:2008/01/07(月) 18:15:33
383名無しさん@お腹いっぱい。:2008/01/07(月) 18:19:56
MATLABとOctaveの違いの一覧みたいなサイトないんですかね
MATLABのM-FileをOctaveで使いたいんですが、如何せんプログラムの知識がなくて
あんまり時間ないから探してる間も焦りでもう頭パニック
384名無しさん@お腹いっぱい。:2008/01/08(火) 06:14:45
>>383
http://wiki.octave.org/wiki.pl?MatlabOctaveCompatibility
OctaveのVersionが2.1.73と2.9.5なのが玉に瑕。
Octave2.9シリーズは2.9.9から現在の3.0にかなり近い仕様になりましたから。
しかし,これでも少しは参考になるのでは。私は,MATLABはもっていませんので
よくわかりませんが。


385名無しさん@お腹いっぱい。:2008/01/08(火) 08:24:38
ここもかな。
http://www.gnu.org/software/octave/FAQ.html#MATLAB-compatibility

octaveからmatlabにポートした素人の俺の印象では、
Matlab6.5とocatve2.9はoctaveの方が上位互換のような感じ。
特殊かな?あるいは6.5はさすがに古い?
Matlabはいろいろ関数無くて困った。
個人的に'より"の方が打ちやすいから'に後で置換したり、
%ってなんだよ、見た目ださいコメントだなとか思いながら。
あとインクリメントがi++使えなくてi = i+1する必要があったり、
否定の比較演算子が!= ではなく~=だったり
columns もrowもなくてsizeを使うしか無いのかよとか、
なんで同じ長さのcolumnを要求するんだよとか。

ちなみに下は俺が使ったmatlab/octave判別・分岐のためのコード
基本的な考えはhttp://www.csse.uwa.edu.au/~pk/Research/MatlabFns/octaveinfo.html
GPLにしたかったから(それと、元のコードが気持ち悪く感じる位の初心者なので)
自分で書き直した。
使いたい人はいないと思うが万が一使いたいなら勝手にどうぞ。

% Octave2.9.9: environment == 1, Matlab6.5: environment == 0.
versionstr = version;
versionnum = str2num(versionstr(1));
if(versionnum < 6)
environment = 1;
else
environment = 0;
end
386名無しさん@お腹いっぱい。:2008/01/12(土) 22:49:20
自動制御のレポートでOctaveを使います。
バージョンは2.9.12
です。

buildssicという関数を使って、実験で作った制御系を作成したいのですが、
2つ目の引数は何を意味しているのでしょうか?
「出力リストとして何も加えない」
と書いてありますが、何のことだか分かりません。
具体的にここに1や2と書くと何が変わるのでしょうか?
387名無しさん@お腹いっぱい。:2008/01/12(土) 23:07:06
age
388名無しさん@お腹いっぱい。:2008/01/16(水) 01:59:47
直線のグラフを曲線に変えるにはどうしたらいいの
数字は、直接「56,56,43,22」など、うってくだけのものなんだが
389名無しさん@お腹いっぱい。:2008/01/16(水) 07:31:08
煽りじゃなくて質問なんですが、>>388のような内容は分かる人には分かるのでしょうか?
390名無しさん@お腹いっぱい。:2008/01/16(水) 10:37:46
少しだけ煽ると ふぃってぃんぐ とか べじぇ とか すむぅす かな
391名無しさん@お腹いっぱい。:2008/01/16(水) 10:38:13
ごめん別スレと間違えた…
392名無しさん@お腹いっぱい。:2008/01/20(日) 09:16:08
テストです。
393名無しさん@お腹いっぱい。:2008/01/20(日) 12:28:15
>>386
制御はまったくの素人ですが,マニュアルの
http://www.gnu.org/software/octave/doc/interpreter/blockdiag.html#blockdiag

? Function File: buildssic (clst, ulst, olst, ilst, s1, s2, s3, s4, s5, s6, s7, s8)

ulst
if not empty the old inputs in vector ulst will be appended to the outputs. You need this if you want to “pull out” the input of a system. Elements are input numbers of s1?s8.

と書いてあるんですが,これでなにが起こるかはわかるのではないのでせうか。
394名無しさん@お腹いっぱい。:2008/02/21(木) 19:05:04
c++でliboctaveを使いたいのですが、デカルト->球座標変換などの数学関数は使えないのでしょうか?
395名無しさん@お腹いっぱい。:2008/03/03(月) 17:07:59
質問なんですが、cygwin 上で liboctave を使いたいと思って、
>>42 とおなじソースコードを書きました。それで、コンパイルの方は >>46
のようにして、できたのですが、実行ファイルを実行すると、

$ ./hello
Segmentation fault (core dumped)

となってしまいます。何か解決策はあるのでしょうか?

それと、自分は octave をほとんど使った事がないのですが、
octave で標準的に発生できる乱数の種類って多いんでしょうか?
例えば R では正規乱数、一様乱数、対数正規乱数など、十分な
種類の乱数が用意されているのですが、 octave はそれと比べると
どうなっているのでしょうか?
396名無しさん@お腹いっぱい。:2008/03/14(金) 23:34:39
あるディレクトリにファイル名がdata01.dat,data02.dat,data03.dat,....,data50.dat
と50個あり、それらを読み込んである処理をして、result01.dat,result02.dat,...result50.dat
とデータを書き出すmファイルはどう書けばいいのですか?
397名無しさん@お腹いっぱい。:2008/03/15(土) 07:51:02
# datとついたファイルのリストを作る
filelist = glob ("*dat")
#何個あるか数える
numoffile =rows(filelist)
for i = 1:numoffile
#処理とどのようなデータなのかと、それによって変わる保存の方法
end
398名無しさん@お腹いっぱい。:2008/03/16(日) 05:59:28
>>395
前半 http://www.geocities.jp/tmacchant/
にいき,basicとdevelopment ツールを入れて見ましょう。
ビルドは, mkoctfile --link-stand-aloneでいいです。
後半:マニュアルを読みましょう。
399名無しさん@お腹いっぱい。:2008/03/16(日) 06:37:18
>>395
$ ./hello
Segmentation fault (core dumped)
の原因はcygwin-Octave-2.1.97がビルドされたgccがgcc3.3.3-3で
現在のcygwinのgcc-3.4.4-3だからです。
Cygwin setupでinstallできるOctaveはもうメンテされてません。
先ほどのページのcygwinならばoctave-3.0.0を使ってください。

でもWindows上のOctaveはMSVC版もMingw版も出てますよ。cygwinにこだわる理由は,
何でしょう。


400名無しさん@お腹いっぱい。:2008/03/16(日) 22:18:57
401名無しさん@お腹いっぱい。:2008/03/17(月) 17:05:43
>>397
ファイルの読み込みや書き出しはsaveやloadは使えないのですか?
load filelist(num,1)といったことができないのです
402名無しさん@お腹いっぱい。:2008/03/18(火) 07:41:43
>>401 できるよ。
http://www.obihiro.ac.jp/~suzukim/masuda/octave/html/octave_77.html#SEC117
このサイトが貼られてないのが驚きだった。
こことoctave-forgeのFunction Reference それからgoogleで欲しい機能の検索が基本と思う。
google検索のときoctaveだけじゃなくmatlabも含めると良い。
matlabの方が情報が多いから。

で、save loadについて。
この関数でいろんな形式のデータが扱える、らしいけどよく知らない。
俺の好みは
http://www.obihiro.ac.jp/~suzukim/masuda/octave/html/octave_78.html#SEC118
にあるCスタイルの入出力関数
どっちでもいいと思うけど、どんなフォーマットのデータがあって、どんな風に処理して、
何に使うために出力するかによって、色々方法が変わると思う
ので、>>397の様に書いた。
ぶっちゃけ俺もよくわかってないから全部テキスト形式だ。
でもいいんだ。計算出来ればそれでいい。
403名無しさん@お腹いっぱい。:2008/03/19(水) 00:40:10
計算中に進捗状況みたいなのを表示させたいんだがprintfじゃだめなの?
404名無しさん@お腹いっぱい。:2008/03/19(水) 08:25:34
いいんじゃないの?
405名無しさん@お腹いっぱい。:2008/03/19(水) 12:46:52
計算終了後にまとめて表示されるのでだめでした
406名無しさん@お腹いっぱい。:2008/03/20(木) 07:11:05
そういう事ね。
なんかfunctionかスクリプトかとかで変わったかもしれない。
よく覚えてないけど。
確かにループの進行状況とか表示できる方法があったらいいね。
407名無しさん@お腹いっぱい。:2008/03/20(木) 11:29:54
>>405
help page_output_immediately
408名無しさん@お腹いっぱい。:2008/03/21(金) 14:09:32
Win版のインストール時に出てくるJHundlesとGnuplotってどっちがお勧めですか?
409名無しさん@お腹いっぱい。:2008/03/22(土) 06:45:02
>>408
完全に好みによります。Uninstallして再インストールも可能なので,
両方試して決めましょう。
個人的には以下においてあるgnuplot cvs がすきですが
http://www.geocities.jp/tmoctwin/
410408:2008/03/22(土) 11:20:02
>>409
ありがとうございます(・∀・)
ついでにQtOctaveの存在も知ることが出来てよかったです
411名無しさん@お腹いっぱい。:2008/03/23(日) 19:50:52
>>405
octave:16> help stderr
-- Built-in Function: stderr ()
Return the numeric value corresponding to the standard error
stream. Even if paging is turned on, the standard error is not
sent to the pager. It is useful for error messages and prompts.

See also: stdin, stdout.
fprintf(stderr(), "Iteraion %d", K)
412名無しさん@お腹いっぱい。:2008/03/25(火) 11:11:09
>>403
Win版や3.0は知らんけど、それ以外なら
octave起動時に

octave --braindead

で起動するとMatlabライクにリアルタイム?でループの進行状況とかみられる
413名無しさん@お腹いっぱい。:2008/03/26(水) 03:59:49
>>412 これはいまでもありますよ。MATLAB like モードというやつね。
でもまったく同じものだけど普通 octave --traditionalじゃないすかね。
ここでは,page_output_immediatelyがtrueになっているのでそうできます。
その代わり,出力のページングが効かなくなる。好みにもおるけど>>411
推奨されてんじゃないのかな。ヘルプにそう書いてあるんだし。
414412:2008/03/26(水) 18:18:54
page_output_immediately=true
によって変数から;(セミコロン)を取ればすぐデバッグできる
Matlab的な利点が活かせるというのは結構大きいと思うけどね
デバッグが終わったらセミコロンを付け直せばいいだけだし

どのへんが推奨なのかはよくわからないけどw
どっちでもいいんじゃないの
415名無しさん@お腹いっぱい。:2008/03/27(木) 05:34:38
>>414 ver.2.9.1x?以降 またver 3ではpage_output_immediately(true);です。
gnuplot_binaryなどもすべてgnuplot_binary()のように変わっています。

>どっちでもいいんじゃないの
まあこれは本当。
でも,推奨と書いた意図はlessによるページングがoctaveの特徴で
今はこっちがデフォルトです。3.0にはDegguging モードがあるので,
デバッグが終わってもページングを聞かせたまま,
途中経過は表示したいという用途で
fprintf(stderr(),"... ", ...);がoctaveの製作者としての
推奨ではないかなということで書きました。
でも本音をいうと好みですね。

416名無しさん@お腹いっぱい。:2008/03/31(月) 12:57:22
黒タイツの暗黒シュシュトリアン
417octave for windowsメモの筆者:2008/04/04(金) 06:00:39
ついにカミングアウトすることにしました。OctaveのMaintainerのMLでcheck用の3.0.1aのソースが公開されました。私はcygwinとmingwでチェックして報告しました。公式にリリースされるのも近いと思います。
418名無しさん@お腹いっぱい。:2008/04/04(金) 10:04:53
419名無しさん@お腹いっぱい。:2008/04/04(金) 11:33:47
420octave for windowsメモの筆者:2008/04/04(金) 22:41:59
What do you mean by 乙? Is it affirmative or not?
421octave for windowsメモの筆者:2008/04/05(土) 05:23:52
OctaveのMaintainerのMLでcheck用の3.0.1aのソース
wget http://jbrwww.che.wisc.edu/home/jwe/octave-3.0.1a.tar.bz2
422名無しさん@お腹いっぱい。:2008/04/05(土) 05:31:15
affirmative
423octave for windowsメモの筆者:2008/04/05(土) 05:35:54
octave for windowsメモの筆者からのお願い
正直言って,windows版のmaintainersのチームの人数が足りません。
Michael氏(MSVC)と私(cygwin/mingw)と
Benjamin氏(mingw/ただしあまりアクティブではありません)
とMacro(cygwin)です。
特にmaintainersには,誰もVista Userがいません。
OctaveのMLによくVistaでの不具合の話がありますが,
我々では推測でしか書けないといって回答をしています。

英語でのやり取りになるのでバリアが高いとは思いますが
ぜひ挑戦される方を望んでいます。わたしは,英語はそれほど
うまくはありませんが,ここでつきあっているうちにだいぶ
慣れました。いわゆるボランティアになるのですが,得られる
ものも非常に多いです。ぜひ,我こそはという方々のoctave
プロジェクトへの参加を期待しています。
424octave for windowsメモの筆者:2008/04/05(土) 05:49:00
>>423
特に今必要とされているのは,MSVC版でのMSVC++2008 Expressでの,Octaveの
ビルドです。Michael氏は,ただのMaintainerではなく,John氏, David氏,
Soren氏 (最近はHajeck氏)らとともにOctaveのコードを書いておられます。
Windows 版のOctaveがまともに動くようになったのもMichael氏のおかげです。
彼は,MSVC++ Express 2005 + Platform SDKでビルドされています。
しかしながら,vista対応などを考えるとMSVC++2008 Expressでのビルドが
望まれます。Michael氏は,main develpperの一人ですので,正直時間がない
とおっしゃられています。ぜひ我こそはと思わん人は参加してください。

英語が苦手でどうもという人は,私に連絡ください。
ご協力をお願いします。
425octave for windowsメモの筆者:2008/04/05(土) 05:49:25
>>423
特に今必要とされているのは,MSVC版でのMSVC++2008 Expressでの,Octaveの
ビルドです。Michael氏は,ただのMaintainerではなく,John氏, David氏,
Soren氏 (最近はHajeck氏)らとともにOctaveのコードを書いておられます。
Windows 版のOctaveがまともに動くようになったのもMichael氏のおかげです。
彼は,MSVC++ Express 2005 + Platform SDKでビルドされています。
しかしながら,vista対応などを考えるとMSVC++2008 Expressでのビルドが
望まれます。Michael氏は,main develpperの一人ですので,正直時間がない
とおっしゃられています。ぜひ我こそはと思わん人は参加してください。

英語が苦手でどうもという人は,私に連絡ください。
ご協力をお願いします。
426名無しさん@お腹いっぱい。:2008/04/05(土) 08:43:18
ごめんマックなんだ。
尤も、スキルも無いから役には立てんが。
427名無しさん@お腹いっぱい。:2008/04/05(土) 11:25:51
>>420
おつかれさまって意味だよ。
428名無しさん@お腹いっぱい。:2008/04/05(土) 11:27:54
2008Express入れてみるわ。
それで俺のマシンで動いたら協力する。
429octave for windowsメモの筆者:2008/04/05(土) 18:46:44
427>>どうもありがとう。
430octave for windowsメモの筆者:2008/04/05(土) 18:47:10
427>>どうもありがとう。
431octave for windowsメモの筆者:2008/04/05(土) 18:53:47
>>428 あちら風に Thanks!! 正直私はおじさんなので,2chうまく使えないのか
2回も2重にあげてしまいました。^^;
432名無しさん@お腹いっぱい。:2008/04/05(土) 22:55:14
お店に行って2008Proでも買おうと思ったんですが売ってませんでした。
代わりにPSP買ってきて遊んでます。楽しいです。
433octave for windowsメモの筆者:2008/04/06(日) 07:06:10
>>432 それは楽しいでしょう。:-)
お金がなくなったんだら,
Microsoft Visual C++ 2008 Express Edition 日本語版で
Octaveのビルドも遊んでくれませんか。

http://www.microsoft.com/japan/msdn/vstudio/express/

434octave for windowsメモの筆者:2008/04/06(日) 14:07:10
434>> とは書いたもののかなり,タフワークであることは確かです。
なので

http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/admin/Windows/msvc/

をたずねてみてください。あとOctaveのソースを解凍するとできる。
README.MSVC
を読んでみてください。

435名無しさん@お腹いっぱい。:2008/04/06(日) 22:55:37
ここはUnix板だろ
octave for Windowsなんて使ってないんだよ
436octave for windowsメモの筆者:2008/04/07(月) 01:15:00
435>>それは,失礼しました。 でも「なんて使ってないんだよ」という乱暴な言い方
はおじさんとしてはうーんと思います。でも2ch的な言葉ではふつうならそれはどうでもいいです。
でも,過去スレみてるとWindows版の話題も出てるんで,ここきたんですが。
そうでなかったらここきません。
ですが指摘のとおりなら,別に板立てると混乱させるだけなので,
村上さんの板のみで活動します。すみませんでした。

最後に村上さんの板にリンクを貼らせてください。

http://sc1.cc.kochi-u.ac.jp/~murakami/cgi-bin/FSW/fswiki.cgi?page=%B7%C7%BC%A8%C8%C4%28open%29

ところで
プラットフォームにかかわりのないリリース情報はだしてもいいですよね!!
また,Octave全体として,ボランタリーの人数がたらないのは事実でjweも
そういっています。ですから,UnixユーザーのOctaveボランティアの活動
も募集しているのはたしかです。(これならここの板の趣旨と違うことはない
とおもいますが)
437名無しさん@お腹いっぱい。:2008/04/07(月) 06:52:27
やあやあマックユーザーの私が通りがかってみたふりをして書き込みますよ。
まずここはUNIX板ですが、2chでoctaveを専門に扱っているのはここしか無いような気がするよ。
windowsをデフォのように話されるとしたらマカーとして歯がゆいが、
それ以上に日本語情報源として貴重なので、
出せる情報があるならどんどんやったらいいなと思っているよ。
最近このスレちょっと活気も出てきたような気もするし。
おじさんが2chの流儀に慣れないのは、
気にしないでおじさん流でやったらいいじゃないと思っているよ。
ぶっちゃけ煽り荒らしが2chの花だし、
Contributerがハンドルネームを明かさないでやり取りできる
というところが2chの存在意義と思っている。
気にせんとき。

あとアドバイスとして、
アンカーは"num>>"ではなくて、">>num"としたら他の人にとって見やすくなる、
(アンカーが期待する機能をするって意味)
ってのと、本人がいいならいいけど、メールアドレスはそうそう出すもんじゃない、
ってぐらいかな。

言いたい事のまとめとして、このスレは人を排除するほど混雑してないのではないか、
というのが若おじさんとしての意見。
438octave for windowsメモの筆者:2008/04/07(月) 09:09:53
>>437 ご意見ありがとうございます。おじさんは,
おじさんらしくやっていこうと思います。

>最近このスレちょっと活気も出てきたような気もするし。
やっぱり3.0がでたのが大きいんじゃないかな。

ところでMACユーザーに対する,質問としてですが
Octaveのdistributiorが
・Octave Forge
・Mac OS X High Performance Computing
・The Fink project
・MacPorts
がありますが,そのこころをご存知でしたら教えてください。
439名無しさん@お腹いっぱい。:2008/04/07(月) 10:22:43
次スレからはプログラム板に立てるか。
様々なプラットフォームに対応しているプログラマブルなソフトがUNIX板にあるというのがおかしい。
440octave for windowsメモの筆者:2008/04/07(月) 12:08:22
>>439 まあ,このスレッドが始まったころはMac版もなく,Windows版も
Cygwin上のものしかなかったのでそうなったんでしょう。
CygwinはLinuxをapiエミューレートするものだから(本当に)ぎりぎり
Unix板にあってもよかったんでしょう。
MacOS XはBSDベースだからいいとして,windows版は中で使っている
プロセスやパイプ関係はMichaelさんがほとんどwin32 apiで書き換え
てあってそれでいまのWindows版があるんですけど,それはここ1年半
のことです。

>次スレからはプログラム板に立てるか
まあ,そうでしょうね。
そのときは誰か,「地鎮祭」っていうんでしたか,お願いできますかね。
441名無しさん@お腹いっぱい。:2008/04/07(月) 13:26:30
>>438 こころってのは何だろう?解説かな?
俺はスキルがないので詳しくは分からない
ので個人的経験のみを勝手に。

Octave Forge
今はこれを使っている。簡単バイナリ。でもいまだimreadが使えてないw

Mac OS X High Performance Computing
昔はこれを使ってた。
forgeのパッケージ全部入っててちゃんと動いてよかった。
でも今は独自の物は配布していない。Octave Forgeにリンクしているだけ。

The Fink project
ちょっとアップデートが遅めだったかな。
初めに試したけど(2.1の頃)、これもイメージ関連でうまく行かなかったのでやめた。
3.0版が出てたのは知らなかった。

MacPorts
使った事無い。

そんな感じ。
Macでは今まともに動くのがあるとしたら、
FinkかMacPortsなのかな?可能性としては。後は自分でビルドか。
俺は使える機能だけ使うようにこっち側で対処しているので、
現状維持でいくつもり。
442octave for windowsメモの筆者:2008/04/07(月) 14:10:20
441>>ありがとう。ほしいのはずばり解説です。わかりやい解説どうも。
結構苦労してますね。

>でもいまだimreadが使えてないw
MLみてるとまだ解決してないみたいですね。

最近,MAC-OSXにも関心がわいてきたんで聞いてみたんです。
うーんでもそれ聞くと現状維持かな 私も。
ちなみに私は,MSVC-octaveは講義用のみ使っていて,普段は自分でビルド
したCygwin版です。(CygwinはUnix屋さんからはいろいろ言われるけど,
それなりに便利なツールなんですよ。)
443octave for windowsメモの筆者:2008/04/07(月) 14:24:52
>>442 また,数字と>>の順番間違ってる。しょうがないなおじさんは。

ところで本家のWikiにOctaveForGNULinuxってのがあるんですが

http://wiki.octave.org/wiki.pl?OctaveForGNULinux

これをみるとDistributionごと様子がちがっていてオモシロイですね。
でもこのwiki更新が遅いんで現状を反映してないような気がするんですが。
そのあたりどうなんでしょう。
(これはずばりUnixネタだ。)
444名無しさん@お腹いっぱい。:2008/04/07(月) 19:42:52
こころ -> 心得
445名無しさん@お腹いっぱい。:2008/04/08(火) 06:04:22
「○○とかけて××と解く。その心は」
http://ja.wikipedia.org/wiki/なぞかけ
446:octave for windowsメモの筆者:2008/04/08(火) 06:10:44
JWE>
The second test release is here:

http://jbrwww.che.wisc.edu/home/jwe/octave-3.0.1b.tar.bz2
I think I've fixed all of the problems reported specifically about the
3.0.1a test release. Since this release should fix bugs and not
introduce them, I'd like to have some people try it before releasing
and announcing it.
(Refernce Octave maintainers ML)

今回は,予想以上にうまくいかない報告があり,2回目のテストリリースが
でました。例によって,cygwin/mingwは私がやりますが,だれかUnixとかMac
OS Xでやってみてくれませんか。
447octave for windowsメモの筆者:2008/04/08(火) 06:37:40
>>446 よく考えるとMacは,BenさんやThomasさんがやってくれますし,
DebianはRafaelがやってくれます。その他のUnixは,報告を聞いた記憶が
ありません。(ただし,おじさんの記憶はあてにはならない。)
まあ,Octaveのwikiの話とも絡むのですが,Debian以外のDistributionは
あまり活発ではないように思えるので,contributorが欲しいのではと
思います。
448octave for windowsメモの筆者:2008/04/08(火) 16:26:19
Unixは,webの管理ぐらいでしか使わないのでまったく分からない
ずぶの素人なので教えてください。

QtOctave
https://forja.rediris.es/frs/?group_id=60&release_id=298

はdeb, RedHatのrpmとdistributionによってい配布形式が違うのですが,
一般論としてdistributionが違うとバイナリの互換性はないのでしょうか。
あほな質問ですみませんがよろしくお願いします。
(質問する板が違うという話もありますが <m(__)m> )

449名無しさん@お腹いっぱい。:2008/04/08(火) 17:31:46
>>448
debパッケージを使っているディストリビューションの間でも
rpmパッケージを使っているディストリビューションの間でも
>一般論としてdistributionが違うとバイナリの互換性はない

ubuntuとdebianは両方ともdebパッケージを使っているが、
>互換性はないのでDebianのパッケージとは混ぜるな危険
【deb系】Ubuntu Linux 22【ディストリ】
http://pc11.2ch.net/test/read.cgi/linux/1204710270/1

問題なく動く場合もあったりするが、期待はしないほうがいい。
450octave for windowsメモの筆者:2008/04/08(火) 17:48:26
>>449 Thanks!!
Debian以外のUNIX(linux, FreeBSDなど) distributionで今回のjweの呼びかけ
に応じているのを見かけませんか,Octaveのバイナリは配布されていないの
でしょうか?
皆さん自分でビルドされているのでしょうか。
451名無しさん@お腹いっぱい。:2008/04/08(火) 18:11:17
>>450
配布されてるよ。
http://ftp.riken.go.jp/Linux/fedora/updates/8/i386/octave-3.0.0-2.fc8.i386.rpm
他のディストリビューションのは知らないけどdebianにあるならubuntuにもあるんじゃないか。
452octave for windowsメモの筆者:2008/04/08(火) 18:29:11
>>452 ありがとうございます。
だったら本家のWikiのOctaveForGNULinuxはDebianの人以外は書き込んで
いないだねなんでしょうね。
まあ,コミュニティで情報がまわっているのであればそれでいいんですが。
事情が分かりました。計算をやっていると,計算専用にはLinuxの方が
いいかなと思い始めているので興味があって聞いてみました。
ありがとうございます。
453octave for windowsメモの筆者:2008/04/09(水) 06:08:24
>>451 Federa,Redhatのmaintainerはshaiさんでした。
454名無しさん@お腹いっぱい。:2008/04/09(水) 11:52:22
455octave for windowsメモの筆者:2008/04/09(水) 14:24:31
454>> 2.9.13ですか2.9.15からが現在の仕様なので,ちょっと古いですね。
自分ではビルドされてますか?

ちなみに,John W. Eaton氏はDebianだそうです。

私には直接は関係ありませんが,こうやって情報があつまるといいですね。
なお,cygwinでのビルドは,Dynamic Link Libraryの扱いの違い以外はUNIX
上でのビルドとそれほど変わらないという印象を持っています。
OctaveのMLで一回UNIX屋さんのビルドをCygwin屋の私がアドバイスした
こともあるのでビルド情報を流せといわれればながしますよ。
456octave for windowsメモの筆者:2008/04/09(水) 15:29:19
>>455
>ビルド情報を流せといわれればながしますよ。
とは書いたのですが,結構面倒なのでソースからのビルドを丁寧に書いた
Mac OS X上でのビルド情報を流します。
Mac OS XはUNIXベースだから,参考になると思います。

http://wiki.octave.org/wiki.pl?OctaveForMac

しかし,Mac OS X上はここまでツールが本当にないのでしょうか。
pcreとかcurlとかがないとは思えないのですが。
ちなみに一番の注意点はsuitesparseで
通常のautotoolによるビルドではなく独自のUFconfig.mkというファイル
を使います。CコンパイラがC99に対応していないと大変です。
cygwinはc99の拡張を変則的な形でやっていたので,パッチをあてなければ
ならず苦労しました。またsuitesparseは,metisというツールを
使おうとするのですが,GPL V3とコンパティブルでないので,Metisを使った
バイナリを他人渡すことはできないので注意してください。
配布版は必ず,
CHOLMOD_CONFIG = -DNPARTITION
をUFconfig.mkで設定してmetisなしでビルドしてください。
(metisがあるほうが,疎行列のある計算が速くなるそうですが,
自分には関係ないので自分用もmetisは使っていません。)
457octave for windowsメモの筆者:2008/04/09(水) 15:33:27
>>456 そうだ忘れとった。hdf5は,最新版の1.8.0にoctaveが対応して
ないので1.6.7でやってください。glpkも4.21より新しいのはトラブルが
情報があります。
458octave for windowsメモの筆者:2008/04/09(水) 16:33:59
>>456 情報を分けてかいてすみません。また,掲示板に書き込み続けて
すみません。もう情報がなくなるのでしばらくはおとなしくしてます。
実は,本音を言うと自分のページに書いてもWindowsユーザーには
関心がないのだろうなと思ってここにきたんです。
でも最初にもって来る話題が適切でなかったためUNIX屋さんの反発を
食らいましたが.^^;

では本題を
gnuplotなのですが,現在Ver.4.3(cvs版)のみOctaveからの使用で
Mouse zoomingが使えます。
Cygwinではいとも簡単にビルドできたので,Unix上なら
ビルドは大丈夫だと思います。
私のCygwin版のOctaveには最新のCVS版をバンドルするようにしてます。

Development of gnuplot 4.3
http://gnuplot.info/development/index.html


459名無しさん@お腹いっぱい。:2008/04/10(木) 17:35:09
FreeMATがいつの間にか3.5から3.6になってた
もうすぐ4.0も出るらしい

RS232Cとoctaveのfsolveかmatlabのfzeroに対応してくれれば乗り換えるのに orz
460名無しさん@お腹いっぱい。:2008/04/11(金) 06:04:17
>>459
http://freemat.sourceforge.net/
しばらく見ない間にずいぶん強力になっとった。
ググッてみたらいろいろ日本語のページもあった。
ここに書かずに別に板たててください。
461名無しさん@お腹いっぱい。:2008/04/11(金) 09:38:36
スレ建てしたって需要はありませんよ
MatlabやScilabも含めて全部ここで論議しましょう
FreeMATも確かLinux版がありますよね

それとcygwin版の3.0.0ですが入れてみましたけど、起動時に
error: called from `drawnow' in file `/opt/octave/octave-3.0.0/share/octave/3.0.0/m/plot/drawnow.m'
error: near line 26 of file `/opt/octave/octave-3.0.0/share/octave/3.0.0/m/startup/octaverc'
とかエラーが出ます。octavercの最後の5行をコメントアウトするとエラーは出なく
なりましたが、lsさえも使えないし、こんな代入文でさえ
octave:2> aaa=[1:100]
warning: broken pipe -- some output may be lost
octave:3> aaa
warning: broken pipe -- some output may be lost
とか出ますので、うーんという感じです。
462octave for windowsメモの筆者:2008/04/11(金) 10:18:46
>>461 octavercの最後の5行を削るとまともには動きません。

なんか変ですね。要はgnunplotがうまく動いていないということですよね。
すみませんが,binディレクトリにちゃんとgnuplot.exeがあるか,
export PATH=/opt/octave/octave-3.0.0/bin:$PATH
を設定され
echo $PATH
で確認してもらえませんか。
463octave for windowsメモの筆者:2008/04/11(金) 10:29:37
>>461 ありゃパッケージングerrorがありますね。自分で別のgnuplotを設定
していてきづきませんでした。失礼しました。
これから直します。ありがとうございました。
464octave for windowsメモの筆者:2008/04/11(金) 11:44:43
>>461 修正しました。失礼しました。
ちょっとためしてもらえますか。
ついでにgnuplotを最新版にしておきました。
gnuplot用のコンパイラをgcc-4.3.0にしたので,パフォーマンスは
あがっていると思います。
465名無しさん@お腹いっぱい。:2008/04/11(金) 12:20:14
>>461
Freematは確かにそうだね。
scilabはでももうすでに2chの板あるよ。

SCILAB&SCICOSについて教えてください
http://science6.2ch.net/test/read.cgi/sim/980480122/247-279

Scilabは,MATLAB likeではあるけれど,mファイルでもないし,
MATLAB互換をそれほど追求していない。(.mをconvertする機能はあるけど
逆はあるんだっけ?)
Scilabは,独自路線をいっていて2chには独立した板あるんだし
あちらでやってもらっていいじゃないかな。
466octave for windowsメモの筆者:2008/04/11(金) 12:33:29
>>464 自己レスです。 もうすぐforgeも定例の2ヶ月更新がありそうです。
Davidさんは,はっきりといってませんが,forgeのSVNのrepositoryを見ると
次に向けて準備中と書いてあるので。fixedのパッケージのsrc/Makefileの
cygwin/mingw向けのパッチも昨日提出したし。

3.0.1もまた,jweさんがいま少しレスが減っているので最後の準備をしてい
るのかなと思っています。
ということで,ここは気軽に話せるので,バイナリだしたらチェックして
くれるとありがたい。よろしく。
また,他のバイナリでOctaveのMLに直接いいにくいという人があれば
あげるけど。

でも,日本人の本家ML常連さんが一人というのはさみしいので,だれか
きてくれませんかね。
467名無しさん@お腹いっぱい。:2008/04/11(金) 13:37:05
>>464
依然としてこけますね
今現在 cygwinの/bin に入っているgnuplotはVersion 4.2 patchlevel 3のようです
cygwin 内の2.1.73で立ち上げ直しても

octave:1> aaa=[1:100];
octave:2> bbb=sin(aaa./10)
octave:3> plot(aaa,bbb)
warning: broken pipe -- some output may be lost
warning: broken pipe -- some output may be lost
warning: broken pipe -- some output may be lost
octave:4>

となりますので、このあたりの問題だとは思いますがよくわからないです
ttp://cygwin.com/ml/cygwin/2005-12/msg00358.html

ちなみにXmingでKtermを立ち上げた中で作業してるので
Xが立ち上がってないとかDISPLAY変数が定義されてないとか
そういう事はありません。
gnuplot単体で立ち上げて
plot x**2
とするとちゃんと描画しますし
468octave for windowsメモの筆者:2008/04/11(金) 14:28:19
>>467 うーん。そうですか。

gnuplotがVersion 4.2 patchlevel 3ならこっちがたちあがってもmouse zoom以外は問題ないはずなのですが。octavercのこのoctaveをビルドしてたときうかつにも,windowsのwgnuplotのあるフォルダに
WindowsのPATHとおしていたので,gnuplot_binaryが標準でpgnuplotになっています。最近までこの事実に気づかず,gnuplot_binaryを認識させるためにoctavercにgnuplot_binaryを設定しています。

>ちなみにXmingでKtermを立ち上げた中で作業してるので
>Xが立ち上がってないとかDISPLAY変数が定義されてないとか
>そういう事はありません。
この場合はでるエラーが違いますから,X関係ではないのは認識してます。
octave:1> gnuplot_binary
ans = gnuplot -geometry 600x400+500+300
とでますか。また,Ktermのプロンプトから
/opt/octave/octave-3.0.0/bin/gnuplot
とうって
G N U P L O T Version 4.3 patchlevel 0
が確認できますか?

できれば
gnuplot_binary('gnuplot -geometry 600x400+500+300');

gnuplot_binary('/opt/octave/octave-3.0.0/bin/gnuplot');
で試してもらえませんでしょうか。すみませんがお願いします。
469名無しさん@お腹いっぱい。:2008/04/11(金) 14:58:46
>>468
octave:1> gnuplot_binary
ans = gnuplot -geometry 600x400+500+300

[/home/user1]/opt/octave/octave-3.0.0/bin/gnuplot

G N U P L O T
Version 4.3 patchlevel 0
last modified March 2008

ですから問題無さそうです。
gnuplot_binary('/opt/oc...
は変えても同様でした。
実は最近cygwinの再インストールをしまして、以前はGNUPLOT
Version 4.0 patchlevel 0
で、今は4.2になってますからこれが原因かもしれません。
octave 2.1.73でもplot出来なかったので、
たぶんgnuplotがおかしいのでしょう。
そのうち古いバージョンに入れ換えてみます。
470octave for windowsメモの筆者:2008/04/11(金) 16:03:00
>>469 octaveは最初のgnuplotとの接続でpipeの接続を確立しようとします。
octavercにグラフ描画をいれてあるのは,pgnuplotになっている設定
をgnuplotにforceするためなのです。普通の描画ならいいのですが,
連続高速描画を使用したとき,最初にgnuplotへの接続を確立していないと
pgnuplotを立ち上げようとする妙な挙動を示します。
貴兄のなんらかの原因でpgnuplotをたちあげようとするのかもしれません。
現在,defaultのgnuplotをpgnuplotでなくgnuplotとするように
できるようになったので,これを使えば問題が解決するかも知れません,
3.0.1がまもなく出そうなので修正はこのときでよろしいでしょうか。

471octave for windowsメモの筆者:2008/04/11(金) 18:27:52
>>469 そうそうcygwin版のOctaveといえば,最近
Octave 3.0.0 for Aiming Cygwin port by Marco Atzeriがあり

http://wiki.octave.org/wiki.pl?OctaveForWindows

に情報を載せています。(このWikiの編集者は私です。)
これは,通常のgccでビルドしてあるため,スピードは2.1.73と同レベルです。
でも2.1.73が動かないとなると....
472octave for windowsメモの筆者:2008/04/12(土) 08:08:02
本家MLで
There are EPEL packages for octave 3.0.0 in RHEL 5.
というのがでてきました。Red Hatに係わることだと思いますが,
誰か解説してくれませんか。

これを書いたのはQuentinさんという人でContributorの一人です。
OctaveのWikiの管理などもされています。
(Wiki編集パスワードは彼からもらえます。)
473名無しさん@お腹いっぱい。:2008/04/13(日) 05:09:49
474名無しさん@お腹いっぱい。:2008/04/14(月) 00:52:54
octaveとおもいきやwinの話なんだけど
Rでatlas使って最適化してる配布してるblas.dllを
octaveのと入れ替えてOK?
475名無しさん@お腹いっぱい。:2008/04/14(月) 01:25:39
>>474 うーん。一般論としてだめなことが多い。ちゃんとバックアップとってやってみたら。
だめなら戻せばいいわけだし。一般的にAtlasかけたターゲットのCPUに係わらず
アーキテクチャが近いものほど効果は大きいわけでそれはやってみんとわからんわな。
一番いいのは,自分で自分のコンピュータにATLASかけること。
しかし,ATLASはWindowsの場合Cygwinなしではビルドできん。また,デフォールトでは
ATLAS3.8.0はしらんが3.6.0ではdllは,オブジェクトファイルから自分で構築せんかん。
まあ,g++を使えばさほど難しくはない。dllの構築はやる気があったら教えたる。
476名無しさん@お腹いっぱい。:2008/04/14(月) 16:23:45
>>475 付け加え 一般論としてだめな場合が多いといったのは,ATLASにもバージョン
があるのと,ターゲットとしてCPUを何にしているかが問題。IntelとAMDだと
ATLASは互換性がない。おそらく一般的にpen4のsse2までで構築してあるものでは
いいとおもうが。だから,あんたのパソコンが高性能なら逆に変えることでパフォーマンス
が落ちる可能性もある。
また,blasとlapackはセットになっているので両方セットで
代えないとだめだと思う。とういわけで性能あげたいだろうけど,
あんまり期待せん方がいい。
できたらラッキーぐらいでやらんとね。


ATLASのええところは自分でビルドすれば,自分のパソコンのCPUの性能を
かなり引き出してくれるとこにあるんだから,
本気で特化して性能上げたいと思ったら,一から自分でビルドするぐらいの
気概ないとだめやろな。
477名無しさん@お腹いっぱい。:2008/04/14(月) 18:45:29
cygwin を一回全部アンインストールして
再インストールしたらOctaveでplot出来る様になった orz..

まあ最近はMatlabとMSVC版Octaveしか使ってないけど
478octave for windowsメモの筆者:2008/04/14(月) 19:52:36
>>477 それはよかった。cygwin1.dllが1月前ぐらいに変わったので
そのせいかも。Cygwinはよく不思議なことがおこるので。
私もいちどgraceがまったく起動しなくなったことがあり,このときは
Cygwin再インストールしても使えなかったのでCygwinのMLでrebaseallを
教えてもらって解決しました。

http://sourceware.org/ml/cygwin/2008-02/msg00603.html

BTW(By the way)
MSVC版Octaveの方が速くていいのですが,gnuplotでmouse zoomできない
のもありあまりつかってませんでした。いまは
自力でMSVC版Octaveからcygwinのcvs版gnuplotを使えるようにしたので
こっちを使ってもいいのですが。
プロットはやはりcygwin同士が相性がよく,連続描画などはcygwinのほうが
速くできたりします。
あと,forgeパッケージの一部はUNIX独自のパイプやプロセスハンドリングするので
Cygwinしか使えないものがあります。(Engineとか)
でも自分は関係ないしなあ。
ただ,これからforgeは続々と増えそうなのですが,
Unix屋さんの方がパッケージを提供する場合が多いのでJavaとJhandleを除けば
forgeについてはcygwinの方が有利だと思います。
また,自力でUnixyなコードを組み合わせる場合はやはりcygwinが有利です。
そういうことで,スピードは劣るもののcygwin版はcygwin版のよさがあります。
479名無しさん@お腹いっぱい。:2008/04/14(月) 21:29:30
>>478
forgeで思い出したけど、シリアル(RS232)のサポートライブラリーぐらい入れてくれてもいいのになぁ
ttp://octave.sourceforge.net/doc/file.html
こんだけそれらしいコマンドがあるんだから、シリアルぐらいforgeでサポートすればいいのに
出来ればMATLAB互換で
480名無しさん@お腹いっぱい。:2008/04/14(月) 23:29:56
>>479 そんなにシリアルって必要? まあ、MATLAB互換ってのは今の
octaveチームには敏感だからつついてみたら。自力で。
481名無しさん@お腹いっぱい。:2008/04/14(月) 23:46:01
>>480
まあシリアルなんてLabviewでも使えばいいのかもしれないけどね

octaveの場合
cygwin版は
f=fopen('/dev/ttyS0','r+');
とやればCOM1が開いて
fprintf(f,'ATI\n');
とやれば書き込める場合があるんだけど、読み出せない
id=fscanf(f,'%s')
とするとハングする。のでfopenした直後に
fcntl(f,F_SETFL,O_NONBLOCK)
とやる必要がある
(ノートなんかの内蔵モデムの多くはソフトモデムで、まともにATコードが通らない場合がある)

MSVC版とMingw版はこの
fcntl(f,F_SETFL,O_NONBLOCK)
というのが通らない。
fcntl無しでf=fopen('COM1','r+')してみると、エラーも無くファイルハンドル=3が返ってくる
COM4とか存在しないポートを開こうとするとエラーが返るのでCOM1をちゃんと開いているように見える。
これでシリアル通信が出来るかというと、どうもそうでは無いようだった。
fscanfしてもどっかに余ってるバッファが返ってくる。

Cで書いてdllでも作ればいいんだろうけど
482名無しさん@お腹いっぱい。:2008/04/15(火) 04:53:03
>>481 私の場合シリアル使うときは,VBAだ。
Excel持ってりゃただで使える。ActiveXのコマンドがあるので,プロパティ
で通信条件設定して,コマンド送ればいい話だ。(おい,板が違うぞ)
483名無しさん@お腹いっぱい。:2008/04/15(火) 04:58:02
>>482 しまった。ただのVB6だ,いかん。寝ぼけとる
484octave for windowsメモの筆者:2008/04/15(火) 05:19:44
>>481
ちょっとNabbleしてみました。
www.nabble.com/RS232-Serial-Comms-to7009561.html#a7009561
お役にたちます?
485octave for windowsメモの筆者:2008/04/15(火) 06:00:42
>>481 勝手にですが,[email protected]に投げてみました。
まあ,どうなるかわかりませんが。改行が多すぎるようなのでわけて書きます。
***********
Hello

On one of the Octave threads in Japan, topic of the serial comminucation octave are posted.
I do not know serial commucation on windows because I usually use vb6+OCX.

I found the below from the Nabble search,
http://www.nabble.com/RS232-Serial-Comms-to7009561.html#a7009561

However the topic is rather old. Have the situation been changed ?

The below is the translataion from questioner (translated Japanese by me)

486octave for windowsメモの筆者:2008/04/15(火) 06:01:34
***********************************************************************
In octave on cygwin
octave>f=fopen('/dev/ttyS0','r+');
makes open com1
octave>fprintf(f,'ATI\n');
sometime reliarize the writting commamds, however read from device fails
octave>id=fscanf(f,'%s')
make octave hangup.
Thefore just after fopen it is required to execute
octave>fcntl(f,F_SETFL,O_NONBLOCK)

(Modem in Note PCs' are almost software modem and then AT codes sometimes is failed)

In MSVC and Mingw octave
octave>fcntl(f,F_SETFL,O_NONBLOCK)
cannot work.

So I do not execute fcntl and execute f=fopen('COM1','r+') wihout fcntl does not give an error and
file handle =3 returns.
However, fscanf gets junk data from buffer somewhere else but not COM1.
>>485 続きです。
***************************************

Any suggestion?
487octave for windowsメモの筆者:2008/04/15(火) 13:49:31
>>481 forge windows パッケージを見たのだが,説明がない。
octave.sourceforge.net/doc/windows.html#Examples

octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/Windows/src/
でソースを読まないとわかんない。うーん。
まだ,MLではレスなし。Michaelさんの活動時間を待つほかなし?


488octave for windowsメモの筆者:2008/04/15(火) 14:43:45
>>487 Michaelさん登場
octave.sourceforge.net/doc/windows.html#Examples
のCOMというのは使えんらしい。じゃwin32apiでラッパかかんといけないの
と聞いてます。
いちいち,書くのはめんどいのであとは
Nabbleを追いかけてください。

www.nabble.com/Serial-communication-on-octave-for-windows-to16690237.html#a16690237

あちらのスレッドはこれが便利なんだよな。
489名無しさん@お腹いっぱい。:2008/04/15(火) 18:49:38
どうもありがとうござんす、メモの人

まあCで書いてoctファイルを作ればいいんですよね
なんとかなるでしょう
490octave for windowsメモの筆者:2008/04/16(水) 04:36:49
>>489 そうです。 
www.ee.fukui-nct.ac.jp/~yoneda/text/other/C/A_06.htm
にwin32apiでのRS-232Cの扱い方が詳細に書かれているので,
Octave 3.0.0のマニュアルのDynamic Linked Function あたりをみて
書けばいいと思います。
Octave 3.0.0は,構造体が使えるのでプログラムもスマートに書けるでしょう。
491名無しさん@お腹いっぱい。:2008/04/16(水) 11:45:00
>>490
ser2netを使った方が楽だとも書いてますな
ttp://sourceforge.net/projects/ser2net
なんかwindows版は一度IBMが販売して止めたらしい

でもまあwin32apiを叩いた方がいいのでしょうね
492octave for windowsメモの筆者:2008/04/16(水) 12:15:55
>>491 490に書いたwebにあれだけ丁寧に書いてあるので,
>でもまあwin32apiを叩いた方がいいのでしょうね

同感です。
493octave for windowsメモの筆者:2008/04/20(日) 16:48:51
Octaveとは関係がないのですが,VistaいいとOffice2007といい,
Microsoftの新しいコンセプトにはどうもおじさんとしては,
最近嫌気がさしています。XPとOffice 2003は完成度も高く安定しているのに。
(ただし,メモリをたくさんつんでもXPはうまく扱えないという話も
聞いていてだからVistaなんだろうけど,Look and Feelをあれだけ代えるのを
本当にどれだけの人が望んでいるのだろう???)

もともと,cygwin屋ということもあって
Linuxへのの乗り換えを考えてはじめています。
そのときには,octave for windowsメモは,
終結宣言をだすかもしれません。
でもまだ,当面XPとOffice 2003が主流
となっているあいだは,なんだかんだいって乗り換えることができない
口だけだと思っていてもらっても結構です。
(でもOpenOfficeを暇なとき使ったりして,互換度を確かめています。
だいぶよくなったけど,罫線多用するやつはつらいな。おっとどんどん話が
ずれていく。)

OctaveはもともとUnix由来なのでUnixので使うほうがやっぱ便利そうだし。
gccも4.xにあがっているし。

好みによるんでしょうが,皆さんのお勧めdistributionってなんですか。
もちろん,Octaveのメンテナーの面倒見がいいってことが条件。
494octave for windowsメモの筆者:2008/04/20(日) 23:34:46
>>493 <m(__)m> 上はおじさんの妄言です。ここは,Microsoftを非難する
場所では,ないです。vistaやoffice2007も新しい設計でいいものです。
ただ,おじさんとしてついていけないのでつい愚痴ってしまったけど,
板が違う。反省してます。
495octave for windowsメモの筆者:2008/04/22(火) 05:53:25
祝!!! 3.0.1 Release
www.gnu.org/software/octave/
3.0.0はstableと歌いながら無理やりクリスマスリリースに間に合わせた感が
ありますので,3.0.1をおすすめします。
さてといそがしくなるぞ!!
例によってcygwin/mingwのビルドは私がやりますが,
他のプラットフォームでもやってみて,ここに報告してくれるといいなあ
と勝手におじさんは思っているのでした。

496名無しさん@お腹いっぱい。:2008/04/25(金) 13:12:37
3.0.1もplotでWarning出まくる
使えね
497名無しさん@お腹いっぱい。:2008/04/25(金) 14:12:38
クリスマスとかそういうのはどうでも良いかな。
無理に急いだりせず、純粋にソフトウェアの機能及び品質向上の目的のみで淡々と開発を進めていってほしい。
498octave for windowsメモの筆者:2008/04/26(土) 02:03:58
>>496
cygwinでしかまだグラフ関係は試してないけど,
特にWarningでまくりませんし,ちゃんと使えます。
それこそ,OctaveのMLで直接きけばいいと思いますよ。
ここで愚痴っててもしょうがない。
499octave for windowsメモの筆者:2008/04/26(土) 02:19:41
>>497
正論としては,そうですが,やっぱりプロジェクトは何か目標を立てないと
先にすすめないわけであれやらんかったら,ちっとも3.0にならなかったで
しょう。
Windowsだって初期バージョンはバグだらけじゃないですか。
やっぱり世に出して見ないとわからないバグがあるのは事実。
「純粋にソフトウェアの機能及び品質向上の目的のみで淡々と
開発を進めて」ますし,3.0.1はかなり慎重にやっています。
OctaveのMLのアーカイブでも時々ウォッチしてみるといいとおもいますよ。
gnuplotでも4.2.0にパイプ関係に致命的なバグがみつかり,
(実は4.0もバグがあったんですが,4.2になってコマンドが高度化して
顕在化したんですが。)4.2.1が出たんですが,致命的なバグがあって
程なく4.2.2がでました。
ソフトウェアなんてそんなもんですよ。
500名無しさん@お腹いっぱい。:2008/04/26(土) 02:39:49
不謹慎ながらそういう緊張感に満ちた乗り越え甲斐のある障害に溢れている世界が魅力的に感じてしまった。
501octave for windowsメモの筆者:2008/04/26(土) 02:53:33
ごめん500番とっちゃった。
>>496, >>498
とは書いたもののここは愚痴る場所だったんだな。失礼。
でも,このままではなんも解決しないのも事実。
具体的にプラットフォーム,グラフィックはgnuplot?,
だったらそのバージョンなんか書いてもらえるとアドバイスできるかも
しれませんし,なんなら上にあげてもいいですよ。
いまのところ本家で3.0.1でプロット周りのクレーム出ていませんし。
502octave for windowsメモの筆者:2008/04/26(土) 04:24:54
>>500
500とりそこねたおじさんです。これは>>499のこと?
別に不謹慎でもないとおもいますが。
参加してくれるとうれしいけど,傍観者でもいいですし,あたたかく
見守ってくれるだけでもうれしい。
503octave for windowsメモの筆者:2008/04/26(土) 19:37:09
Sorenさんによると新しいforgeが数日中に出るようです。
ForgeのSVNのrepositoryを見た感じでは,いろいろ新しいパッケージが追加されているようです。
504octave for windowsメモの筆者:2008/04/26(土) 21:33:34
Octave-forgeにあるMac版の3.0.1のバイナリがでたようです。

ttp://sourceforge.net/project/showfiles.php?group_id=2888&package_id=237839

私はforge packageつける派なのでforge packageが出てからになります。
505octave for windowsメモの筆者:2008/04/28(月) 18:05:02
Sorenさんによるとforgeのnew packageがヨーロッパ時間の明日の夜に出るようです。日本では
あさっての朝でしょうか。
506octave for windowsメモの筆者:2008/04/30(水) 08:50:18
>>506 Sorenさんによるとforgeのnew packageがでました。
507名無しさん@お腹いっぱい。:2008/05/03(土) 20:44:53
octaveの方向性ってどうなってるのかな
scilabみたいに構文を綺麗にする方向にいくんだろうか
それとも、今まで通りの方向なんだろうか
508octave for windowsメモの筆者:2008/05/05(月) 05:15:46
>>507
ttp://www.nabble.com/3.1-status-report-to16463685.html#a16463685
>それとも、今まで通りの方向なんだろうか
のようです。
Scilabとは違い,MATLAB互換を高めていく方向性は変わっていません。
しかし,議論はされるのですが,オブジェクト指向は今回も見送り。
これには,大変な労力が必要でいまの開発スタッフの人数では無理でしょう。
今回のforgeパッケージの数が増えたように,octaveの使用人数が3.0になって
増えたことにより,octave を道具として使う人による貢献はふえているようです。
octaveそのものに貢献する人は増えないようです。
でも,なかなかそこまでの力量のある人がボランティアに加わってくれるかと
いうとなかなかね。
私もただの力量の乏しいメンテナー。方向性の議論には,あまり口出ししない
ようにしてます。
509octave for windowsメモの筆者:2008/05/05(月) 18:37:48
510名無しさん@お腹いっぱい。:2008/05/06(火) 11:16:25
>>509
問題が見つかり一旦取り下げられています
============================================================
On Mon, May 5, 2008 at 12:15 PM, David Bateman
<David.Bateman at motorola.com> wrote:
> Good work, but the ginput function from octave-forge that uses a chat
> file with windows as popen2 is not used for the gnuplot stream appears
> to be broken.

#@!!%$?....

The fix has been applied to octave source (both branches) after
the release. I'll try to backport it and update the package. For the
time being, I switched the release status to "hiddden" on
Sourceforge. I hope to get back with an updated package tomorrow.

Sorry for that.

Michael.
============================================================
511octave for windowsメモの筆者:2008/05/07(水) 21:17:09
512名無しさん@お腹いっぱい。:2008/05/13(火) 23:21:10
MSVC版のUIのoctavedeがすぐ落ちる orz
ちょっとした計算ならともかく
何日も計算するのには向かないな

ckwならなんでも無いので、octave本体じゃなくてoctavedeの問題かな

それとPentium4のHT付きので動かしてるんだけど
2つのスレッドを均等に使っている様に見える
この3.0.1ってデュアルコアで使えば速く計算出来るのかしらん?
513octave for windowsメモの筆者:2008/05/15(木) 16:34:37
>>512
octavedeはアルファ版だからね。
やっぱGUIならQt Octaveでしょう。
3.0.0のQt Octaveから3.0.0のフォルダー消して,
そこにoctave3.0.1をインストールするのが手っ取り早いはず。

>この3.0.1ってデュアルコアで使えば速く計算出来るのかしらん?
MSVC 2005 Expressでビルドされているからそれはない思うのだが。

OctaveがOpen MPに対応しないとだめだとおもうけどね。


514octave for windowsメモの筆者:2008/05/15(木) 16:48:50
>>513
広義にいえば,少しは速くなるかも,でもそれはOSの
タスクスケジューリングの割り当てでデュアルコアだと計算がコンピュータに
与える負荷が減り速くなる可能性がある。
それよりいまは,たぶん計算を2本叩き込むとかで実質の単位時間当たりの
ジョブを増やすのも手だが。
515名無しさん@お腹いっぱい。:2008/05/15(木) 19:56:25
>>513
そうなんですか

MingwやCygwin版でも同じですか?
まあoctaveを2個立ち上げる方が楽なのかもしれませんが
516octave for windowsメモの筆者:2008/05/16(金) 05:42:50
>>515
現時点ではForgeのmuticore Packageを走らせるしかないと思います。
MSVC版では,サポートされないと思います。
一応MingwやCygwin版には入っていますが,まともに動くか
動作確認してません^^;
また,ドキュメントはmulticoreのパッケージのソースにしかないのでソースを
forgeのページからダウンロードしてください。

Octave本体のmulticore化は3.1のtodo listにも入ってなかったと思うので
当分先かと思います。
>ctaveを2個立ち上げる方が楽
です。一個の計算は決して速くなりませんが,長時間のジョブで
パラメータを変えた計算をやらせるときには,有効ですよ。
ただし,パソコンうぃ何台も用意してやるのと同じですが。
517名無しさん@お腹いっぱい。:2008/05/16(金) 12:16:20
並列化したoctave使ってる人とかいます?
518octave for windowsメモの筆者:2008/05/16(金) 17:58:55
>>517
複数マシンの並列化の例は聞いたことがあり,こっちはパラレル パッケージ
です。これもMSVCおそらくだめです。mingwでもだめで,Cygwinのみ
ビルドできます。
multicoreはわかりません。
パッケージ作成者は動かしているんでしょう(笑)
たぶん,Linux上でしか動かしていないと思います。
[email protected]で直接聞いてみるしかないと思いますよ。
519名無しさん@お腹いっぱい。:2008/05/17(土) 00:59:01
520名無しさん@お腹いっぱい。:2008/05/17(土) 13:28:22
でも正直なところお金があるのであればMATLAB 2007a以降を導入した方がいい
ただのMATLABでもOctave for Windows MSVCよりも速いし
2007aからBLASのスレッド数が変えられ、デュアルコアCPUなら
最大4スレッドを並列実行出来る
なので業務で使うのであればMATLABの導入も考えた方がいい

結局BLASがマルチスレッドに対応出来るかどうかの勝負になる
521octave for windowsメモの筆者:2008/05/17(土) 17:25:02
>>520
確かにそうでしょうね。

でも,BLASに関する部分はOctaveはATLASをリンクできるので
行列計算の速さはALTASでTuneすればある程度補えるはず,
ATLAS 3.8.0をcygwinのmingwコンパイルモードつかって,自分でビルドして,
mingwのoctaveもそれを使ってビルドすればそこそこいくはず。
ATLAS 3.8.0自体はCore2Duoの並列計算をターゲットとしている。
したがって行列計算の並列化ならOctaveである程度可能です。

要は時間と金のトレードオフだと思いますが。
理解間違ってますかね。
私は古いコンピュータ使っているからわからんけど
お金をかけないで高速に計算しようとすれば,OSとして
Linuxを選ぶべきでしょう。
Open MP対応のインテルフォートランを利用するのが一番安くて速く計算
できるはす。
話がOctaveからずれとるなあ。

まあ,結論はWindowsで簡単に速く計算したかったら,金払えということ。

http://math-atlas.sourceforge.net/atlas_install/
522octave for windowsメモの筆者:2008/05/17(土) 17:33:41
>>521
上に挙げたaltasの記述を読むとAtlasのmulti thead はPosix theadを使うので
Windowsではcygwinの使用が前提となります。
つまりはあまり期待するなということ

まあ,結論はWindowsで簡単に速く計算したかったら,金払えということ。

という結論は,代わりませんが,
ある程度手間をかけても速く安く計算したいならwindowsは使うな
ということ。
523octave for windowsメモの筆者:2008/05/17(土) 17:52:41
>>522
私の目的は手軽に,安く科学技術計算をやることですので,本格的な高速化
はするつもりはないので,本格的にやられるなら,金をかけるか
Linux使うかだと思いますよ。
Windowsマシンは手元においておいて,XmingをXサーバーとして入れとけば
Windowsマシンから,Linuxマシンいじれるわけですし,いまはそこらへんの
環境は結構いいですから。
まだ,高速計算の需要が自分にないからやらないけどそうなったら,計算
マシンはLinuxにします。たとえMatlab入れるにしてもそっちのほうが
いいはずだ。(ぜんぜんOctaveと関係なくてすみません)
524名無しさん@お腹いっぱい。:2008/05/18(日) 13:08:33
試しに件のoregonatorを使ったベンチを走らせてみたら

Pen M 1.7GHzのマシンで

Cygwin版 2.1.73で
octave:1> bench1
ans = 5.84100
octave:2> bench1
ans = 5.74700

MSVC版 3.0.1で
octave:1> bench1
ans = 1.4141
octave:2> bench1
ans = 1.3178

全然違うものだな
525octave for windowsメモの筆者:2008/05/18(日) 15:33:25
>>524
Cygwin版 2.1.73でoregonatorが遅いのは,知る人ぞ知るgcc-sllj問題です。
これによってoctaveインタープリターの速度が著しく低下するため,
関数値の計算に時間がかかり遅さが目立ちます。
同じ理由でfor ループも極端に遅いです。
行列計算自体はそれほど変わりませんよ。

私は,gcc自体を--disable-sjlj-exeption
でビルドしなおしそれでOctave3.0.0を構築し,配布しています。
MSVC版には及びませが,oregonatorは2秒台は出ると思います。

cygwin版v3のメリットは,parallel,multicore, engine, pdbなどMSVC版では
決してサポートされないforge-packageが使えることです。
また,gnuplotをcvs版にしていますから,マウスズームが使えることです。
ただし,逆にjhandleは使えません。


私は,gnuplotをcygwin上でgcc-4.3.0(このgccは自分でビルドしました。)を使い,もっとも過激な最適化を行って
います。XmingというCygwinを使わないXサーバーを使うとはっきり言って
wgnuplotより高速です。したがって,gcc-4を使えれば今より速いoctaveが
作成できます。

残念ながらgcc-4でのOctaveのビルドはプログラムが複雑なため成功していません。
ですが,cygwinメンバー自体は,gcc-4を公式リリースでは
遅いgcc-sjljを捨てる覚悟でいます。
しかし,backwardの互換性の問題でまだ,進んでいないのが現状のようです。
cygwinのページに予告されているcygwin1.7が出るタイミングだと
読んでいます。これがでれば,gcc-sjlj問題が解決され,
cygwinの公式リリースのoctave-3.0.xがリリースされると思います。

526octave for windowsメモの筆者:2008/05/18(日) 15:34:37
>>525 改行多すぎのためここできりました

話は変わりますが,Ogerogonatorの試験はmingw版はMSVCと遜色ありません。
gcc-4の威力はcygwinのgnuplotのビルドでわかっていますので
mingwのgcc-4が使えればMSVCに勝てると思います。
mingwのgcc-4はcandidate ではありますが,公式リリースなので
msys+mingw+GnuWin32+GTKでビルドできると思います。
だれかやってくれないかなーと思っています。

でも,正直いってcygwinとmingw両方みるのはつらいです。
mingwは早くBenjaminさんが登場してくれーとおもっています。
(私はcygwin派なので,mingwは本当はあまり....)
527名無しさん@お腹いっぱい。:2008/05/19(月) 07:17:32
なるほど。個人的にはJhandleが気にいってますので、Mingw版でJhandle使えればなあという所です。
もっと理想ではSciLABのグラフィックエンジンの方がいいですけれど。
ATLASを使った最適化もここを見ると効果がありそうですが、大変そうです。
ttp://www.inaba-lab.org/modules/bwiki/index.php?Octave%B4%D8%B7%B8
528octave for windowsメモの筆者:2008/05/19(月) 11:33:57
>>526
MSVC版でIntel SSE2をつかってらっしゃるんでしょう?
たぶんATLASのblasをつかっていますよ。
ターゲットが違うCPUでもそれなりに効果があるんだとMichaelさん
がいってましたから。たぶんMichaelさんのコンピュータでATLASを
作成されています。
私は面倒なので普通のblasでGeneric buildですが,
それでカリカリの最適化をかけています。
もちろんATLASにはかないませんが,Ver. 3でもカリカリの最適化がとおれば
g77の方がMSVC+f2cよりバイナリかなり速いんで面倒なのでATLAS使ってません。
AMDの人のためです。
529octave for windowsメモの筆者:2008/05/19(月) 11:44:37
あっ間違えた上のは >>527でした。
続きです。
mingwでもJava+Jhandleは理論上構築できるはずです。
Sun Javaが必要で自分が使わないので構築してません。
(私はcygwin+gnuplot派なので)

cygwinはSun Java自体をcygwin用にビルドする必要があり,
事実上不可能です。gcjでやれるようにしてくれるといいんですが。

Octaveも3.1からは独自のグラフィックエンジン持つようですし
gnuplotの方がオプションになるんでしょうね。
でもたぶん,epsとかpngの作成をgnuplotでやらないのは,
時間の無駄なのでたぶんそのあたりはgnuplotでやるんじゃないですかね。
530名無しさん@お腹いっぱい。:2008/05/19(月) 11:48:40
我輩は猫である
531octave for windowsメモの筆者:2008/05/19(月) 12:05:09
>>530 了解(笑)
まあ,上は他人向けということで。
532名無しさん@お腹いっぱい。:2008/05/19(月) 12:46:33
>>528
MSVC版はATLASが入ってるんですね
それで安心しました

epsやpngの作成はprint文を使ってます
%
% plot graph
%
if exist('OCTAVE_VERSION')
% for octave
print('hoge.png','-dpng');
print('hoge.ps','-dpsc2','-landscape');
else
% for MATLAB
set(gcf,'PaperOrientation','landscape')
print('-dpsc2','hoge.ps');
set(gcf,'PaperOrientation','portrait')
print('-dpng','-r80','hoge.png');
end;

MATLABでもGnuplotでもJHandleでもこのまま使えます

しかしMSVC版でJHandleでグラフ描いても、
print関数で出力されるグラフはgnuplot経由なんですか…
確かにpgnuplot.exeとwgnuplot.exeが入ってますね

このあたりの実装はめんどうなんでしょうね
533octave for windowsメモの筆者:2008/05/19(月) 14:04:59
>>528 そうです
AMDでなければ自動的に認識されATLASが入りIntel系の最適化がなされます。
インストールのとき,たぶんIntel ...とでてれば大丈夫です。
MSVCのpgnuplotはいわゆるpgnuplotでなくコンソールモードのgnuplotです。
話が長くなるので詳しいことはやめますが,パイプの関係です。

あれだけ多くのグラッフィクターミナルに対応するのに,
gnuplotを使わない手はないでしょう。
私は,gnuplotの13年選手。
最後のキメのグラフは,gnuplot。
Octaveにはデータだけはかせてgnuplotで作成します。
そのほうがかゆいところに手がとどくんで。

gnuplotは確かにOpenGLとか使わないんで,
レンダリングには限界があるのはわかりますが
リアルタイム描画じゃなきゃいらんしな。
とういうことで,printコマンドの作画はgnuplotなんですよ。

MSVC版を使う気せんのは,データの転送の問題で現在のgnuplotの特長の
マウスズーミングが使えなくなることです。
で私は,cygwin版にはそれが可能なcvs版のgnuplotをつけています。
マウスズーミングの聞かないgnuplotなんてgnuplotじゃないというのが
私の叫びです。
534octave for windowsメモの筆者:2008/05/19(月) 16:41:50
>>532ですが
MSVC版はATLASが入ってるんですね
それで安心しました

>>520
のいうとおりの部分もあります。ATLASで確かに速くはなります。
Windowsでは,アトラスは一個のコアのみ使うと思います。

ゆえに,Core2Duoなどのマルチコアの性能を最大限に発揮するには,
Linuxでアトラスを走らせる必要があります。

まあ,でも一個のコアの最適化で通常十分速いので普通はそれでいいと
思いますよ。

それでだめになったら,考えればいいことですよ。
535octave for windowsメモの筆者:2008/05/23(金) 08:23:34
最近,パワレスなんでとりあえずここに流しときますね。

Octave/Windows compiled with VS2008 available

ttp://www.cae.wisc.edu/pipermail/help-octave/2008-May/009351.html

VS2008は今年でた,MSのコンパイラ,SSE3にも対応しているようですが,
自動認識はしてくれないので自分で選択してください。
HT系のPentium以降は確かSSE3対応です。

また,コンパイラは年々進むのでたぶん今までのより
こちらのほうがパフォでると思います。

まだ,試してませんので
試した人,報告よろしく!!!!!!!
536octave for windowsメモの筆者:2008/05/23(金) 08:42:20
>>535
ちょっと訂正
(誤)
VS2008は今年でた,MSのコンパイラ,SSE3にも対応しているようですが,
自動認識はしてくれないので自分で選択してください。
HT系のPentium以降は確かSSE3対応です。

====>

(正)
VS2008は今年でた,MSのコンパイラです。
おかげでSSE3にも対応しているようです。
HT系のPentium以降は確かSSE3対応です。
上記ページによると,インストーラーの自動認識はSSE2まで,
SSE3を搭載CPUをお使いの方は,手動でSSE3を選択してください
だそうです
537octave for windowsメモの筆者:2008/05/23(金) 18:05:01
538524:2008/05/25(日) 00:42:12
>>537
前回はPentium Mの1.7GHzでしたが
Core2 Duo 2.1GHzでは(インストールの時にSSE3を選びました)
oregonatorでテストしてみますと…

octave:1> bench1
ans = 1.7748   ←たぶんJHandleのグラフウィンドウが立ち上がるオーバーヘッド
octave:2> bench1
ans = 1.1617
octave:3> bench1
ans = 1.2209
octave:4> bench1
ans = 1.2406

でした。まあクロック分速くなった程度ですね。
同じマシンでcygwinだと

octave:1> bench1
ans = 4.26500
octave:2> bench1
ans = 4.06200
octave:3> bench1
ans = 4.07800
octave:4> bench1
ans = 4.03100

こんな感じですけど
539名無しさん@お腹いっぱい。:2008/05/26(月) 11:39:32
ついでなのでMATLABとの比較もします。MATLAB,Octaveで共通に動かせる用に小改変。
oregonator.mは
function dx = oregonator (A,B)
% Copyright (C) 1997, 1998, 2007 John W. Eaton
global octflag;
x=B;t=A;
if octflag,
x=A;t=B;
end;
dx = zeros (3, 1);
dx(1) = 77.27*(x(2) - x(1)*x(2) + x(1) - 8.375e-06*x(1)^2);
dx(2) = (x(3) - x(1)*x(2) - x(2)) / 77.27;
dx(3) = 0.161*(x(1) - x(3));
end;

bench1.mは
global octflag;
x0 = [ 4; 1.1; 4 ];
t=linspace(0,500,1000);
octflag=0;
if exist('OCTAVE_VERSION'),
octflag=1;
end;
tic
if octflag,
y = lsode ('oregonator', x0, t);
else
[tpts, y]= ode15s (@oregonator, t, x0);
end;
toc
plot (t,y);
540名無しさん@お腹いっぱい。:2008/05/26(月) 12:02:22
で、この実行結果ですが…
Pentium 4 3GHzマシンで

MATLAB7.1
>> bench1
経過時間は0.537172秒です
>> bench1
経過時間は0.539443秒です
>> bench1
経過時間は0.536567秒です

Octave 3.0.1 MSVC, Octave UI上
octave:1> bench1
Elapsed time is 1.98581 seconds.
octave:2> bench1
Elapsed time is 1.94367 seconds.
octave:3> bench1
Elapsed time is 1.95329 seconds.

Octave2.1.73 Cygwin
octave:1> bench1
ans = 13.4540
octave:2> bench1
ans = 13.0160
octave:3> bench1
ans = 13.0160

かなり差がありますね
541octave for windowsメモの筆者:2008/05/27(火) 18:18:06
>>539 >>540 まあそんなもんでしょう。MATLABはJITだからね。
私は,大体lsode使うときは,C++で関数書いて,
mkoctfile使って高速化します。
http://www.geocities.jp/tmoctwin/msvcoct.html

VS2008対応のやつなら,おそらくCase2が使えると思います。

でもATLASの威力みたいなら
行列計算をしたほうがいいですよ。
http://adlib.rsch.tuis.ac.jp/~akira/unix/octave/speed.html



ATLAS性能チェックするには,行列計算をしないと。
542名無しさん@お腹いっぱい。:2008/06/03(火) 16:02:29
MSVC版3.0.1(vs2008版)を使ってるのですが
clear
だけだと何ともないのですが
clear all
だと
アプリケーションエラー
が出て死にます
コンソールには

panic: Segmentation violation -- stopping myself...
attempting to save variables to `octave-core'...
save to `octave-core' complete

なんて出ます
Core2 Duo 2.1GHzでXP Homeです
543名無しさん@お腹いっぱい。:2008/06/03(火) 21:54:56
Vista Core2Duo T7500でMSVC 3.0.1を使っているんですが、直前にgnuplotで表示したグラフを

print -djpg graph.jpg

で出力したはずなのに検索にgraph.jpgが引っかからないです。
出力先が不明なのでドライブすべてで検索をかけてるんですが見つかりません。
どなたか理由わかりませんか?
544名無しさん@お腹いっぱい。:2008/06/03(火) 22:29:24
あと、lsをすると以降何を打っても表示されなくなるバグがありますがどこへ報告すればいいですか?
545名無しさん@お腹いっぱい。:2008/06/03(火) 22:41:18
546名無しさん@お腹いっぱい。:2008/06/03(火) 22:47:50
>>543
こうじゃないんでしょうか?

print(printoutname,'-dpng');

へルプを見ると
octave:1> help print
-- Function File: print (FILENAME, OPTIONS)
Print a graph, or save it to a file

FILENAME defines the file name of the output file. If no filename
is specified, output is sent to the printer.

OPTIONS:
`-dDEVICE'
Output device, where DEVICE is one of:
`png'
Portable network graphics
`jpg'
`jpeg'
JPEG image
`gif'
GIF image
とか書いてありますよ
547octave for windowsメモの筆者:2008/06/05(木) 05:52:07
>>542 [email protected]に行って聴いてください。
Michaelさん本人に聞くのが
一番。英語を怖がってちゃだめですよ。

>>545
もう,3.0.1からconsole2インストールされないので,それは関係ないはず。
cmdで使ってる?それとも,octave UI。Octave UIなら,alpha版なら仕方なし。
cmdかckwに乗り換える。
それでもだめなら,
[email protected]に行ってMichaelさんに直接きく。

いま,メンタル面で私 余裕ないから 昔みたいに,ここのを本家に上げる
のはやんないよ。
甘えず自分でやってね。
548octave for windowsメモの筆者:2008/06/05(木) 05:53:30
>>542 [email protected]に行って聴いてください。
Michaelさん本人に聞くのが
一番。英語を怖がってちゃだめですよ。

>>545
もう,3.0.1からconsole2インストールされないので,それは関係ないはず。
cmdで使ってる?それとも,octave UI。Octave UIなら,alpha版なら仕方なし。
cmdかckwに乗り換える。
それでもだめなら,
[email protected]に行ってMichaelさんに直接きく。

いま,メンタル面で私 余裕ないから 昔みたいに,ここのを本家に上げる
のはやんないよ。
甘えず自分でやってね。
549名無しさん@お腹いっぱい。:2008/06/05(木) 07:42:32
>>548
情報交換してるだけで、誰もあなたには頼ってないと思うよ
自意識過剰なんじゃない?
550名無しさん@お腹いっぱい。:2008/06/05(木) 09:34:05
>>549
まあ一般的に、なんとかの中の人ってのはついつい俺がやってるんだぜ的に
自分を追い込んでしまいがちだからな。
当人もメンタルに余裕ないって言ってるんだし、そのへんはスルーで。
551名無しさん@お腹いっぱい。:2008/06/05(木) 10:47:28
>>542
既に作者がbugだと認めております
ttp://www.nabble.com/%3A-bug-to17459505.html#a17467541

I can reproduce this bug. Simply typing "clear all" at octave prompt
makes octave crash. This does not occur with development branch.
I'll try to find the reason, but this can take time as I have to recompile
octave with debug enable.

Michael.

VS2005版は問題無いようなので、もう少し待ちましょう
552octave for windowsメモの筆者:2008/06/05(木) 14:30:41
>>549 さん。すいません
>>550 さん。ありがとう,そのとおりです。

メンタルに余裕がないのも(というか病気なんです),
書き方が過剰になるわけ原因なわけで,そこは免じてゆるして下せー。

あとから変なこと書いたと思ったのでみたら,
指摘はあるかもと思いましたが
フォローは感謝。


まあ,やってるときには,Michaelさんとはほとんど毎日メールしてたのも
事実なので,たぶん情報にすぐに答えられたと思います。

まあ,しばらく,おとなしくしてますので,妄言についてはご容赦を。
<m(__)m>
553544:2008/06/05(木) 17:59:55
>>545
ありがとうございます。それで直りました。

>>547
特に設定を変える知識を持ってないのでデフォルトのcmdのはずです。
なんでだろ。
554octave for windowsメモの筆者:2008/06/06(金) 10:15:34
>>553
cmdなら問題ないはず,なんでだろ?まあ,動いたんならいいんじゃない。
555octave for windowsメモの筆者:2008/06/07(土) 12:32:41
>>553 >>554
しらべて見ました。octaveをショートカットより起動すると起きますね。
何からのバグかも。Octave.exeをダイレクトにダブルクリックしてやると
cmdでも何の問題もありません。
ckwの場合は,ckwがcmdをバックグラウンドで起動するので問題になるようです。

一回バッチに落としてやれば問題ないので回避は可能ですが,ckwのほうが便利
でしょうから,まあ,そのままで。
致命的でもないので,元気がでたら,maintainersのMLに報告します。
556名無しさん@お腹いっぱい。:2008/06/07(土) 14:21:21
>>551
そのVS2005版もprintの挙動がおかしくないか?
pngを出力すると、前はグラフウィンドウのインスタンスから画像を生成していたのに対して
3.0.1版は画面をそのままハードコピーしてるみたいだぞ
なので3.0.1版だとグラフのウィンドウの前に他のウィンドウが重なってると
重なったままのイメージがpngに出力されるし
グラフが最小化されてる時は真っ黒なpngが生成されてる(ようだ)
psで出力してimagemagickのconvertでpngにした方がきれいかもしれん
557octave for windowsメモの筆者:2008/06/07(土) 16:01:06
>>544 >>553 >>554
やってみたら,結構難しい問題のようです。
どうもショートカットから,octaveを日本語モードで起動するとcmdで発生する見たい。
page_output_immediatelyをTrueにして,lessを無効にすると症状はでない。
また,usモードなら出ないので,あちらに報告してもだめでしょうね。
どうも日本語windowsがらみのバクだから。

ダイレクトにoctave.exeやスタートアップのバッチから起動するとlessが有効
でも問題ない。
原因不明。どうも日本語windowsがらみのバクだから,ckwを使うなり,
page_output_immediately(true)を実行して,lessを無効化するか,
ショートカットを使わずにOctaveを起動するかで逃げるしかないと思います。
558octave for windowsメモの筆者:2008/06/07(土) 16:48:09
>>557
勘違い。
page_output_immediately(true)は,lessを無効化しない。
page_screen_output(false)がlessを無効化する。
でした。

ショートカットのリンク先を
C:\Programs\Octave-3.0.0\bin\octave.exe --persist --eval "page_output_immediately (true)"
のようにとしておくと,lsは出てきますね。うーん,よくわからないけど,
まあ回避可能ということで,回避してつかうしかないと思います。
559octave for windowsメモの筆者:2008/06/07(土) 17:50:12
>>556
gnuplotインストールしてますか。
gnuplotインストールしてあれば,gnuplotでprintすると思うんですが。
まあ,jhandle使わんのでよくわかりませんが,gnuplotだったらなんの
問題もないですよ。
560octave for windowsメモの筆者:2008/06/07(土) 18:29:23
>>559
>gnuplotインストールしてあれば,gnuplotでprintすると思うんですが。

は勘違いかも,確認してないこと書いてすみません。
gnuplotをbackendにしてれば問題ないのは正しいですが,
好みの問題があるので。

561543:2008/06/09(月) 06:03:46
>>556
>>546の言うとおりに
x=[0:0.1:pi];
plot(sin(x))
print('test.png','dpng')
だとエラーは出ないけど相変わらずファイルが作成されない
スクリーンキャプチャするしかないか
562名無しさん@お腹いっぱい。:2008/06/09(月) 07:06:06
-が足りない
563名無しさん@お腹いっぱい。:2008/06/18(水) 12:46:22
初心者です。
質問があるんですが、EXCELのデータをインポート?するにはどうすれば良いですか?
A=xlsread("filename.xls")
とすると、
some elements in list of return values are undefined
と警告がでます。
Octaveはread自体ができないんでしょうか?
564名無しさん@お腹いっぱい。:2008/06/18(水) 16:43:50
>>563
>help xlsread

%% First, you need to convert your excel table into a tab-delimited
%% text file. Then you can use XLSREAD to load that file.

この辺は?
565octave for windowsメモの筆者:2008/06/18(水) 19:25:40
cygwin公式版Octave 3.0.1がでた模様です。
566名無しさん@お腹いっぱい。:2008/06/18(水) 19:30:14
567名無しさん@お腹いっぱい。:2008/06/18(水) 19:50:26
file: filename.xls not found から進歩してるw
568名無しさん@お腹いっぱい。:2008/06/18(水) 20:59:20
>>566それも俺っすww
569名無しさん@お腹いっぱい。:2008/06/19(木) 10:38:48
570名無しさん@お腹いっぱい。:2008/07/07(月) 01:48:19
VS2008版とそれ以外ってどっちがいいんだよ
571名無しさん@お腹いっぱい。:2008/07/07(月) 08:07:55
過去レス読め
572octave for windowsメモの筆者:2008/07/07(月) 13:45:41
>>570, 571
その前に
リリースノート読めばいいじゃないすか。
ttp://sourceforge.net/project/shownotes.php?release_id=597120&group_id=2888
Michaelさん本人がかいてるんだし。
確かに本人がMLでリリースノート書いてあるのによめといちど愚痴ってまし
たが,リリースノートのマークって小さすぎてあそこに重要な情報がかかれて
いるなんてあんまり思えませんが。
まああれはSourseForgeの責任だからOctaveチームを責めないでね。

まあ,つかってるパソコンがIntelCPUならSSE3のサポートがあればVS2008
でなければ,そうじゃないやつ。
AMDの人はGenericになるからコンパイラが新しいことでvs2008ってとこかな
試してないから分からんけどまあ,常識的に考えればそんな線でしょう。
573octave for windowsメモの筆者:2008/07/07(月) 13:50:08
そろそろBenjamin氏によるMingw版octaveも出そうです。
574octave for windowsメモの筆者:2008/07/10(木) 12:27:09
MSVC octave についてのミニ情報

1.Jhandlesについて
print commandはpostscriptしかサポートしていません。

2.Jhandlesとgnuplotを両方インストールした場合の切り替え
gnuplot-->Jhandles
octave>pkg load jhandles
Jhandles-->gnuplot
octave>pkg unload jhandles

3.gnuplotでもprint('hoge.emf', '-demf')はこける。
これは,gnuplotが4.2.2だから,gnuplot 4.2.3では起こりません。
これは次のリリースで修正するそうです。

以上は皆,Octave ML上でMichae氏自身に確認しましたので,間違いないでしょう。


575名無しさん@お腹いっぱい。:2008/07/15(火) 08:56:59
Octave Jhandleを使った場合にpng出力する方法

用意するもの Cygwin

1) print文でpsで出力する
2) 以下のconv.shをcygwinから実行する

DUMMY=`perl -i -p -e 's/Helvetica 10.0/Helvetica 12.0/g' *.ps`
for i in `ls -1 *.ps`;do convert -density 120x120 $i ${i%.ps}.png;done

一行目はフォントをデフォルトの10ポイントから12ポイントに
変換するだけのものなので無くてもいいですし、もっと読みやすくする場合は
12.0じゃなく14.0にしてもいいかもしれません。

mingwのmsys用Imagemagickを入れればcygwin無しでも出来るかも知れませんが
どうでしょうか
576octave for windowsメモの筆者:2008/07/15(火) 11:46:30
ps=>pngの変換ならghostscriptを入れればcygwinなんていりませんよ。
gsviewもほしいですが。

ttp://auemath.aichi-edu.ac.jp/~khotta/ghost/index.html

gnuplotでも私はpng terminalは使わず,ghostscriptでps=>png変換です。
そっちの方がきれいなんで。
577octave for windowsメモの筆者:2008/07/15(火) 12:06:15
>>576
うーん。反省。「cygwinなんていりませんよ。」はないな。すみません。
<m(__)m>
私もcygwinや野郎なのに。

Windows Native版 Imagemagickはmsys用ではなく,普通のwindows
アプリケーションとして存在しています。
コマンドラインコマンドとしてちゃんとconvert使えますし,
ps=>png変換できると思います。

また,cygwinでも,gsでもできると思います。どちらがきれいかは比べた
ことがないので分かりませんが。
578名無しさん@お腹いっぱい。:2008/07/20(日) 10:09:23
Windows用Octave2.9.19はwormに感染しています!!
ttp://oshiete1.watch.impress.co.jp/qa4133945.html
579名無しさん@お腹いっぱい。:2008/07/20(日) 11:00:40
なんだと
580名無しさん@お腹いっぱい。:2008/07/20(日) 11:59:42
>>578
それ以降のバージョンもアウトか?
581名無しさん@お腹いっぱい。:2008/07/20(日) 22:14:34
>>578
誤検知ジャネーノ?(まったくアンチウィルスベンダを信用してない俺)
582octave for windowsメモの筆者:2008/07/22(火) 08:33:04
>>581
ウィルス・ワーム混入騒ぎは本家MLでもおきました。
どうも581さんの言うとおりAnti-virus softwareのご認識のようです。
583octave for windowsメモの筆者:2008/07/22(火) 08:35:41
開発版のOctave-3.1.50 MSVC版がでました。

Ver.3.2(正式版)を目指した。Ver 3.1のリリースが,公式に始まり,Octave-3.1.50のソースが
配布されました。Michael氏は早速MSVC版のリリースをされました。
目玉はOpenGL/FLTKによるgraphics backendの実験的な実装です。

ttp://sourceforge.net/project/showfiles.php?group_id=2888

OpenGL/FLTKによるgraphics backendの使い方などの,詳しいことは,リリースノートをご覧ください。

ttp://sourceforge.net/project/shownotes.php?group_id=2888&release_id=614662

584octave for windowsメモの筆者:2008/07/28(月) 16:07:43
開発版のOctave-3.1.50 MSVC版にバンドルされるgnuplotは,4.2.3です。
print('hoge.emf', '-demf')のようにemfが生成されるようになりました。
このgnuplotを他のバージョンで使えるかは,これからやってみます。
(dllの依存性を調査せねば。)
585名無しさん@お腹いっぱい。:2008/07/30(水) 22:28:27
octaveをcygwinで使ってますが(共に最新ver)
octaveとgnuplotがつながりません。
>>plot 〜〜
とか打つとコンソールに数値が大量に出るだけでグラフ化されてくれません。

何が原因でしょうか。
ちなみにその時のコンソール表示が下記です。

gnuplot>set terminal aqua1 enhanced
line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list.

よろしくお願いします。m(_ _)m
586名無しさん@お腹いっぱい。:2008/07/30(水) 22:44:04
MacOS用のgnuplotがいるってか?
587名無しさん@お腹いっぱい。:2008/08/03(日) 22:18:48
使えねーここ・・・
588名無しさん@お腹いっぱい。:2008/08/05(火) 22:31:30
net2comというのがあるらしい
http://sourceforge.net/projects/net2com/

まだインストールしてないけど
たぶんこれを入れると、
telnetでlocalhostに入ると
設定したシリアルポートに繋がるんじゃないかと思う

確かoctave forgeにはsocksの関数があったはずなので
このnet2com経由でWindows版octaveからシリアルポート操作ができるかも
589名無しさん@お腹いっぱい。:2008/08/06(水) 15:31:29
というわけで、net2comをインストールしてみました
そのページにあるような外観ではなくてへぼいです

それで某シリアル機器をCOM3につなぎ、TERA TERMのシリアルモードで応答する事を確認
次にnet2comを立ち上げて、ポートと速度を設定し、Socketのポートも適当に設定
(ここでXP SP1以降ではポートのブロック解除ダイアログが出るので解除)
次にTERA TERMをTelnetモードにしてlocalhostのさっき設定したポートに接続
そうすると、

ELCOME TO NET2COM
SETTINGS ARE:
COM PORT.......3
COM SETTINGS... 9600,n,8,1
OPENING COM PORT
COM PORT OPEN
OK

と出て、インタラクティブにコマンド操作が出来ます
モデム付きノートの場合はモデムポートに接続し
ATコマンドでもやってみるといいでしょう。

後はOctaveでどうやって操作するかだけだな。どうすれば…
590名無しさん@お腹いっぱい:2008/08/10(日) 15:34:54
FortranかCで計算した後Octaveと結合してデータをplotしたいのですが、
gnuplot みたいに popen()、system()で呼び出すことが可能でしょうか?
可能ならどうしたらよいかご教示ください。
591名無しさん@お腹いっぱい。:2008/08/10(日) 16:26:34
>>590
ファイルに書き出して読めばいいと思うよ

csvread.mってのがあるので

FORTRANやCでカンマ区切りのcsvファイルを作って
csvread.mで読み込めばOK

test1.csv というファイルの中身
1,0.1,1.34E-01
2,0.2,1.35E-02
3,0.8,1.40E-02
4,0.9,1.90E-03

これをoctaveで読み込む

octave:5> data1=csvread('test1.csv')
data1 =

1.0000000 0.1000000 0.1340000
2.0000000 0.2000000 0.0135000
3.0000000 0.8000000 0.0140000
4.0000000 0.9000000 0.0019000

このcsvreadは文字が混在してるとエラーが出るので数字だけにしましょう
あとExcelもインストールしてあると、*.csvのファイルはダブルクリックで開けます
592octave for windowsメモの筆者:2008/08/11(月) 12:21:46
>>585
gnuplot>set terminal aqua1 enhanced
line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list

うーむ。なんか変。誰かにいたずらされたんじゃないすか?。
aqua term はMAC OSX用ですからね。

ちゃんと一回uninstallして,インストールしなおして見れば?
593octave for windowsメモの筆者:2008/08/11(月) 12:53:55
>>589
wsh使えば,多分tera termにコマンド流しこめるので,
octaveからsystem comand でwshのスクリプトを流しこめばいいのでは。

wshがもしわからなかったらGoogleで調べてね。
594octave for windowsメモの筆者:2008/08/11(月) 13:03:55
>>593
結果は,tera term でログファイルを作成するようにしておけば,それをoctaveのc言語likeな関数で読み込めばいいですよ。
Ver3なら正規表現などもサポートしているはずなのでいろんなテキスト操作ができるはず。
595octave for windowsメモの筆者:2008/08/11(月) 13:14:57
>>585 >>592
もしくは,.octavercや...m\startup\octaverc のなかに,
putenv('GNUTERM','x11');
に書き込んでみては?

596名無しさん@お腹いっぱい。:2008/08/11(月) 16:04:47
>>593
使った事ないけどforgeにsocketコマンドの
accept
bind
connect
disconnect
gethostbyname
listen
recv
send
socket
があるから、

socketコマンドでソケットを生成して
connectコマンドで指定したIPアドレスのポートを開き
sendコマンドでデータ送って
recvコマンドで通信バッファを読み
disconnectコマンドでソケットを閉じればいいんじゃないかと思う
597名無しさん@お腹いっぱい。:2008/08/11(月) 16:46:24
>>585
書いてあるようにset terminalを打って使える種類を確かめなよ。
show terminalで現在のターミナルが分かる。
598名無しさん@お腹いっぱい:2008/08/11(月) 22:51:20
>>590
教えて頂き、有難うございました。
実は、

#define OCTAVE_PATH "/usr/local/bin/octave"
int main()
{
  計算;

FILE *gp;
gp = popen(OCTAVE_PATH, "w");
fprintf(gp, "plot(計算結果のデータ \n");
あるいは
fprintf(gp, m-file);
fflush(gp); /* Don't forget to flush the buffer. */
getchar();
pclose(gp); exit(EXIT_SUCCESS);
}
みたいにしてoctaveだと長くかかる計算をCあるいは
Fortranでさせて最後にグラフを書かせかったのですが、
gnuplotならpopen()やsystem()でできるのですが、
octaveだとplotできなくて困っておりました。
1. shellscriptを書いてcプログラムを実行して、
octaveに入ってからoctaveのpopen/systemで
 plotxxx.m を実行する。
2. 最初からoctaveのpopen/systemでcプログラムを
 実行して結果をoctaveで描く。
3. octave(mファイル)など使わずにcプログラム+gnuplotを使う

のいずれかが普通なのでしょうか?
599octave for windowsメモの筆者:2008/08/13(水) 10:44:17
>>598
もちろん3番です。悩むまでもありません。
octaveのplot系のコマンドは,sophisiticated されたコマンドですが,スピードがとろい,細かい設定が無理または却って面倒です。

私は,octaveで計算した結果を吐き出して,gnuplotを使うことも多いですよ。
600octave for windowsメモの筆者:2008/08/13(水) 10:48:05
>>598 補足:ちょっとしたテキスト処理をはさむときは,私はawkを使います。
awkは,軽く,正規表現が使え,テーブル型のデータを扱うことを前提としていてなかなか便利です。
こりゃ脱線しすぎかな。許して下せー。

601octave for windowsメモの筆者:2008/08/13(水) 15:28:27
octave for windowsメモ
ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html

に 「開発版のMSVC Octave-3.1.50 のgnuplot-4.2.3を使用する」というメモを記載しました。これにより,emfファイルの作成が可能になります。
602octave for windowsメモの筆者:2008/08/13(水) 15:50:22
>>588 >>589
シリアルについては,480番あたりの過去ログも参考にしてください。
603名無しさん@お腹いっぱい。:2008/08/13(水) 23:51:49
ウルトラ初心者からの質問ですが、回答頂ければと思ってます。
メモ帳や、Excelに記入した30*30の行列をoctaceに貼り付けることは
可能でしょうか?
さすがに手打ちで一つづつはつらいものがありまして・・
ちなみにwindowsから利用で、octave3.1.50を使ってます。
>>563 の方も同じような質問しているようですが・・・

604octave for windowsメモの筆者:2008/08/14(木) 11:19:32
>>603

>>564  または,>>591 で可能です。
564
%% First, you need to convert your excel table into a tab-delimited
%% text file. Then you can use XLSREAD to load that file.
最初にエクセルのテーブルをタブ区切りのテキストファイルに変換する。そうすれば,XLSREADでファイルをロードできる。

これでいいすか?
605名無しさん@お腹いっぱい。:2008/08/16(土) 10:59:45
>>596
なんとなくわかった事の覚え書き(チラシの裏みたいなもの)

1) そのnet2comを入れて、ノート内蔵モデムのCOM3をlocalhost:8003にしてStartする
2) octave のコマンドラインから次の順番でコマンドを入れる
octave:1> more off
sock1 = 1252
octave:2> sock1=socket(AF_INET,SOCK_STREAM,0)
octave:3> server_info=struct('addr','localhost','port',8003)
server_info =
{
addr = localhost
port = 8003
}
octave:4> rc=connect(sock1,server_info)
rc = 0
octave:5> [msg_s,len_s]=recv(sock1,255);
octave:6> msg='ATI0';
octave:7> msg(5)=13;
octave:8> rc=send(sock1,msg)
rc = 5
octave:9> [msg_s,len_s]=recv(sock1,20)
msg_s =
13 10 53 54 48 48 48 13 10 79 75 13 10
len_s = 13
octave:10> num2str(msg_s,'%c')
ans =
56000
octave:11> disconnect(sock1)
rc = 0
606octave for windowsメモの筆者:2008/08/18(月) 12:47:23
>>605 なるほど勘違いしていました。すねわち,forgeにsocket機能がある
からNet2comを使用して,socket機能で通信しようというわけですね。
自分の書いたレスが恥ずかしい。 まっ,いっか勉強になったし。ありがとう
ございます。
607名無しさん@お腹いっぱい。:2008/08/18(月) 19:13:18
>>606
ここの一番下の方にOctaveでのSocketの使用例があります
ttp://www.nabble.com/Low-level-sockets-td4253125.html
(しかしドキュメント少なすぎ)

昔、Parallel Octaveをやってる人がいましたが
あれは独自実装のSocket経由で2台以上のPCのOctaveを接続して
1台をlistenで計算サーバーにさせて、もう一台からsendでデータを送って、
recvで計算結果を得るといみたいな事をやってるようでした。
サーバーが10個ぐらいあれば、データ転送のオーバーヘッドがあるにせよ
10個のパラメータを1度に試せるわけで、特定的な問題なら
一台で解く場合よりも速くなるのでしょう。
608octave for windowsメモの筆者:2008/08/19(火) 15:18:25
ttp://www.nabble.com/release-3.0.2-to19037149.html
のようにmaintainers向けのOctave-3.0.2がリリースされました。
まもなく,公式ページにもソースが載るでしょう。

また,新しいforgeも準備されつつあります。
これも,ここ1,2週間のうちに出ると思います。

609名無しさん@お腹いっぱい。:2008/08/19(火) 22:42:30
>>599,600
有難うございます。
分かりました。確かにawkや c + gnuplot は便利ですよね。
最後に一つだけ質問:
octave だとdataから簡単にx,yzのデータから3D plot ができます。
ところが、gnuplotを用いるとデータの途中に適宜空行を入れないと
いけないのですが皆さんどのような工夫をされているのでしょうか?
1.メインプログラムでデータ出力時に空行を適宜入れる。
2.gnuplotで読み込む前に空行を入れる。
3.他の技がある--> ご教示ください。
610名無しさん@お腹いっぱい。:2008/08/20(水) 16:53:10
>>603 です。 >>604様へ
まだ、うまくいきませんが・・・

丁寧な御回答ありがとうございました。

現在は octave workshop を用いて、

付属のメモ帳を使って頑張っています。
611octave for windowsメモの筆者:2008/08/20(水) 18:51:01
>>610 octave workshopはちょっとバグ多いので。
OctaveのGUIのフロントエンドを利用するならQtOctaveがいいですよ。
ttp://wiki.octave.org/wiki.pl?OctaveForWindows
から飛んでください。確か表形式の行列入力あった気がします。
612octave for windowsメモの筆者:2008/08/20(水) 18:55:41
>>609
すみません。この板の範囲ではないので,gnuplotには,いい掲示板があるのでそこいって聞いてください。

Gnuplot Q&A 掲示板
ttp://ayapin.film.s.dendai.ac.jp/cgi-bin/trees.cgi
613octave for windowsメモの筆者:2008/08/22(金) 16:12:12
octave 3.0.2のソースが正式にリリースされました。
新しいForgeもまもなくでるので,
次のバイナリリリースは3.0.2+新forgeとなるでしょう。

ttp://www.gnu.org/software/octave/download.html
614octave for windowsメモの筆者:2008/08/25(月) 08:48:37
新しいOctave-Forgeがリリースされました。
ttp://www-old.cae.wisc.edu/pipermail/help-octave/2008-August/010651.html

そのうち各種バイナリも整備されるでしょう。
615名無しさん@お腹いっぱい。:2008/08/25(月) 20:50:52
いつも乙です >> 中の人
616名無しさん@お腹いっぱい。:2008/08/27(水) 00:50:18
FreeBSDのportsがまだ新しくなってないな。
3.0.1のまま
617octave for windowsメモの筆者:2008/08/27(水) 12:28:38
>>615 こちらこそ乙です。
618octave for windowsメモの筆者:2008/08/27(水) 12:35:06
>>616 もうちょっと待ってくださいや。Forgeが出たばっかしだし。
3.0.xのシリーズの本体はminor changeなので問題ないけど,
Forgeは新しいのがでると新しいパッケージがでて対応大変なんだよ。
Maintainerの苦労もわかってやって下せー。
おねげーしますだ。
619octave for windowsメモの筆者:2008/08/28(木) 09:20:12
うーん。cygwinでForgeやってるけど前回できたoctgprがうまくビルドできん。
前のバージョンならうまくいくんだけど。
620octave for windowsメモの筆者:2008/08/29(金) 11:18:04
>>619 自己レスです。Jaroslav Hajek氏(最近はこの方が,3.0.xの主たる
コードをかいてます。JWEさんは,3.1ブランチのコードに専念されてます)が
ミスがあったので,SVNにあげたと連絡ありで解決しました。
Cygwin gcc-dw2 版3.0.2+forge週明けにはリリースします。
621octave for windowsメモの筆者:2008/09/01(月) 17:41:14
Octave 3.0.2 + forge 20080831 on cygwin (by gcc-dw2)をリリースしました。

ttp://www.tatsuromatsuoka.com/octave/Eng/Cygwin/

です。
622名無しさん@お腹いっぱい。:2008/09/02(火) 02:51:50
>621
あんたみたいになるにはc言語を勉強するの?
623octave for windowsメモの筆者:2008/09/02(火) 09:15:17
>>602 Cもそうですが,それよりもUNIXの開発環境の知識が問われます。
でも,一番肝心なのは外国人とメーリングリストでやり取りする度胸ですね。
624octave for windowsメモの筆者:2008/09/02(火) 09:17:27
>>623 >>602>>622の間違いです。すいません。
625名無しさん@お腹いっぱい。:2008/09/04(木) 11:03:54
初心者ですが、質問させてください。
インパルス表示をさせようと、
プロット時に"^"を入力したのですが、
線ではなくなぜか△のマークが表示されます。
「それまでのプログラムに問題があるのかな。」
と、思い打ち直しましたが結局同じ症状でした。
違う簡単な式などをプロットしても同じ状況です。
この状況は打開できるでしょうか。
また、ほかにインパルス表示をさせる方法がありますでしょうか。
よろしくお願いいたします。

ちなみにOctaveのバージョンは3.0.1になります。
626octave for windowsメモの筆者:2008/09/04(木) 18:27:27
Octave 3.0.2 + forge 20080831 on cygwin (by gcc-dw2)の
パッケージミスの修正とforgeのftp-1.0.1をビルドしたので
これをあわせたパッケージと差分をアップロードしてます。

ttp://www.tatsuromatsuoka.com/octave/Eng/Cygwin/
627octave for windowsメモの筆者:2008/09/04(木) 18:32:28
>>625 すみません。MSVC 版ならとGraphic backendがgnuplotかjhandleか
他のものならば,OSの種類とかgnuplotのバージョンとか明記しないと解答はつかないと思います。
628625:2008/09/04(木) 22:46:19
>>627
ご丁寧にありがとうございます。
聞く側としての初歩的な所を忘れていました。
現在、OctaveはMSVC版3.0.1を使用。
graphic backendはgnuplotで、バージョンは4.2になります。
ちなみにOSはXPのSP3です。

上記のバージョンのoctaveにて、
どうすればgnuplotで言う所の、
「plot 〜with impulse」
の様な表示が出来るのでしょうか。

以前使っていたバージョン(windows版octave2.173)では、
plot (〜,"^")と入力をしたら出来ていたのですが、
現在のバージョンで同様に入力をすると、
三角マークが列をなしてしまいました。

ご教授、よろしくお願いいたします。
629octave for windowsメモの筆者:2008/09/05(金) 09:02:23
>>628 ウーム。どうやらバグですな。
help plotで表示すると

`^'
Set impulses plot style.
ってでてくるし,Cygwin版でも同じ症状ですね。
いまから,本家に報告します。
630octave for windowsメモの筆者:2008/09/05(金) 09:17:48
>>629

ttp://www-old.cae.wisc.edu/pipermail/bug-octave/2008-September/006673.html

本家bug@octave,orgにあげときました。お待ちください。
631octave for windowsメモの筆者:2008/09/05(金) 10:31:06
>>630
どうもhelp,manualのミスでstemというのを使うらしい。

ttp://www-old.cae.wisc.edu/pipermail/bug-octave/2008-September/006675.html

詳しくは,help stemかマニュアルを見てください。
632名無しさん@お腹いっぱい。:2008/09/05(金) 21:55:26
>>631
先ほどstemで実行をしてみた所、
エラーこそ出ますが、なんとか表示されました。
ここの辺りは自分のプログラムと、helpを参照しながら
解消していこうと思います。ありがとうございました^^
633名無しさん@お腹いっぱい。:2008/09/06(土) 18:56:48
良かったね^^
634octave for windowsメモの筆者:2008/09/16(火) 12:57:12
gcc-4.3.2-1(dw2 例外処理)によるcygwin octave3.0.2-2が
Marco Atzeriさんのサイトより手に入るそうです。
私もまだ試していません。

ttp://matzeri.altervista.org/
635octave for windowsメモの筆者:2008/09/16(火) 15:26:46
>>634
testしました。動作確認しました。
ttp://www-old.cae.wisc.edu/pipermail/octave-maintainers/2008-September/008486.html

ということで私のgcc-3.4.4-dw2によるoctaveの配布は役割を終えました。
まもなくページは封鎖します。
少し寂しい気もしますが,Cygwin上のOctaveはこれですっきりするでしょう。
ただし,gnuplotは4.3(cvs)でないとマウスズームが使えません。
したがって,gnuplotは4.3(cvs)を配布することにしました。

ttp://www.tatsuromatsuoka.com/gnuplot/Eng/cygbin/
636octave for windowsメモの筆者:2008/09/17(水) 16:12:00
うーん。cygwin版は3.0.2版は出たのですが,
msvc版は3.0.2はMichaelさんはスキップするのかな?
BenjaminさんのMINGW版は,いつになったら出るんだろう。
彼は慎重派だからな。
で, Windows Native版3.0.2は,どうなるんだろう
と思っています。

それでmingwの3.0.2のあるんですが,BenjaminさんのMINGW版がでるんならと
出していませんが,興味のあるかたいますか。一人でもいたら,私のページ
にあげますが。
637octave for windowsメモの筆者:2008/09/18(木) 12:10:15
>>634
Octave 3.0.2-2 on cygwinがcygwin setupからでもinstall
できるようになりました。

ttp://cygwin.com/ml/cygwin/2008-09/msg00398.html

でもforge20080831-2はインストールできないので手動となります。
638octave for windowsメモの筆者:2008/09/18(木) 14:37:00
>>637 なんかHangしますね。しばらくは手動でインストールしてください。
一応報告したので解決すると思いますので手動インストールができない方は
対応するまでお待ちください。
639octave for windowsメモの筆者:2008/09/19(金) 17:53:15
>>636
Michaelさんに確認したところ,MSVC版のoctaveは3.0.2はスキップ
するそうです。

あまり時間をおかずに Jaroslavさんが3.0.3を出しそうないきおいですからね。
640octave for windowsメモの筆者:2008/09/22(月) 08:47:48
>>638 一部あちらのミスもありましたが,私の思い違いでした。
experimental versionha expのボタンをアクティブにしてインストール
するそうです。

ttp://cygwin.com/ml/cygwin-apps/2008-09/msg00081.html
641名無しさん@お腹いっぱい。:2008/09/24(水) 17:49:01
>>640
expボタンを選ばなくても3.0.2-2を選び binところののチェックボタン
(□(四角))をチェックするのを忘れないようにすればいいようです。
642octave for windowsメモの筆者:2008/09/29(月) 09:22:42
maintainers向けに3.0.3のプレリリースがありました。
各maintainerも確認したところです。
ただし,マイナーチェンジなため各バイナリーが出るかは分かりません。
MSVC版は3.0.2をスキップしたため3.0.3の準備をミカエルさんがされている
ようです。
643名無しさん@お腹いっぱい。:2008/09/29(月) 11:24:48
初めて立ち寄りました。

場違いですが、matlabにオイラー法を使えるコマンドはないのでしょうか?
644octave for windowsメモの筆者:2008/09/30(火) 18:35:06
>>643
なぜまたオイラー法が必要なんでしょう。
MATLABには
ODE45などのルンゲクッタ法の発展型の優れた関数があるのに。



以下はOctaveでしか動きませんが,
ODEの解法の原理として講義で使ったものです。
関数を引数として受けるやり方は良く分かりませんが。
% Octave script m file
% Eulerのテスト
1; %dummy
% ****** Definition of a function
function dy=f(y,t); dy=-y; end

% ******* Main script
t0=0; tend=5; N=100; %t0 初期値,tend 範囲の終わり, N 間隔の数(点の数は,N+1)
t=linspace(t0,tend,N+1); % tの配列を定義
dt=(tend-t0)/N; % tの刻み幅
y(1)=1; % yの初期値
%
for n=1:N
y(n+1)=y(n) + f(y(n),t(n))*dt;
end
%
plot(t,exp(-t), "", t, y, "@");
645名無しさん@お腹いっぱい。:2008/10/02(木) 12:10:19
646名無しさん@お腹いっぱい。:2008/10/02(木) 12:46:32
あれなんかリンク貼ってある。
>>645じゃないですけど、リンク先の質問したものです。
インテルコンパイラでのコンパイルはどのように行うのでしょうか?
647octave for windowsメモの筆者:2008/10/02(木) 13:44:52
自分でOctaveをintel complierでビルドする必要があります。
そういう方はLinux userには多いですね。

本家のMLで検索して調べてください。(Nabbleサーチが便利です。)

日本でもやっている方はいるとおもうんですが,ここを見ておられるかと
いうとそういう猛者の方は英語のMLを参考にされていると考えたほうが
いいとおもいます。
がんばってください。
648646:2008/10/02(木) 14:01:01
>>647
"intel compiler"で検索してみたら結構な数がでてきたのでちょっと読んでみます。
アドバイスありがとうございます。
649octave for windowsメモの筆者:2008/10/02(木) 16:40:37
Mingw版の正規版のOctave-3.0.2がリリースされました。

ttp://sourceforge.net/project/showfiles.php?group_id=2888

からダウンロードできます。
gnuplotは4.3cvsリリースをpguplotとして使っているようなので
Michaelさんのものと違いマウスズームが効くとおもいます。

週末試してから私のWebには,リリースニュースとしてあげようとおもいます。
650octave for windowsメモの筆者:2008/10/06(月) 08:46:06
Octave 3.0.3 のソースが公開されました

http://artax.karlin.mff.cuni.cz/~hajej2am/ulozna/octave/

Octave の公式ページには,そのうち公開されるでしょう。基本的にはバグフィックスが中心です。Michael氏はおそらく この3.0.3でMSVC版のUpdateをするのではと踏んでいます。
651名無しさん@お腹いっぱい。:2008/10/07(火) 00:28:21
( ゙゚'ω゚')モマママ…マジで!?

http://love6.2ch.net/test/read.cgi/kao/1198685446/
652octave for windowsメモの筆者:2008/10/10(金) 18:15:52
653名無しさん@お腹いっぱい。:2008/10/18(土) 00:33:36
スレの皆様に質問があります。

MSVC版を愛用しているものです。
私の目的では32bitだとメモリが少なすぎるように感じています。
64bit windowsではMSVC走りますか?
それよりもunixに移行するのが手っ取り早いのでしょうか。
64bitを使う上で気をつけたほうがいいことなどありましたら
教えてください。
(Matlabを買うというのが一番だとは思うのですが)
654octave for windowsメモの筆者:2008/10/20(月) 08:14:00
octdevスレッドに同様の質問があり,MicahelさんとBenjaminさんが答えてます。

ただし,このスレッドは他のTopicと混じってますので,
Status of Windows 64-bit support? のタイトルの記事を見てください。

自分でコンパイルしろ書いてあります。
LInuxでも64bitでは自分でビルドする必要があると思います。
ただし,自分でビルドする手間は,windowsよりLinuxの方が簡単かとおもいます。



http://sourceforge.net/mailarchive/message.php?msg_id=128f38bd0810100418i2caf46f5rbb118d8b9031954c%40mail.gmail.com
655船木康博:2008/10/20(月) 08:22:56
信濃の国でも伊那方面は、有線でxDSLを最初にやったりさぁ、
無線じゃあ一昔前に妖怪がネット組んでいるのさ。おもしれぇぞ。
656名無しさん@お腹いっぱい。:2008/11/02(日) 19:24:11
>>654

ありがとうございます。急に立て込んでしまって、まだ試せていません。
とりあえずお礼まで。
657octave初心者:2008/11/08(土) 09:50:11
cygwinからoctaveをインストールして、imageパッケージを入れて
画像処理を行いたいのですが、imreadするところで下記エラーが出力されて
画像を読み込むことができません。
(ImageMagickもcygwinからインストールしました)

im=imread('im1.bmp');

convert: unable to open image `/cygwin/tmp/oct-22d688.0.ppm': No such file
or directory.
error: imread: error running ImageMagick's 'convert'
error: evaluating if command near line 113, column 5
error: called from `imread' in file
`/home/tosiyuki/octave/image-1.0.8/imread.m'
error: evaluating assignment expression near line 1, column 5

どなたか解決方法を教えてもらえませんか?
658octave for windowsメモの筆者:2008/11/13(木) 07:59:52
Macroさんに教えてもらいました。

Hi Tatsuro,

it is not a fault of image.

I don't know for wich reason on cygwinthe TMPDIR enviroment is set to C:/CYGWIN/TMP instead of /TMP

see src/sysdep.cc call to cygwin32_conv_to_full_win32_path

Probably is for old compatibility with non cygwin programs, but it confuse cygwin programs likeconvert of ImageMagick.

As workound is possible to

setenv ("TMPDIR","/tmp")
before
im=imread('im1.bmp');


I will try to remove the issue on the next octave cygwin release.
659659:2008/11/22(土) 15:24:37
はじめまして。
windowsVistaで、スタンドアローンoctaveを使おうとしています。
使いたいのは画像処理のpackage内のedge.mです。

image packageをインストールまでしたのですが、
edge("***.jpg", 'canny', [0 7], 1.6);などしても
error: nonmax_supress underined...と言われ、エラー箇所を見ると
bw = nonmax_supress(Es, Eo, thresh(1), thresh(2));とありました。
nonmax_supress()は関数のようですが、これが見あたらないようです。
どうすればいいのでしょうか?
(cannyを使わないでprewittを使うと動作が確認できました。BW = edge(I,'prewitt'))
660659:2008/11/22(土) 15:25:51
UNIX板なのですが、octaveに関する場所がここしかないので、
ここで聞かせていただきました。場所違いでしたらすみません。
661659:2008/11/22(土) 15:33:46
nonmax_supress()はCanny専用の関数のようです。
なぜ読み込まれていない(または組み込まれていない)のでしょう?
http://octave.sourceforge.net/doc/f/nonmax_supress.html
662659:2008/11/22(土) 15:48:16
http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/main/image/src/nonmax_supress.cc?revision=HEAD&content-type=text/plain
を見るとnonmax_supress()はC++で書かれていて、
それをoctaveで動的に利用できるようです(http://www.obihiro.ac.jp/~suzukim/masuda/octave/html/octave_71.html)。

C++のソースコードは公開されているので、
それをコピーして手動でoctaveでコンパイルして、
nonmax_supress()を持っておけばいいのだと思うのですが。。。
663octave for windowsメモの筆者:2008/11/25(火) 09:34:43
>>659
image packageは自分で使わないのでよく分かりません
つい最近,octave-3.0.3 (MSVC)がでたのでとりあえずそれを使って
試してください。だめなら[email protected]に投稿します。

http://sourceforge.net/project/showfiles.php?group_id=2888&package_id=40078


664名無しさん@お腹いっぱい。:2008/11/25(火) 13:47:04
>>309
Octave3.01では
wavread.m, wavwrite.m は不要
sound.m の中身を一行
system("wavplay \"%s\"", wavefile);
とダブルクォーテーションに変えてやる必要がある。

検索してたどり着く人用コメントでした
665octave for windowsメモの筆者:2008/11/25(火) 18:47:19
>>659
文法違いませんか。
以下のように使うのでは,edgeの第一引数はMxNの
グレースケールの行列のはずでファイル名ではないですよ。

help imread,help edge でhelpを読みましょう。

octave:2> IM=imread('test.jpg');
octave:3> image(IM);
octave:4> BM=edge(IM(:,:,1),'Canny');
octave:5> image(BM);
666octave for windowsメモの筆者:2008/11/25(火) 19:04:32
>>665
すみませんm(__)m。書き方が刺々しいですね。
反省m(__)m。



667名無しさん@お腹いっぱい。:2008/12/06(土) 01:09:30
(;'ー`)FreeBSDのportsにあるoctaveのコンパイルオプションに-ffast-mathつけるのやめてくれ
668名無しさん@お腹いっぱい。:2008/12/06(土) 10:56:47
理由があるならそれ書いて send-pr しれ
669octave for windowsメモの筆者:2008/12/07(日) 14:34:16
>>666 確かに変ですね。いつか本家で聞いてみます。
670octave for windowsメモの筆者:2008/12/07(日) 14:37:22
さっきのは>>667>>668の間違い。m(__)m
671octave for windowsメモの筆者:2008/12/08(月) 13:10:45
>>667 >>668
いま,octaveのMLできいていますが,FreeBSDで聞けといわれたらすみませんが
自分でFreeBSDの方で聞いてください。m(__)m
672名無しさん@お腹いっぱい。:2008/12/08(月) 15:27:43
あ,668 の人だけど >668 は >667 宛てね
(FreeBSD 事情なら >668 ということで)
673octave for windowsメモの筆者:2008/12/08(月) 18:35:09
Octave MLより
3.0.4 call for patches (Jaroslav Hajek-2 Dec 08, 2008; 03:49pm)

http://www.nabble.com/3.0.4-call-for-patches-to20890571.html

ということでOctave-3.0.4のリリースの準備が始まりました。
674octave for windowsメモの筆者:2008/12/09(火) 09:51:01
>>667

最初の書き込みがいけなかったため,該当する返事はまだ得られていません。
(-ffast-mathオプションが使えるかという風にとられたため。
違う趣旨の返事しか来てません。再度趣旨を訂正しましたがこれまでのところ
答えはついていません)

では,
http://www.nabble.com/-ffast-math-option-at-compling-octave-in-FreeBSD-ports---to20878991.html
675octave for windowsメモの筆者:2008/12/10(水) 13:28:53
>>668
--- John W. Eaton wrote:
> I think you should ask the people who packaged Octave for FreeBSD.
>
> Based on the description in the GCC manual, I would generally
> recommend against using -ffast-math.
>
> jwe

ということで,FreeBSDで聞いてくださいとのこと。m(__)m
jwe氏もagainstと書いている通り,おすすめしないといっておられます。
-ffast-mathなんでついてるのかな。
676名無しさん@お腹いっぱい。:2008/12/12(金) 03:34:33
(;'ー`)つーか、-ffast-math付けると計算をはしょるから意図しない答えになることがある
677octave for windowsメモの筆者:2008/12/12(金) 09:58:45
>>676
なるほどそうなんですか。私はJaroslav Hajekさんが書かれたことぐらいしか
知らないですが。どちらにしろつけるのは,変ですよね。
678名無しさん@お腹いっぱい。:2008/12/12(金) 10:50:43
portsのMakefileには-ffast-mathついてないんだけど、
/etc/make.confに自分で書いてないかな?
679octave for windowsメモの筆者:2008/12/12(金) 14:57:09
まあ,私が書き込んだことでoctaveのhelpとmaintainersのMLに残るのでFreeBSD
portsを使っている方へのアナウンスにはなっているわけでだし
あとはFreeBSD のportsをメンテされてる方がどう考えているかですよね。
ところでmkoctfile -vで出てくるg++でのコンパイルの表示に
-ffast-mathついてますか?
基本的にはconfigureで指定したoptionがついてますけどね。
680名無しさん@お腹いっぱい。:2008/12/12(金) 20:02:11
(;'ー`)うわっ、ごめんよ!
FreeBSDのportsに-ffast-mathついてるのはmath/atlasだったよ
681octave for windowsの筆者:2008/12/14(日) 12:32:14
>>680 了解。上にあげときます。
682octave for windowsメモの筆者:2008/12/15(月) 11:52:18
>>680 上に報告しときました。
683名無しさん@お腹いっぱい。:2009/01/08(木) 16:48:40
誰かovtaveで区分求積法を使って積分の計算をやってる例とか貼ってくれない?
684octave for windowsメモの筆者:2009/01/08(木) 19:29:46
>>683
区分求積って台形公式でいいんでしょうか。
I = trapz (Y) ;
I = trapz (X,Y);
台形公式法(trapezodial method)による,数値積分をする関数。X,Yはともにベクトルであり,引数がYだけ時はX軸の間隔が1であるとしてyの台形の面積の和をとる。通常は,X,Yの両変数を指定し,和をとる。
685octave for windowsメモの筆者:2009/01/08(木) 19:30:25
octave> format long
octave> x=linspace(0,pi,100+1);
octave> I=trapz(x,sin(x))
I = 1.99983550388744
octave> x=linspace(0,pi,200+1);
octave> I=trapz(x,sin(x))
I = 1.99995887647922
octave> x=linspace(0,pi,1000+1);
octave> I=trapz(x,sin(x))
I = 1.99999835506566

686octave for windowsメモの筆者:2009/01/08(木) 19:32:58
精度が必要な時は,適応的自動積分のquadを使ってください。
687octave for windowsメモの筆者:2009/01/08(木) 19:36:22
[v, ier, nfun, err] = quad (f, a, b, tol, sing)

Quadpackという積分パッケージに収録された適応的自動積分の関数。
第1引数は,被積分関数の名前で関数は,
y = f (x)
の形を持ち,xとyは、スカラーである。第2,第3引数は,積分範囲であり,−無限大や+無限大を片側または両方に指定できる。Octaveで無限大は,infまたはInfであらわす。
第4引数のtol は,ベクトルであり,第一要素は,要求したい精度の絶対値である。第二要素は,相対許容度である。
第5引数のsingは,ベクトルで被積分関数が特異点となる独立変数の値からなり,必要に応じて指定する。
第4,第5引数は,オプション引数なので省略は可能である。
左辺にvは,積分結果の値(関数の返り値)。ierはエラーコードで0は,積分の成功を意味する。nfunは関数の評価回数でと積分の困難さの指標になる。Errは,積分結果の評価誤差である。

688octave for windowsメモの筆者:2009/01/08(木) 19:37:13
octave> format long
octave> function y=f(x);y=1./sqrt(1-x.^2);end;
octave> [v, ier, nfun, err] = quad (@f,0,1)
v = 1.57079632679489
ier = 0
nfun = 315
err = 5.44135847491134e-011
octave> pi/2
ans = 1.57079632679490

689名無しさん@お腹いっぱい。:2009/01/09(金) 03:56:42
『octave for windowsメモの筆者』さんすごい!素敵です!
690名無しさん@お腹いっぱい。:2009/01/09(金) 16:31:09
>>683ですが、貼ってくれた方ありがとうございます!
691octave for windowsメモの筆者:2009/01/09(金) 16:57:46
>>689 >>690

大学の講義で使っている資料の一部を貼りました。
著作権の問題があり公開はしていませんが,
著作権問題がない部分については公開したほうがいいですかね。

ちょっと手間がかかるので要望あればぼちぼちやります。


692名無しさん@お腹いっぱい。:2009/01/16(金) 16:35:33
大学の宿題で「観測値と予測値をプロットするoctaveのプログラムを示しなさい。」
っていう問題が出たんですけど授業を聞いてないボクにはさっぱりです・・・。。
誰か教えてくれませんか?
693名無しさん@お腹いっぱい。:2009/01/16(金) 16:52:59
ノート買えばいいじゃん
694octave for windowsメモの筆者:2009/01/16(金) 18:26:40
Octave 3.0.4のテストリリースのソースのリリースがありました。
しばらく,すれば3.0.4が出ることになります。

ttp://www.nabble.com/3.0.4-RC1-to21495212.html
695octave for windowsメモの筆者:2009/01/16(金) 18:39:20
>>692 まあ,>>693さんがいっているように授業受けた人に聞きましょう。

↓に私の講義資料で著作権に関係のない部分をのせといたからこれでも読んで勉強しなさい。

ttp://www.tatsuromatsuoka.com/octave/jpn/08CompAlgo_02.pdf
696名無しさん@お腹いっぱい。:2009/01/16(金) 22:36:07
予測値ってのはもう用意されてるのかね
予測手法も適切に選択するまでが課題だったら随分大雑把で困難な宿題だ
697名無しさん@お腹いっぱい。:2009/01/17(土) 03:41:12
すいません。
勉強します・・・。
698名無しさん@お腹いっぱい。:2009/01/26(月) 02:16:03
質問させてください。

cos(pi*90/180)

を実行すると

6.1232e-17

というネイピア数で表示されてしまうのですが、これを0と表示させるにはどうすれば良いのでしょうか?
699名無しさん@お腹いっぱい。:2009/01/26(月) 08:55:39
つ round
700名無しさん@お腹いっぱい。:2009/01/26(月) 10:33:35
ところでネイピア数は0.271828...e-1だが?
701名無しさん@お腹いっぱい。:2009/01/26(月) 10:38:31
じゃない、0.271828...e1 だ

というか質問の意味がいまわかった。

そのeはネイピア数じゃなくて、浮動小数点数の10のべき乗表記で、
6.1232 × 10 ^ -17
じゃまいか?
702名無しさん@お腹いっぱい。:2009/01/26(月) 13:03:46
>>699

roundで丸めるのではなく、不動小数点の10のベキ乗表記を小数点第何位までにするかという設定(要するに0の極限値の設定方法)があった気がしたので、そのやり方がわからないのです。

>>701

ネイピア数の定義がよくわかってなくてすみませんでした。
おっしゃるとおり6.1232 × 10 ^ -17です。
703octave for windowsメモの筆者:2009/01/26(月) 19:31:40
octave3.0.4のソースのRC2が出ました。

ttp://www-old.cae.wisc.edu/pipermail/octave-maintainers/2009-January/010310.html

octave3.0.4ももうじきです。
一応3.0シリーズのラストと位置づけられているようで,
octave 3.2シリーズの準備がoctave 3.1で行われています。
704octave for windowsメモの筆者:2009/01/27(火) 08:36:09
>>703
しかし,3.0になるときも,次は3.0とでながらかなり細かいバージョンアップを続けた経緯があるのでどうなるかは。分かりませんが。
705octave for windowsメモの筆者:2009/01/28(水) 07:54:39
cygwin版のoctave-3.0.3がでました。ただし,パッケージングミスがあり,
mkoctfileが動きません。/usr/lib/octaveのlibctave.dll.a(oが抜けている)
をliboctave.dll.aにすれば動きました。報告をして,Macroさんが確認された
ので数日中にはfixされるでしょう。
706名無しさん@お腹いっぱい。:2009/02/01(日) 00:21:14
output_precision=16って入力して表示桁数を変えようと思ったら,
output_precision is no longer a built-in variable
と出ました。
その後output_precition=16となりましたが数値の表示桁数が変わりませんでした。
どうすればよいのでしょうか
707octave for windowsの筆者:2009/02/01(日) 18:03:15
>>706
output_precision(16)としてください。octaveはver3から殆この手のものは=ではなくて、()で設定します。
708octave for windowsの筆者:2009/02/01(日) 18:05:12
>>706
output_precision(16)としてください。octaveはver3から殆この手のものは=ではなくて、()で設定します。
709octave for windowsの筆者:2009/02/01(日) 18:05:36
>>706
output_precision(16)としてください。octaveはver3から殆この手のものは=ではなくて、()で設定します。
710octave for windowsの筆者:2009/02/01(日) 18:06:06
>>706
output_precision(16)としてください。octaveはver3から殆この手のものは=ではなくて、()で設定します。
711octave for windowsの筆者:2009/02/01(日) 18:08:53
携帯から書込みしたら重複投稿してしまいました。ごめんなさい。m(_ _)m
712名無しさん@お腹いっぱい。:2009/02/02(月) 17:07:41
octaveでシミュレーションをやっているんですがどうしても下のようなエラーが出てしまいます
先生や先輩に聞いてもなぜかよくわからないというしまつ・・・orz
どなたか教えていただけないでしょうか?よろしくお願いします

octave:2> test2
error: invalid column index = 2001
error: evaluating binary operator `+' near line 72, column 28
error: evaluating assignment expression near line 72, column 17
error: evaluating for command near line 67, column 1
error: near line 73 of file `/home/soturon/test2.m'


ソース→http://www.uploda.org/uporg1984631.tex.html
713octave for windowsメモの筆者:2009/02/03(火) 10:48:16
712 ソースの場所に行ってみましたが見れませんでした^^;
714名無しさん@お腹いっぱい。:2009/02/03(火) 10:54:34
めでたしめでたし
715712:2009/02/03(火) 11:36:10
すいませんでした!
次こそ大丈夫なはずです

ソース→http://ultraup.net/man/src/u_man2312.zip.html
パス:test
716名無しさん@お腹いっぱい。:2009/02/03(火) 12:25:39
>>715 Get Files Thank youとでますが,どこに落ちたかわからん。
サイトがサイトだけに,落ちないのかも,octave for windowsメモで
Googleれば私のサイトは見つかるのでそこのアドレスに添付で
送ってください。

717名無しさん@お腹いっぱい。:2009/02/03(火) 12:26:31
>>715 Get Files Thank youとでますが,どこに落ちたかわからん。
サイトがサイトだけに,落ちないのかも,octave for windowsメモで
Googleれば私のサイトは見つかるのでそこのメアドに添付で
送ってください。

718octave for windowsメモの筆者:2009/02/03(火) 12:28:23
>>716
m(__)m
そこのアドレス==>そこに記載のメールアドレス 
719名無しさん@お腹いっぱい。:2009/02/03(火) 13:32:15
メール欄にsageと入れよう!
720octave for windowsメモの筆者:2009/02/03(火) 13:40:12
>>719 入れましたがどのような意味で? おじさんはワカラナイ??
721712:2009/02/03(火) 13:50:48
たびたび申し訳ないです><
メールで添付しときました!よろしくです

つーかアップローダーはどこがいいんだろ・・・
うpろだとか有名なとこはすぐ消えちゃうし
722octave for windowsメモの筆者:2009/02/03(火) 14:06:50
>>721
メールとどきましたこれから見ます。

Uploaderではなく,Yahooのアカウントをお持ちなら,YahooのGeocitiesをフリーで
広告付きだけど50Mbyteのweb spaceを借りれますよ。
私は,自分のドメインと1Gbyteのスペースと持ちたいから
有料の契約してますが,普段使う分には50Mbyteあればいいでしょう。
723名無しさん@お腹いっぱい。:2009/02/03(火) 14:13:21
>>722
Geocities?ブリーフケースのこと??
724名無しさん@お腹いっぱい。:2009/02/03(火) 14:15:17
>>720
メール欄にsageと入れると書き込みをしてもスレッド一覧の最上位にいちいち浮上しません。
sageと入れないと一部の人からくどく思われる場合がありますので、普通はsageと入れます。
ちなみにsageは日本語の「下げ」をローマ字で書いたものです。他言語のsageの意味はありません。
725octave for windowsメモの筆者:2009/02/03(火) 14:21:16
>>724 m(__)m ありがとうございます。
726octave for windowsメモの筆者:2009/02/03(火) 14:22:03
>>724 m(__)m ありがとうございます。
727octave for windowsメモの筆者:2009/02/03(火) 14:36:30
>>712 error: invalid column index = 2001ですね。

66行目 b(:,1)=[0;0];によって
octave:3> size(b)
ans 2 1
で1行2列の行列になってしまうわけです。

66行目 b=zeros(2,2001);
とすれば大丈夫です。
しかし,For Loopの塊ですね。
octaveでは,遅くなりますね。
漸化式likeなので
スパース行列を使えば高速化できるかも知れませんね。
ttp://www.nuce.nagoya-u.ac.jp/e8/Matsuoka/07OctaveNum/07OctaveNum.html
偏微分方程式なのでまともにやったら2重ループなのですが,遅くなるので,
漸化式を係数行列にしてスパースを使って高速化してます。

古い資料なので,octaveのバージョンが古いですが,基本は同じから
参考にしてください。
でもいまのままでも,答えは少し待てば出るので,まあ,
現状でいいかもしれませんがこういうテクニックも
あることもしっておくといいですよ。

728octave for windowsメモの筆者:2009/02/03(火) 14:41:57
>>723 ブリーフケースではありません。Webをおけるスペースです。
まあ,Yahooにいってみてください。
webがおけるのでファイルもおけて,
<html>
<a href='test2.m'>test2.m</a>
</html>
とでもして,index.htmlをつくり同じフォルダーに
test2.mをいれとけばいいです。

729名無しさん@お腹いっぱい。:2009/02/03(火) 14:48:34
日本のyahooの利用規約では公開目的ではなく単にファイルを置くだけなのは禁止されているはず。
国内で利用するんだったらhttp://www.axfc.net/uploader/が良いかもしれないね
流れてしまう速度はそんなに速くないはずだから。
730octave for windowsメモの筆者:2009/02/03(火) 14:48:32
>>727 おっとこの講義資料の最後の回のものです。

731名無しさん@お腹いっぱい。:2009/02/03(火) 14:55:26
ほんとループが長い!まだ回ってる・・・

>>728,>>729
つまりヤッホーのほうは利用しないで>>729のほうがいいってことですかね??
なにはともあれありがとうございます

>>730
是非拝見させていただきます
732octave for windowsメモの筆者:2009/02/03(火) 15:07:17
>>729 あっとそうでしたね。

<html>
<body>
<P>数値計算ソフトのソースの例(octave)
<a href='test2.m'>test2.m</a>
</body>
</html>

とでもしとかなきゃだめでしたね。
こうすれば,一応公開目的なのでおけますよね。
ただし,パスワードがかけられませんからね。
まあ,見られてもいい(つまり公開)であればいいのですよね。

733名無しさん@お腹いっぱい。:2009/02/04(水) 15:14:49
グラフを印刷する時、軸のラベルの文字の大きさを変えるのはどうするんですか?

print "hoge.eps" -deps -color -F:20

ってやると、目盛の数字は大きくなるけど、ラベルは小さい文字のままになりま
す。


734octave for windowsメモの筆者:2009/02/04(水) 16:20:56
>>733
xlabel('{\fontsize{25} x}');
735名無しさん@お腹いっぱい。:2009/02/04(水) 16:31:14
使ってるプロットツールによると思うんだけど
文字はそのままでグラフを小さく出力すると印刷時には相対的に文字が大きくなる
例えば俺はgnuplot使ってるから
__gnuplot_set__ size 0.4 0.4;
とかやって全体的に文字サイズを変えてしまうのはどうだろう
736octave for windowsメモの筆者:2009/02/04(水) 16:40:56
__gnuplot_set__ size 0.4 0.4;
この設定は3.0からは使えません。

ttp://www.gnu.org/software/octave/NEWS-3.The following plot commands are now considered obsolete and will be removed from a future version of Octave:

__gnuplot_set__
__gnuplot_show__
__gnuplot_plot__
__gnuplot_splot__
__gnuplot_replot__
Additionally, these functions no longer have any effect on plots created with the Matlab-style plot commands (plot, line, mesh, semilogx, etc.).html より


The following plot commands are now considered obsolete and will be removed from a future version of Octave:
__gnuplot_set__
__gnuplot_show__
__gnuplot_plot__
__gnuplot_splot__
__gnuplot_replot__
Additionally, these functions no longer have any effect on plots created with the Matlab-style plot commands (plot, line, mesh, semilogx, etc.).
737octave for windowsメモの筆者:2009/02/04(水) 16:49:14
>>736 すいません。m(__)m。また,確認ミス。
とろろで「この設定は3.0からは使えません。」は使えませんはうそで,
正しくは,plot関数などによるplotには影響せず,__gnuplot_set__などは
あくまでも,別のルーチンでgnuplotのコマンドをダイレクトに使用する描画
にのみ影響する。

が正しいです。

といいのは,octaveの次のバージョンから独自のgraphicsエンジンを
使うという構想があり,このようのgnuplotの直接命令は,plotなどの
関数に影響を与えないように変更されています。
738名無しさん@お腹いっぱい。:2009/02/04(水) 17:27:26
今プログラムを作ってるんですが下のようなエラーがどうしても消えません
どこがおかしいのでしょうか?

error: invalid column index = 0
error: evaluating binary operator `*' near line 35, column 14
error: evaluating binary operator `+' near line 35, column 12
error: evaluating assignment expression near line 35, column 4
error: evaluating for command near line 33, column 2
error: evaluating for command near line 29, column 1
error: near line 42 of file `/home/tse550u/soturon/ndynamicsg.m'


ソース:http://www1.axfc.net/uploader/He/so/190986
739名無しさん@お腹いっぱい。:2009/02/04(水) 17:29:18
すいません、>>738のやつパスはdwです
740名無しさん@お腹いっぱい。:2009/02/04(水) 17:35:28
新しいOctave入ってるPCで見てみたらマジだ
昔gset sizeでやってた頃に「これは使えなくなるから__gnuplot_set__ でやれ」
ってOctaveに怒られた時からいつかこうなるとは思ってたけど
741octave for windowsメモの筆者:2009/02/04(水) 18:00:14
>>738
error: invalid column index = 0
が怪しい。行列やベクトルは最初に現れたsizeで初期化されますから,
sizeを指定したいときは,
A=zeros(N,M);
などであらかじめ指定してください。

742octave for windowsメモの筆者:2009/02/04(水) 18:06:08
>>740
今は,JhandleというMATLABそっくりな図を描くグラフィックバックエンドも
ありますしね。MATLAB互換路線になっていますから,まあ仕方ないでしょう。
私は,データ吐き出して,
gnuplotで直接図描きますから関係あまりないのですが^^;。

ところで,jhandleは,epsはファイル形式は,postscriptのみだったと
思います。
emfなどはpstoeditをつかって変換するしかないでしょう。
743octave for windowsメモの筆者:2009/02/05(木) 09:44:33
>>741 error: invalid column index = 0
おっと octaveはindexが1から始まるからでたエラーですねm(__)m。
744名無しさん@お腹いっぱい。:2009/02/05(木) 18:07:53
>>734-737 ありがとうございました。

自前のグラフィックスですかあ。私はgnuplotが結構好きなんで、微妙だなあ。
なんかOctave全体が重くなるのもいやだし。
745名無しさん@お腹いっぱい。:2009/02/06(金) 10:43:06
筆者さん、Octaveの授業もやってるんですね。わたしも筆者さんと同じ分野の人
間です。授業でOctave使おうとしたことがあるんですが、他の教員から「そんな
ブラックボックス使わせても教育にならん」と反対されました。かといって、現
行の授業でやってるようにC言語だと、病的な文法の瑣末なところで引っ掛る学生
がいっぱいいて、シミュレーションそのものを体感させるところまで行かないん
ですよね。

"プログラミング演習"の例題をOctaveで解かせるのは、研究室の学生にさせたこ
とがあります。"プログラミング演習"は過去におそらく3種類出版されているかと
思いますが、わたしは80 年代末に出たBasic版が一番のお気に入りでした。基本
算法の解説が一番詳しかったように記憶しています。現在はFORTRAN版もBasic版
も入手困難なようですね。FORTRAN版は手元にあるんですが、BASIC版はどっか行っ
ちゃいましたorz。今出まわってる改訂版は、うーん、解説は適当だし、Cと
FORTRAN両方のコード載せるのも場所の無駄だし、おまけに今時FORTRAN77だし。



746名無しさん@お腹いっぱい。:2009/02/06(金) 11:12:37
いきなりOctaveやらせると感動がないじゃん
「スゲーこの言語スゲー!!俺こんなに手抜いちゃって良いの?」
っていう感じで
747名無しさん@お腹いっぱい。:2009/02/06(金) 13:12:13
FORTRANでもいいんじゃね
748名無しさん@お腹いっぱい。:2009/02/06(金) 13:26:18
Matlab/Octaveの醍醐味は初級プログラミングのレベルではなくて
普通にループを回すと何時間も何日もかかるループ処理が
行列演算で1発で出るという所なので
Excelで済む程度のデータなら必要無いでしょうね

逆に例えばモンテカルロ計算なんかだと、
一般的なプログラムではループ10万回ぐらい回して
そのループの中で乱数を発生させて、関数に入れて結果を見る事になりますが

Matlab/Octaveでは最初に、10万個の乱数配列を作り
行列演算化した関数に入れて1発で結果が出るみたいな感じなので
発想を根本的に変えないといけません
749octave for windowsメモの筆者:2009/02/06(金) 18:05:40
>>748
そうですね。いかに,行列で問題を記述するかにかかってて,
偏微分の差分法の陰解法では良くガウスザイデル法とかつかいますが,
Octaveなら行列で方程式書いて左除算で済ませる。

係数行列は疎行列だからsparseを使って高速化するとか
発想が違いますよね。

まあ,ブラックボックスっいう方いますが,硬い微分方程式なんぞ
ルンゲクッタで解こうとすると大変で,lsode使うとあっという間に
解けますよね。

適応的自動積分でも同じだとおもいます。

シンプソン公式を自分でCで書いて使うような時代ではないと思ってます。

ブラップボックスでもいいから,数値計算ができることの意味を分からせる
のが大事だとおもいます。

750octave for windowsメモの筆者:2009/02/10(火) 09:42:13
開発版octave 3.1.52がでました。
ttp://www.nabble.com/Octave-3.1.52-available-for-ftp-to21923205.html#a21923205

Octaveの次のMajor Version Upはver 3.2であり,octave-3.1.xxは開発版です。
その3.1.52がでました。

gnuplotは一応defaultのgraphic backendでopenglによるgraphic backend
を機能させるためにはいろいろライブラリィが必要なようです。

詳しくは以下を
ttp://www.nabble.com/Octave-3.1.52-available-for-ftp-to21923205.html#a21923205

751名無しさん@お腹いっぱい。:2009/02/10(火) 11:39:01
そういえば新パソにFreeBSD7.1を入れて、
pkg_add -vr octave-devel
とインストールしたら
GNU Octave, version 3.1.51
でした。leasqrが入って無いのでoctave-forge-optimを入れてないような気がする。
バージョンごとに何が良くなったのか、見えにくいのが何とも…

そういえば、何語なのかわからないけど(チェコ語?)
Octave/Matlabのグラフィックスの例題があります
http://enacit1.epfl.ch/cours_matlab/graphiques.html
gnuplotは置いておいて、jhandleならかなりMatlabに近い事が出来ました
752octave for windowsメモの筆者:2009/02/10(火) 14:57:02
>>751 3.1.xx はdevelopment branchなので,octave-forgeは多分
自分でpkg installで行う必要があると思います。
しかも,octave-forgeは3.0.x用に作られているので結構苦労する可能性は
あると思います。

一般的なものは3.0.xxです。現在3.0.3が,最新版で3.0.4はもうすぐ出るのだと
思います。

(独り言)3.0.4RC3が出てからだいぶたつけど,いつになったら3.0.4の
正式リリース出るんだろう。

753名無しさん@お腹いっぱい。:2009/02/10(火) 15:52:50
>>752
その後に、octave-forge-optimを入れたらOctave 3.0.2に上書きされました
754octave for windowsメモの筆者:2009/02/12(木) 07:59:06
>>753 3.0.2でいいと思いますよ。
755名無しさん@お腹いっぱい。:2009/02/14(土) 23:15:47
ここを見て気になったので試してみました
ttp://hiyokoz.blogspot.com/2008/04/octave.html
ベンチの内容は
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
だけ
内容は2000の大きさの乱数配列を2個用意してベクトル積するだけです

手持ちの機種で比べると
Intel Core2Duo 2.1GHz, WinXP
 MSVC, Octave 3.0.1  2.05 GFLOPS 
 Cygwin, Octave 3.0.3  0.99 GFLOPS
Intel Pentium M 1.6GHz, WinXP
 MSVC, Octave 3.0.0  0.81 GFLOPS 
 Cygwin, Octave 3.0.3  0.18 GFLOPS
Intel Atom N270 1.6GHz, FreeBSD 7.1
 FreeBSD Octave 3.0.2 0.17 GFLOPS

PenMとAtomマシンに対してCで書かれた一般的なベンチ(Flops-2.0)で試すと
どちらも0.18GFlopsなので、同じクロックのPenMとAtomは同じ程度の
浮動小数点演算能力を持っていると考えられます。

問題はそのページに載ってる
MacBook (Core Duo 1.83 GHz): 約 3 Gflops
iMac (Core 2 Duo 2.4 GHz): 約 12.5 Gflops
Mac Pro (Xeon 3 GHz クアッドコア×2): 約 50 Gflops

という結果です。私の結果では Core2Duo 2.1GHz はMSVC版でも2GFLOPSでしたが
iMacの結果は2.4GHzとほぼクロックが同じにもかかわらず12.5GFLOPという
圧倒的なパフォーマンスです。Octaveを使うのならMacで決まりでしょうか
756octave for windowsの筆者:2009/02/15(日) 07:06:09
>>755

そうですか。ところでMSVC版はsse2でしょうか。Genericでしょうか?。

GenericだとATLAS使わないので。

MacOSはunixというのもあるかもしれません。
757名無しさん@お腹いっぱい。:2009/02/15(日) 09:48:41
>>756
それはもちろん、PenMはSSE2、Core2DuoはSSE3でインストールしてます
ATLASを使っても、この程度という事はロハで出来る範囲はこの程度なのでしょう

その元のブログには
>g95はOpenMPに対応していないが,アクティビティモニタを見るとCPUは二つとも動いているので,
>スレッド化されているようだ.おそらく,Mac OS XのAccelerate.frameworkに含まれている
>BLAS/LAPACKが呼ばれていて,Fortranコンパイラは無関係だと思われる.

と書いてありますから、ATLASとAccelerate.frameworkの差だと思われます
Windowsで同様の事は出来ないのか?というと一応MKLがあります
ttp://sourceforge.jp/magazine/08/12/24/123237/2
>今回使用したテストプログラムは500×500の行列同士の乗算を100回繰り返すというもの
>MKL    1.903秒
>ATLAS  3.895秒
>BLAS  16.120秒

マルチスレッドが効き2コア演算が有効になるためATLASに比べて約半分の時間で計算出来ますが
恐らく「GNU」Octaveで使うのは無理でしょう。
なので、値段もさして変わらないのならMacを選んじゃった方がいい可能性もあります。
758octave for windowsの筆者:2009/02/15(日) 17:12:20
>>757
Accelator.frameworkのページみました。

なるほど、こりゃMacのほうがいいですね。
今度、買うならMacにしよう。

ありがとうございますm(__)m
759octave for windowsの筆者:2009/02/15(日) 20:12:45
良く見るとCore2Duo用にのATLASも最適化出来るようですね。

MSVC版やMinGW版は、これは使っていないでしょうね。

でも、これを使ってもMacには叶わないでしょうね。

でも、差がどれくらいになるかは興味はありますね。

しかし、使おうにもかなりビルド大変ですしね。

私はCore2Duoマシン持ってないからなんともできないですが^^;
760名無しさん@お腹いっぱい。:2009/02/15(日) 21:20:04
>>540
を見ると、
MATLABはMSVC版の3.5倍ぐらい速いようなので(MATLABはマルチスレッドに対応してる)
MSVCで2GFLOPSなら、MATLABで7GFLOPSぐらい出そうですが
Macはその倍近い12GFLOPSですし
MATLABの維持費を考えると、35万円ぐらいの8コアのMacPro買って
実効50GFLOPSもいいかもしれません
761名無しさん@お腹いっぱい。:2009/02/16(月) 00:38:19
質問です。

やりたいことは、x=1:50; y=1:50; として、
その各々の格子点からcを作成して、 c = [ 1 ; x0; y0; ];
(x0, y0は格子点によって値が各々1〜50に変わります。)
ある行列Aとの積の値 val = A * c; を求めて、
valをある関数fの引数にすることでzを求めます。 z=f(val);

すると、x軸、y軸、z軸で等高線がひけると思いますが、
この過程を効率よく(スマートに)計算するにはどのようにすれば
よさそうですか??for文でcを作ってやるしかないですか??

50x50x3の3次元行列なんかが作れてスパッと計算できたら
よさそうなのですが、どうもよくわかりませんでした。。
762名無しさん@お腹いっぱい。:2009/02/16(月) 09:59:37
というわけでMatlabを含めてテスト

テスト対象のCPUはiMacの人と同じくIntel Core2Duo 2.4GHz
テストスクリプトは
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
のまま

Octave Cygwin版3.0.3   GFLOPS = 1.1429
Octave MSVC版3.0.3    GFLOPS = 2.3239
MatlabR2008a(MT OFF)   GFLOPS = 6.1464
MatlabR2008a(MT ON)   GFLOPS = 10.326
(MT:マルチスレッド)
そして
Octave MacOSX版     GFLOPS = 12.5

Matlabをもってしても勝てません。もちろんループはOctaveの方が速いので
実際のプログラムの速度ではOctave-MacOSよりMatlabの方が速いでしょう
えーとちなみにMatlabは「安すぎる」と日本の関係者に言われている
アメリカの1ユーザーパッケージでも$1900で、日本国内で個人が買うと…
とても信じられない価格です ^_^;。

じゃあどうするか
・マルチスレッド対応のテキサス州立大学のGotoBLASを使う(無料、自由配布不可)
・マルチスレッド対応のインテルMKLを使う(有料、自由配布不可)
・Macを買う
・Matlabにお布施

ちなみにGotoBLASとMKLは同程度のパフォーマンスのようです。
763名無しさん@お腹いっぱい。:2009/02/16(月) 11:07:25
>>762
C:\Program Files\MATLAB\R2008a\bin\win32

blas.spec
には
GenuineIntel Family * Model * mkl.dll mklcompat.dll # Intel processors
AuthenticAMD Family * Model * mkl.dll mklcompat.dll # AMD
とありますからMATLABはMKLを使ってます
逆に言うとMKLを導入してもMATLAB程度です
764名無しさん@お腹いっぱい。:2009/02/16(月) 13:20:48
Cygwin介す場合が遅すぎるだけな気がする
765octave for windowsメモの筆者:2009/02/16(月) 15:38:46
>>764 cygwin のblasってATLASじゃないとおもいまね。
かなり昔,mingwでliboctaveだけビルドできた時,行列計算にATLASをつかうと
(もちろんコードはliboctaveを使ったstandalone C++ですが。)
mingwとcygwinで差は,出ませんでした。
まあ,cygwinならoctaveビルド簡単だし,
マルチスレッド対応のテキサス州立大学の
GotoBLASを使う(無料、自由配布不可)

もcygwin上ならできるのでそこでどうなるかでしょうね。

Core2Duoのマシンのない私には無縁ですが^^;

HT Pentium(3.4GHz)だからそれでどれくらい,sse2なATLASとどこまで
向上するか比較できます。
766octave for windowsメモの筆者:2009/02/16(月) 16:04:11
>>762
>・マルチスレッド対応のテキサス州立大学のGotoBLASを使う(無料、自由配布不可)

この場合,
octaveを自分でビルドする必要があるわけですね。

gcc-4.3.2-dw2-TDMのmingwでoctaveを構築(3.0.4RC3)したら,左除算がハングって
なぜ????

mingw-gcc-3.4.5なら何とかビルドできますが,いまさらgcc-3ってのもねと
おもっています。

Linuxを入れてgotoBlasてのもいいんかなとおもいますね。

職場から出るときにATLAS仕込んで帰ってやってみます。

767octave for windowsメモの筆者:2009/02/16(月) 16:18:05
>>761
Octaveで行列型のデータつくってはきだして
gnuplotのcontourにお任せするのはどうですか。
3Dのグラフの等高線図はgnuplotで書きますから。
たしかMATRIX型のデータも扱えるはずですよ。
どうやって等高線を引くのかアルゴリズムはしりませんが,
gnuplotはソースコード公開しているからその気になれば
読めばわかると思います。
768octave for windowsメモの筆者:2009/02/16(月) 18:44:26
>>766 自己レスです。意味不明な文章になっているので。<m(__)m>
帰りにコンピュータを走らせcygwinで自分のCPUにあわせたatlasを構築して,
そのATLASを使ってcygwin上でoctaveをビルドして,
MSVCのSSE2のCPUのATLASとの比較をして見ます。

という意味です。すみません。<m(__)m>


769761:2009/02/16(月) 22:48:04
>>767 返信ありがとうございます!
わたしの質問の仕方がまずかったようです。出力したデータの等高線を描くのは問題ないのですが、
そのデータを出力する際に、

for xi = (1:5) * 25.0 / 5.0 - 10.0
for yi = (1:5) * 25.0 / 5.0 - 10.0
c = [1; xi; yi];
a = A * c;
b = 1.0 ./ (1+exp(-a));
z = sum(b);
printf("%f %f %f\n", xi, yi, z);
endfor
endfor

としているのですが、これより速く動作する(octaveらしい)書き方がありますか?
という意味でした。分かりにくくてすみませんでした。

特にfor文で回すのではなく、他の言語(SciPy, RubyのNArray)で使えるような
3次元行列を使う方法があれば嬉しいと思っています。
770octave for windowsメモの筆者:2009/02/17(火) 19:16:55
>>762

MSVC
MFLOPS = 1845.9

mingw (Benjamin さんのもの)
MFLOPS = 1973.0

ATLA3.8.2を自分のコンピュータ用にcygwinでビルドしてこれをつかって,
mingw-4.3.2-dw2-TDMでoctave-3.0.4RC3をビルドしたもの
MFLOPS = 4830.2

(mingw 4.3.2でのビルドがReference Blasだとうまく動かなかったのが
Atlas使ったらあっさり動いた。なぜ!!)

私のコンピュータはHT-PentiumなのでCore2Duoまでは行かないでも,
マルチスレッドですから,やはり専用にATLASかけるとかなり違いますね。
Core2Duoならどうでしょうか?

ATLASの威力をフルに発揮させるにはやはりoctaveを自分でビルドしないと
だめですね。

octave for windowsメモにmingwで自分でビルドする方法でも書いたほうが
いいのかな。

goto blasもためしてみたいですね。
771octave for windowsメモの筆者:2009/02/17(火) 19:30:43
>>769 すいません。思いつきません。
<m(__)m>
Octaveは現在3次元とは言わず,
多次元行列サポートしてますんで,頑張ればできるんではないかと^^;
772名無しさん@お腹いっぱい。:2009/02/17(火) 20:00:29
>>770
おおすごいですね
MSVCで2GFLOPSだとCore2duo 2.1GHz並ですか
ATLASで5GFLOPS近くもすごい
MSVC版は作者の使ってるマシンのCPUで最適化してるから
キャッシュ容量とかの差で、セルフビルドしたATLASと差が出るのかもしれません

こちらでもAtom 1.6GHzのネットブックに
FreeBSD7.1RのPackagesで入れたOctave 3.0.2で、0.17GFLOPSだったのが
Portsでatlas-3.8.2をmakeした後に、Portsでoctave-3.0.3をmakeして測ったら0.81GFLOPSでした
3万円ぐらいのネットブックでこんだけ出れば十分です
773octave for windowsメモの筆者:2009/02/18(水) 09:13:35
>>770 >>772
家のパソコン1.2GHzのCeleron Mでやってみました。
MSVC 3.0.3 367 MFLOPS (sse2,Michael)
mingw 3.0.2 830 MFLOPS (see2,Benjamin) 
mingw 3.0.4RC3 1110 MFLOPS (sse2, ATLAS3.8.2を自分のパソコンで作成)

やはり,自分の使っているCPUでATLASかけたほうがいいですね。
Celeron Mは,意外に速いのですが,MSVC版とmingw版ではHT-pentiumでは
差が少ない飼ったのですが, Celeron Mではかなり差がありますね。
実際に ATLASをかけられたCPUとCeleron Mとのコードの最適化の
相性でしょうね。

P行列計算が関係のない,硬い微分方程式の解析でもmingw
Octave版の方msvc版よりかなり速いです。
mingw版はサポートしているforgeが少ないですが,私はforgeを
つかっていないのでデメリットにはなりません。
GCCも入っているのでmkoctfileのために,Msvc 2008 Expressを
入れる手間を考えると私は,Benjamin版を使っていました。

しかし,これからは自分でビルドしたものを使います。
774名無しさん@お腹いっぱい。:2009/02/18(水) 13:03:57
>>769

こんな感じでいいのかな?

x = (1:5) * 25.0 /5.0 - 10.0;
[X,Y] = meshgrid(x, x);
c = [ones(length(x).^2, 1), X(:), Y(:)];
a = A * c';
b = 1.0 ./ (1+exp(-a));
z = sum(b);

result = [X(:), Y(:), z'];

for i = 1:length(x).^2
printf("%f %f %f\n", result(i,:));
end
775octave for windowsメモの筆者:2009/02/18(水) 13:05:10
>>770 >>772 >>773
大学のパソコンでcygwinでやりました。ATLAS演算は,予想通りほぼ一緒でした。
MFLOPS = 4749.2
とにかく,windows上でお金をかけずに行列計算をそこそこ高速でやりたい人は
自分でATLASからビルドするということがとりあえずのまとめですね。

goto BLASでどうでるかですね。これは,再配布禁止なので,
自分でビルドするしかないですよね。

776octave for windowsメモの筆者:2009/02/18(水) 17:31:53
octave-3.0.4RC4がでました。

ttp://www.nabble.com/3.0.4-RC4-to22073703.html#a22073703

これで最後のRelease Candidate (RC) だと思いますが^^;
777名無しさん@お腹いっぱい。:2009/02/18(水) 20:43:39
>>774 ありがとうございます!XとYの長さが同じ時はこれで完璧ですね。
なるほど、X(:), Y(:)で列ベクトルにして値をもっちゃえばできたんですね、
勉強になりましたm(_ _)m
778名無しさん@お腹いっぱい。:2009/02/19(木) 09:40:55
Octave 3.0.3をcygwinでmakeすると
libcxsparse.a
でこけますね
3.0.2でやればいいのかな
779octave for windowsメモの筆者:2009/02/19(木) 14:25:20
>>778 SuiteSparse3.2.0になってますか。
なんか,g77とgfortranが互換性がないため,
gcc-4を使うためには,SuiteSparseを最新版にする必要があります。

ちなみに私は,SuiteSparseは自分でビルドして使っています。
自分のコンピュータ用にオプション入れていますので
-O3 -fomit-frame-pointer -march=1686 -mmmx -msse3

自分でcygwinでビルドする場合にはcs.hにパッチをあてる必要があります。

--- cs.h.org/cs.h 2007-05-18 21:12:04.000000000 +0900
+++ cs.h 2007-08-15 04:10:12.078125000 +0900
@@ -17,7 +17,11 @@
extern "C" {
#else
#ifndef NCOMPLEX
+#ifdef __CYGWIN__
+#define I 1.0I
+#else
#include <complex.h>
+#endif
#define cs_complex_t double _Complex
#endif
#endif


780octave for windowsメモの筆者:2009/02/23(月) 13:04:07
ATLAS(3.8.2)の組み込み(Windows版cygwin,mingw)の簡易メモ
そのうち自分のページに書くつもりですが,その前に
ATLASのビルドは,cygwin上で行う。(mingwでは無理)。
ATLAS(3.8.2)はgcc-3とgcc-4では違うコードを吐く。octaveでgcc-4でのビルドが
よいので,gcc-4でのビルドがいい。cygwinのgcc-4は,gcc-4.exeとgfortran-4.exe
を使うが,ATLASはgccとgfortranでないと動かない。gcc-3のgcc.exeをgcc-3.exe
のようにリネームして,構築する。
外部ライブラリではcygwinでは,setup.exeでインストールし,mingwではBenjamin
さんのライブラリを拝借するのがはやい。
まずは,ここまで。


781octave for windowsメモの筆者:2009/02/23(月) 13:15:46
>>781
すでにあるLapackは使えないので,
適宜,CC,F77,CXX,CFLAGS,FFLAGS,CXXFLAGS,CPPFLAGS,LDFLAGSを定義して
(これが結構面倒なんだが^^;)
./configure --with-blas='-L/usr/local/atlas/lib -lf77blas -lcblas
-latlas' --without-lapack
で構築する。外部のLapackをつかうと使っているblasが違うのでうまくいかない
,octaveのソースにあるLapackを使うのが簡単。それで--without-lapackを
つかって./configureをする。
分かる人にはこれでわかるはず。わからない人には,暇になったら丁寧に書くの
でお待ちを。
782octave for windowsメモの筆者:2009/02/23(月) 13:30:14
>>780 推敲がいい加減だな。<m(__)m>

途中の文章を以下に訂正。

cygwinのgcc-4は,gcc-4.exeとgfortran-4.exe という名前だが,
ATLASはgcc.exeとgfortran.exeでないと動かない。gcc-3のgcc.exeをgcc-3.exe
のように退避して,gcc-4.exeとgfortran-4.exeをそれぞれ
gcc.exeとgfortran.exeにしてATLASを構築する。

>>781
mingw-gcc-4.3.0-dw2-TDMでは,C++のdllライブラリlibstdc++_tdm_dw2_1.dll
を使えるので.octファイルのサイズを抑えることができる。
CXXFLAGSの先頭にに-D_DLLをLDFLAGSの先頭に,-shared -shared-libgccを
加える。

今日はここまで。
783名無しさん@お腹いっぱい。:2009/02/24(火) 18:30:30
Octave-3.0.4 RC5がでました。予想外に3.0.4のリリース苦戦している模様。
これが最後のRC版になればいいのですが,

ttp://www.nabble.com/octave-3.0.4-rc5-td22177145.html
784octave for windowsメモの筆者:2009/02/25(水) 08:05:40
>>783 Plot周りのバグの指摘にJaroslav Hajekさんがきづいていなかったようで
Jwe氏より待ったがかかりました。3.0.4のリリースは遅れそうです。

私としては通常の使用では3.0.3で十分なので,無理して急ぐことはない
と意見をかきこんでいます。

しばらくは,3.0.2または3.0.3を使いましょう^^;。

785名無しさん@お腹いっぱい。:2009/02/28(土) 01:18:02
matlabと完全互換でなくなったのは
何か理由があるのでしょうか?
786名無しさん@お腹いっぱい。:2009/02/28(土) 01:48:42
>>785
互換性はあると思いますよ
 MATLAB→Octave
は比較的
Octaveの変な方言を使うのをやめれば
 Octave→MATLAB
もスムーズになると思われます

変な方言とは具体的には

if A<=B,
endif ← end; にする

function F=func(x)
endfunction ←不要

#    ←コメントは %

if A<>B,
if A!=B, ← A ~= B だけ
787octave for windowsの筆者:2009/02/28(土) 13:22:51
>>785
元々からして完全互換を歌ったことははないですよ。

MATLABが変わっていったのに追いついていなかったというのが正しい認識だと思います。
Octave ver.3は、MATLABの仕様変更に対応して変わったという面があります。

私自身はMATLABを使ったことはなく、Octaveを使った講義でMATLAB互換を歌っていますのでMATLABの書籍は持っています。

最近のOctaveは、本格的なMex対応やplot周りなどは、最近のMATLABに仕様を変えつつありますし、互換性のあるコードが以前より書きやすくなっていると思います。
788名無しさん@お腹いっぱい。:2009/02/28(土) 16:19:08
>>787

「歌う」って「MATLAB互換ですよ〜♪」みたいなw

「謳う」じゃね?
789octave for windowsの筆者:2009/03/01(日) 06:21:24
>>788
うーん。そうっすね(^_^;)
790名無しさん@お腹いっぱい。:2009/03/04(水) 22:19:08
gnuplotへの直接命令(__gnuplot_hogehoge)がobsoleteになった、ということが
今一わかっていないのですが、とりあえず3.0系列ではplotするとgnuplotが起動
しますよね。んでterminalはx11になっているようなんですが、これを例えばwxt
にするにはどうすればいいんですか?
791octave for windowsメモの筆者:2009/03/05(木) 08:10:20
>>790
octaveで最初のplotをする前ににgnupotの環境変数GNUTERMを
変更しておけばいいです。
bashなら
$ export GNUTERM=wxt; octave
または,
share/octave/3.?.?/m/startup/octaverc
share/octave/site/m/startup/octaverc
~/.octaverc
のいずれかににputenv(GNUTURM,'wxt'); を書き込みます
要はgnuplotの起動時に環境変数で決まるターミナルの名前に変更します。
後から__gnuplot__set term wxt命令はハイレベルな関数plot()には
なにも影響を与えません。
砂悪
__gnuplot__plot__ 'hoge.dat'
などのような_gnuplot_hogehoge__で使うプロットにしか
影響を与えないということです

ハイレベルというのは,アセンブラとCとの関係でC
がアセンブラと比べて高い汎用性で動いているとです。
UNIXのOctaveでも環境さえ準備すればJhandleは使用可能です。
plotなどの関数はgnuplotでもjhandleでも動くので汎用性をもった関数で
なくてはならないので,ローレベルのgnuplot直接命令が汎用命令のplotに
影響を与えることはできません。
792octave for windowsメモの筆者:2009/03/05(木) 08:12:30
>>791
砂悪 は消し忘れです。すいません<m(__)m>。
793octave for windowsメモの筆者:2009/03/05(木) 12:32:03
>>791
書き忘れましたが,print関数でplotのファイル出力には
複数のファイル形式に対応してます。
詳しくは,help plotを参照してください。
上はgraphic backendにgnuplotを使った場合です。
Jhandleだとepsしか出力できません。
794790:2009/03/05(木) 13:50:03
"筆者"様、ありがとうございました。
795名無しさん@お腹いっぱい。:2009/03/05(木) 19:28:38
>>755
の続きで
Intel Core2Duo 2.1GHz, WinXP
マシンのcygwinでatlasをmakeして、octaveを再makeしてみました

現在までの結果は
MSVC, Octave 3.0.1  2.05 GFLOPS 
Cygwin, Octave 3.0.3  0.99 GFLOPS
で、
cygwinでAtlasをmakeしてみた結果は
Cygwin, Octave 3.0.3+Atlas 4.35 GFLOPS

これはすごい!。
>>762
のMSVC版の結果も合わせると
Intel Core2Duo 2.4GHz WinXPなら
Cygwin, Octave 3.0.3+Atlas 4.92 GFLOPS

ぐらいでしょうか。Matlabのシングスレッドの6GFlopsに匹敵します。
これでAtlasがマルチコアに対応すれば…

ちなみにcygwin上でのoctaveのmakeは簡単です
ttp://ftp.yz.yamagata-u.ac.jp/pub/cygwin/release/octave/
このcygwinで配布してるsrcを取ってきて、解凍して、同梱のpatchをあてて、configureしてmakeするだけです。
その前にAltasをmakeしてインストールして、/usr/local/atlas/lib の中にある*.a のシンボリックリンクを
/usr/local/lib に置くかどうかすれば、configureした時に見つけてくれます。
796octave for windowsメモの筆者:2009/03/06(金) 09:25:17
>>795 cygwinでoctaveつかうならaltas入れてgcc-4をつかって
自分でビルドするのがいいと私もおもいますね。
forgeはpkg installで必要なやつだけいれればいいので。
797名無しさん@お腹いっぱい。:2009/03/07(土) 20:06:18
というわけで、Intel Core2Duo 2.4GHzのCygwinにGotoBLASを入れてみました
入れたのは最新のバージョン1.26です。CBLASも必要。
そのあとにOctaveをmakeしなおしました(Makeconfを修正してGotoBlasを有効にする)
その結果は…

octave:2> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 1.0160
MFLOPS = 1.5748e+04

なんと15.75GFLOPSです。
>>762 >>795
の結果も合わせると、
Intel Core2Duo 2.4GHz, WindowsXP Proでは
Octave Cygwin版3.0.3   GFLOPS = 1.14
Octave MSVC版3.0.3    GFLOPS = 2.32
Octave Cygwin+Atlas   GFLOPS = 4.92
MatlabR2008a(MT OFF)   GFLOPS = 6.15 (MT: Multi Thread)
MatlabR2008a(MT ON)   GFLOPS = 10.33
Octave Cygwin+GotoBlas GFLOPS = 15.75
Cygwin版ノーマルと比べると15倍!この差は大きい
798octave for windowsメモの筆者:2009/03/09(月) 10:06:54
>>797

GotoBLAS恐るべしですね。これだとMACと同等以上でしょうか。
MacでもGotoBLASを使えってことでしょうね。
再配布が禁止なので,自分でビルドしないといけないのが難点かな。
mingwでも今度やってみます。

Makeconfを書き直されたそうですが。

私がatlasを使うとき行っている
./configure --with-blas='-L/hoge/atlas -lf77blas -lcblas -latlas'

という感じで行きませんかね。
799名無しさん@お腹いっぱい。:2009/03/09(月) 10:58:25
>>798
lapackはバイナリーのoctaveを入れた時に入ってるので

./configure --with-blas='-L/usr/local/lib -lgoto'

だけで拾ってくれました

それとMacで速かったのはAppleのBLASであるアクセラレーション・フレームワークが入っていたからで
GotoBlasを使うのなら、Cygwinで十分だと思います。

ちなみにGotoBlasは環境変数で
GOTO_NUM_THREADS=1
とすると、1coreだけで演算してくれますが、その場合は8GFlopsでした。
2coreで約15.5GFlopsですからスケーラビリティーはあると思います。
例えば、DELLのStudio Desktop Core2Quad(2.33GHz)・4GBメモリ搭載ハイエンドミニタワーが
販売価格 69,980円
こんななので、これで4core有効にすれば30GFlopsぐらい出るでしょう。

1GFlopsと30GFlopsの差はたぶんけっこうあって、体感的には30分かかる計算が1分で終わる感じでしょうか。
もしくは1GFlopsで1回に1分かかるベクトル演算を1万個のパラメータで計算すると1万分=1週間かかりますが
30GFlopsなら5時間半で終わります。まあとにかく差が大きいです。
Atlasで使う限りはその1/4以下の能力しか出せないと考えるとGotoBlasはなかなかいいです。
800octave for windowsメモの筆者:2009/03/10(火) 15:08:02
>>799
/configure --with-blas='-L/usr/local/lib -lgoto'

だけで拾ってくれました
ありがとうございます

>>770
HT-pentium4
mingw-4.3.2-dw2-TDMでoctave-3.0.4RC3をビルドしたもの
MFLOPS = 4830.2

GotoBLAS
MFLOPS = 5227.0
私のやつはHT-Pentiumだからかな。でもATLASより少しは速い。
ATLASはビルドに時間食うし自分でビルドするならGotoBLASに決まりですね!!。

801octave for windowsメモの筆者:2009/03/10(火) 19:37:56
>>800
キリ番ゲットしてたんですね<m(__)m>。
mingw(GCC-4.3.2-dw2-TDM)でもcygwinでビルドしたリブラリ使えます。
(できたlibgoto_(cpu name).a をlibgoto.aにコピーして,
適当な場所にいれ,--with-blas='-L/usr/local/lib -lgoto' でビルドする。)
MFLOPS = 5535.1
すこしですが速くなります。こりゃビルド方法をメモにかかんとあかんなあ。
しばしお待ちを<m(__)m>。
802名無しさん@お腹いっぱい。:2009/03/10(火) 19:59:18
>>801
MSVC版で使えると最高なんですがねぇ
GotoBlasのexports/というディレクトリーで

make dll

とやると、dllファイルが出来るんですけど
MSVCのbin/のlibblas.dllとリネームして置き換えても
cblasの関数が無いみたいなエラーが出てダメでしたね

GotoBlasとcblasをくっつけてdllをつくればあるいは…
という感じがしないでもありませんが
803octave for windowsメモの筆者:2009/03/11(水) 08:19:59
>>802
おそらくoctaveは将来,MSVC版はなくなりそうです。
というのはLapack 3.2はfortran90でかかれており,fortran90に対応した
f2cがないからです。
ttp://www.nabble.com/Octave---Fortran-continued-td20976664.html#a20976664
Michael(MSVC版の開発者)さんとBenjamin(Mingw版の開発者)のやり取り
を参照ください。また,行列計算以外octaveの計算速度はgcc-4.3以上を
使えばmingwの方が速いです。

clear;
function dx = oregonator_m (x, t)
dx = zeros (3, 1);
dx(1) = 77.27*(x(2) - x(1)*x(2) + x(1) - 8.375e-06*x(1)^2);
dx(2) = (x(3) - x(1)*x(2) - x(2)) / 77.27;
dx(3) = 0.161*(x(1) - x(3));
end
x0 = [ 4; 1.1; 4 ];
%t = [0, logspace (-1, log10(303), 150), logspace (log10(304), log10(500), 150)];
%t=linspace(0,500,1000);
t=0:0.5:500;
ts=cputime();
y = lsode ('oregonator_m', x0, t);
cputime()-ts
plot (t',y(:,1),"",t',y(:,2),"",t',y(:,3));

をやるとMsvc 3.0.3 1.6563s, Mingw 3.0.2 1.2188s, 4割程度mingw版の方が
速いです。私はjhandleを使わないのでmingw派です。

804octave for windowsメモの筆者:2009/03/11(水) 09:41:58
>>773 >>800
>1.2GHzのCeleron M
>mingw 3.0.4RC3 1110 MFLOPS (sse2, ATLAS3.8.2を自分のパソコンで作成)
でしたが GotoBLASでは900弱でした。
古いCPUの場合はATLASの方が速いですね。
805名無しさん@お腹いっぱい。:2009/03/11(水) 10:01:18
>>803
GotoBlasを入れて15GFlopsにしても、一部のプログラムでGotoBlas+Cygwin版が
2GFlopsのMSVC版よりも極端に遅い事があったのです。それで調べてみました

行列のベクトル積
MSVC
octave:1> A=randn(100);tic;for jj=0:1000;C=A*A;end;toc
Elapsed time is 0.938295 seconds.

Cygwin
octave:1> A=randn(100);tic;for jj=0:1000;C=A*A;end;toc
Elapsed time is 0.25 seconds.

Cygwinの方が4倍ぐらい速いしループのオーバーヘッドはほとんど無い

比較処理
MSVC
octave:2> A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;toc
Elapsed time is 1.797 seconds.

Cygwin
octave:2> A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;toc
Elapsed time is 40.28 seconds.

Cygwin版は比較処理が致命的に遅い!

一部の関数計算に比較処理を使うのですが、これが遅いと非常に困るんですよね
そういう意味でMSVC版のリリースは続けて欲しいのでう感じなのです。
それと自前でBuildしたlibgoto.dllを使えるようにして欲しいですね。
ちなみにMatlabだと1.68秒なのでMSVCとほぼ同じなんですが。
806octave for windowsメモの筆者:2009/03/11(水) 11:43:53
>>805
cygwinのgccはなにをお使いですか?
gcc-4を使わないと極めて遅いですよ。これはgcc-3の
有名なslowness issue of sjlj exception handling in cygwin gccに
よるものです。現在のoctave 3.0.3はgcc-4でビルドされています。
gcc-4はdwarf2 exception handlingですから,MSVCより遅いですがそれ穂ほどでも

gcc-4はcygwin set upから簡単に手に入ります。gcc-4でのoctaveのビルドは

ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#090131

をご覧ください。またこの場合,g77とgfortranがbinary互換
でないので,またGotoBLASもgcc-4でビルドしたください。
Makefile.ruleをのgccをgcc-4にgfortranをgfortran-4に
書き直してくださいね。

ちなみに私のPCで比べると
A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;tocは
2.464 seconds.(cygwin 3.0.3)
2.88553 seconds. (msvc 3.0.3)
2.32813 seconds (mingw 3.0.2)
msvcが一番遅いです
やはりmingw版が最速です。開発版ではoctave独自のMATLAB like
なgraphic backendを持つため(gnuplotも使えますよ)Jhandleが使えない
ことは開発版では問題ありません。スピードでいうならmsvcよりmingwが
速いです。ごれはgcc-4がmsvcより最適化性能に優れていることによります。
807名無しさん@お腹いっぱい。:2009/03/11(水) 13:34:46
>>806
gcc 3.4.4でした
そのうち4.xに入れ換えて試してみます

>開発版ではoctave独自のMATLAB likeなgraphic backendを持つ

3.1.xではそんな機能が入るんですか
808octave for windowsメモの筆者:2009/03/11(水) 13:58:51
>>801 Benjaminさんのexternal libraries ではうまくいきませんね^^;
アプリケーションエラーがでてしまいます。
あれ使えると楽なのになあ。
もう少しあがいてだめなら,私がビルドしたexternal librariesと
GnuWin32にexternal librariesでビルドする方法を書くとしますかね.

まだ,external librariesはgcc-3でビルド多くて多くがスタティックライブラリ
だから,この際新しいソースを手に入れてやってみます。
809octave for windowsメモの筆者:2009/03/11(水) 15:16:25
>>807
gcc-4は一応まだαリリースですので,gcc-4.exe,g++-4.exe…となっており,
gcc-3.4.4と共存が可能です。

>>開発版ではoctave独自のMATLAB likeなgraphic backendを持つ
>3.1.xではそんな機能が入るんですか
まだ,開発途中ですけどね。今見てみるとあまりMATLAB likeではないですね。
OpenGL/FLTK graphics backend. This backend
can be enabled with the following commands:

input_event_hook ("__fltk_redraw__");
__init_fltk__ ();
set (0, "defaultfigure__backend__", "fltk");

OpenGLつかっているので3Dでご利益があるのかな。
いまのところは使い物にはなりませんね。
jhandleは生き残るのかな。gnuplot派なのであまり興味ないですが^^;

810Octave + GotoBLAS (Cygwin上):2009/03/12(木) 02:57:54
Cygwin 上での Octave バージョン 3.0.3 + GotoBLAS のインストール手順を
書いてみました 

http://133.5.18.167/rinkou/octave/octavemake.html

※ 今は gcc バージョン 3 にしています.そのうち gcc バージョン 4 にしたいと思っています.

お役に立ちたい,とは恐れ多いですが,フィードバックが欲しいので
(なかなか,ご返事できないかも知れないのはご容赦ください).
811octave for windowsメモの筆者:2009/03/12(木) 08:10:41
>>810
大変丁寧に書かれていていいと思います。
gcc-4を使うと現在のSuiteSparse(3.2.0)はgcc-4でビルドしてあるので
バイナリがそのままが使えます。

また,SuiteSparseのoctave用ライブラリを作成するだけならビルドに
GotoBLASは不要です。checkができませんが。octaveでチェックすればいいので)

octave-3.0.4RC5では,liboctave/CSparse.ccなどへのパッチは不要でした。
ただし,プロットに致命的なバグがあり,別のパッチが必要ですが^^;
octave-3.0.4RC5はホームページにはなく,octave-maitainersのMLの
スレッドを探せば見つかります。(パッチも)

なお,MetisとGotoBLASは再配布不可なのでビルドしたバイナリを人にあげる
ことはできないことを明記してくださいね。
ここら辺は,欧米人は当然ですがうるさいので。
812octave for windowsメモの筆者:2009/03/12(木) 12:00:07
>>810

cd /usr/local/bin
cp *.dll /usr/lib
は不要です。Unixの.soと違いwindowsの場合dllは,
そのdllを使うexeファイルと同じディレクトリかpathのとおったディレクトリ
に入れます。したがって/usr/local/binにあればよろしいので,libにコピー
しても意味はありません。/usr/libにおくのはlib??????.dll.aです。
813octave for windowsメモの筆者:2009/03/13(金) 07:51:33
>>811 すいません。 SuiteSparseはblasにあわせてビルドしなおす
必要ありかもしれません。

814octave for windowsメモの筆者:2009/03/13(金) 14:50:26
GotoBLASだと
make checkで引っかかりますね。ウーム。

test_sparse.m ..........................................panic: Segmentation violation
-- stopping myself...
ATLASは家では成功したんですがね。
すこしかかりそうですね<m(__)m>
815octave for windowsメモの筆者:2009/03/13(金) 17:00:59
なんかコンピュータがおかしいと思っていたらメインのファンが回って
いなかった(T_T)
良く壊れなかったもの。ふた開けてUSB扇風機で冷やしています。
まあこれでいいかな。
>>800 は
>mingw-4.3.2-dw2-TDMでoctave-3.0.4RC3をビルドしたもの(ATLAS)
>MFLOPS = 4830.2
はMFLOPS = 4923.1になりちょっとあがりました。
Lapackのパッケージを使うと左除算がうまくいかず今は--without-lapack
でoctaveにはいっているサブセットのLapackでやると左除算がうまくいく。
GotoBLASにlapack-3.1.1へのパッチが入っているので
これを使わないといけなのいかも

また,GotoBLASの説明をよく読むとHyper ThreadingではPerformanceは出せないの
で物理コアの数で利くみたいですね。たしかにSMP=1として,並列Threadで
GotoBLASでやってみたけどほとんど変わらないですね。それだったらシングル
ジョブを2個立ち上げたほうが効率いいかなですね。
816octave for windowsメモの筆者:2009/03/13(金) 17:05:02
>>810
Octave + GotoBLAS (Cygwin上)に私のページからリンク張ってもいいですか?


817Octave + GotoBLAS (Cygwin上):2009/03/14(土) 15:33:08
810 の投稿者です.
「octave for windows メモの著者」様,コメント,ご意見,ご示唆ありがとうございます.

個別にご返事せず,済みません.Web ページの改訂を行いつつあります.お陰様で,よい Web ページができそうです.

私が,掲示板の新参者で,「ずいぶん,厚かましいお願いをしてしまった」と恥じています.Web ページずいぶん細かく見ていただいてありがとうございます.

「私のページからリンク」は,もちろんOKです.名誉です.
事後報告で申し訳ないのですが,私の方からも,リンクを張り,相互リンクをお許しいただけますでしょうか? 

Web ページは,もう少し見直しを続けます.
GotoBLAS を見つけ,Octave に組み込んだとき,「こんなに速くなるのか」と感動しました.私は初心者なのですが,少しでもお役に立てればと思っています.
818octave for windowsメモの筆者:2009/03/16(月) 07:57:46
>>817
相互リンクの件了解しました。よろしくお願いします。
819octave for windowsメモの筆者:2009/03/16(月) 13:42:41
>>817
ATLASについて

http://math-atlas.sourceforge.net/errata.html#winpt
を見てください。cygwin上ではThreadの数のauto detectができないと
かかれています。

(eg., I add -t 4 to my Core2Quad configure command).

他にも直す点がありそうです。しかし,GotoBLASに勝てるかは
わかりませんが,ATLASのマックスの性能をだすにはこの点を指定する
必要がありそうです。
820octave for windowsメモの筆者:2009/03/16(月) 18:21:48
>>819 うーむ。やって見たのですが。-lpthread以外になんかオプションが必要なのかな!

octave.exe:1> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
assertion !pthread_mutex_lock ( &(ROOT->mutex) ) failed, line 74 of file /home/atlas/atlas3.8.2-gcc4.3.3-2/../ATLAS3.8.2
//src/pthreads/misc/ATL_signal_tree.c

export LIBS='-lstdc++ -lg2c -lpthread'
../../octave-3.0.3/configure --prefix=/usr/local/octave-3.0.3a --with-blas='-lptf77blas -lptcblas -latlas'
821Octave + GotoBLAS (Cygwin上):2009/03/17(火) 01:38:34
817 の投稿者です.
Atlas + Octave 3.0.3 (Cygwin 上) やってみました.
・インストールの手順を書いてみました
  http://133.5.18.167/rinkou/cygwin/atlas.html
・「-t 2」有りと無しで,性能の差が出ないので,力尽きました.残念.
 (私が素人なのでいけないのですが)(うまくいくと面白いんだけどなあ)
822Octave + GotoBLAS (Cygwin上):2009/03/17(火) 02:56:37
821 の投稿者です.ミスがありました.次のように訂正します.
(済みません).

私が書いた「Atlas + Octave 3.0.3 (Cygwin 上) インストール手順」
http://133.5.18.167/rinkou/cygwin/atlas.html
では:
■ Octave の make check が通らない 
  (src/syscalls.cc のエラー.力尽きて,原因が分かっていません).
■ 「-t」無しは 1.57 秒.「-t 2」は 0.87秒
CPU: Intel Core2 Duo E8500.
   x=rand(2000,2000); y=rand(2000,2000); tic(); z=x*y; toc()
ATLAS のことを分かっている人が,4コア以上の CPU を使うと,最高速
を叩き出せそう,と感じています.(私の力及ばず).
823Octave + GotoBLAS (Cygwin上):2009/03/17(火) 03:41:07
821 の投稿者です.
(再び,自己フォローです.済みません.確かめもせず,投稿している私がオッチョコチョイです.最新情報です)

■ ATLAS の configure の引数
../configure -t 2 -b 32 -D c -DWALL --prefix=/usr/lib/atlas --with-netlib-lapack=/tmp/lapack-3.2/lapack_LINUX.a
-t 2 は,「コア数が2個」というような意味
■ Octave の configure の引数
CC=gcc-4 CXX=g++-4 F77=gfortran-4 ./configure --prefix=/usr/local --with-blas="-L/usr/lib/atlas/lib -lptff77blas -latlas -lpthreads" --with-lapack="-L/usr/lib -llapack_LINUX -ltmglib_LINUX"

これで,Octave の make check は通過.

CPU: Intel Core2 Duo E8500 の場合
・「-t」無しは,およそ 1.57〜1.60秒
・「-t」の場合,およそ 0.85〜0.87秒
   「n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6」の結果,
MFLOPS=1.8868e+04
と出てきます.
※ 819 番のご投稿に「>> 817」とありましたので,少しがんばってみました.




824octave for windowsメモの筆者:2009/03/17(火) 10:03:35
>>823 すばらしい
Octave Cygwin+GotoBlas GFLOPS = 15.75

MFLOPS=1.8868e+04

おお!,ATLASは手間がかかりますが勝ってますね。
ATLASもいつのまにか3.8.3になってますね。
HPを参考に再チャレンジします。

あと,GotoBLASはcygwinで構築したliblapack.a
(lapack_LINUX.aをリネームしたもの)を使うとmingwで正常に動きました。

mingwのライブラリキットのリリースを手がけます。一部はまだ,gcc-3.4.5
でビルドしていますが,動作するのでとりあえずあげるのを優先します。
(ぼちぼち再構築します。)

825octave for windowsメモの筆者:2009/03/17(火) 16:27:41
>>822

GNU FORTRAN コンパイラ・バージョン 3 を使うと,LAPACK バージョン 3.2 がうまくビルドできないことがあります(例えば,下記の通りです.状況によってエラーメッセージが変わります). 原因は不明です.

ttp://www.netlib.org/lapack/lapack-3.2.html
の7. Install Procedureに
LAPACK-3.2 now requires a FORTRAN 90 compiler. (Do not try to compile with g77 or other 77 compilers.)

となっており,GCC-3のfortranはFortran 77ですから使えないのです。
いまやGCC-3はObsoleteです。Octave もDevelopment branch (3.1.x)ではGCC-3では
ビルドできません。というわけで,cygwinでもgcc-4に移行の最中なのです。

gcc-4 cygwinはついこないだ4.3.2-1のalphaバージョンから4.3.2-2の
betaバージョンになりました。

正式版がでたらgcc-4がgccになると思います。

826Octave + GotoBLAS (Cygwin上):2009/03/18(水) 12:44:31
>> 824, 825
ご親切に,ご教示ありがとうございます.確かに,gcc-4 が今後の主流だと思います.
 (Web ページは,別の面からみても,表現が不適切でしたので,見直しつつあります).

Windows は MinGW + Octave の方が,CYGWIN よりも需要が多い,と思いますので,
MinGW 版のリリースに期待している人は多いと思っています.

さて,もう1度実験してみました.
ソフト: Octave 3.0.3 + ATLAS (Cygwin)
ハード: Intel Core2 Quad Q9550 のマシン
x=rand(2000,2000); y=rand(2000,2000); tic(); z=x*y; toc()
⇒ 0.566〜0.578秒
 ※ 詳細は http://133.5.18.167/rinkou/cygwin/atlas.html
※ インストールに慣れている人でしたら,もっと速くなるような気がします.
827名無しさん@お腹いっぱい。:2009/03/18(水) 19:06:51
>>797>>805 の者です
gcc-4, g++-4, gfortran-4で、Gtoblas, Cblas, Lapack3.1.1, SuiteSparse3.2をmakeしなおした上で
octave-3.0.3をやっとmakeしました。
つまづいたのは libstdc++.dll.a で、エラーの理由はよくわからないのでリネームして隠し
それでもSuiteSparseでエラーが出るので色々やった結果
(octave-3.0.3-1.src.patchをあてたのが効いたか、SuiteSparseのincludeファイルもインストールしたのどちらか)
どうにかmakeに成功したました。

マシンは自宅の Intel Core2Duo 2.1GHzです(2.4GHzマシンの12%落ちぐらいの性能のはず)。

octave:1> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 1.32200
MFLOPS = 12102.9

約12GFlopsでした。まあまあですね。
それで問題の比較演算なんですが、

octave:1> A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;toc
Elapsed time is 2.245 seconds.

一方、MSVCだと

octave:1> A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;toc
Elapsed time is 2.42354 seconds.

で、ほぼ同じ。これでやっと使えるようになりました。ありがとうございました。
828名無しさん@お腹いっぱい。:2009/03/18(水) 19:26:05
>>824
その15.75GFlopsのは、Core2Duo 2.4GHzなのですが
Atlasの1.8868e+04MFlopsのは、Core2Duo E8500=3.16GHzなのです

なので、おそらくgcc-3を使ってGotoBlasで測定すると
2.4:3.2=15.75:X
でX=3.2*15.75/2.4=21GFlops
ぐらいになるはずです

それでAtlasの約19GFlopsというのはそれよりも若干低いわけですが、
このレベルになるとそれはもう細かい話で、再配布可能な点を考えれば
Atlasは十分実用的だと思われます。
829名無しさん@お腹いっぱい。:2009/03/18(水) 19:55:27
長い行列などをless表示ではなくコンソールに残したまま表示することってできますか?
長めの出力を交互に見比べたいときにqで消えてしまうので不便です
830名無しさん@お腹いっぱい。:2009/03/18(水) 19:57:15
829です。環境はwindows版です。
ここしかOctave関連が見つからなかったので質問しました。
よろしくお願いします。
831名無しさん@お腹いっぱい。:2009/03/18(水) 20:25:38
>>829
more off
としてください
832octave for windowsメモの筆者:2009/03/19(木) 08:51:45
>>829 >>830 >>831

この場合コンソールのバッファを増やしておくとよいでしょう。
スクリーンのoctaveのアイコン右クリック→プロパティ→レイアウト
→画面バッファのサイズ→高さ

変更すると確認の画面で
このウインドウを起動したショートカットを変更する
で設定を保存してください。

この高さの値をたとえば9999とかにしておくとlessなしでも結構いけます。
833octave for windowsメモの筆者:2009/03/19(木) 08:59:11
>>828 ありがとうございます。GotoBLASの方がいい場合が多いが
配布に関するライセンスの問題があり,その点ではATLASがいいという
ことでしょうね

GotoBLASのライセンスはテキサス大学の Texas Advanced Computing Center
ものなので仕方ないのでしょうね。

834octave for windowsメモの筆者:2009/03/19(木) 09:38:49
ここも800番超えたしそろそろ次スレたてを考えないととはおもうのですが。
>>439 次スレからはプログラム板に立てるか。
>様々なプラットフォームに対応しているプログラマブルな
>ソフトがUNIX板にあるというのがおかしい。

というような意見があるので,
ソフトウェア板
あたりなのかな。
タイトルは
「データ解析ツールoctaveを語ろう2」

octaveはデータ解析ツールだけでないので
シンプルに
「octaveを語ろう2」なのかな。
835名無しさん@お腹いっぱい。:2009/03/19(木) 10:03:21
>>834
UNIX板でいいと思います
そもそもインストールネタしか無いぐらいの過疎スレですから
あっちこっち動き回るのは得策とは思えません

言語の内容的な論議はシミュレーション板やプログラム板のMatlabスレにまかせて
導入方法や、高速化などに特化した方がいいと思います
836octave for windowsメモの筆者:2009/03/19(木) 11:02:28
>>835
なるほど。まあ,ビルドねたになるとwindows上でもMSYS+mingwやcygwin
などのUnixyなツールでやるわけで,Visual Studio云々にはなりませんよね。
最近やり取りしたGOTOBlasやATLASネタもUnix上の方がすこし便利というくらい
の話で基本は同じですからね。

データ解析ツールoctaveを語ろう2
でもいいですかね。名前よりもないようですからね。名前変えると
検索とかで大変ですからね。

837名無しさん@お腹いっぱい。:2009/03/19(木) 15:48:25
行列演算を高めたOctaveで何が律速になってるのかのテスト
マシンはIntel Core2Duo 2.4GHz

MATLAB 7.6.0 (R2008a)
>> tic;for jj=0:10000;end;toc
経過時間は0.000066秒です
>> A=randn(200);tic;for jj=0:10000;B=(A>0);end;toc
経過時間は3.358699秒です
>> A=randn(4000000,1);tic;for ii=1:4000000,if A(ii,1)>0,end;end;toc
経過時間は0.118251秒です

Octave 3.0.3 (MSVC) ← BLASの関係しない演算なので
octave:1> tic;for jj=0:10000;end;toc
Elapsed time is 0.0079 seconds.
octave:2> A=randn(200);tic;for jj=0:10000;B=(A>0);end;toc
Elapsed time is 5.9 seconds.
octave:3> A=randn(4000000,1);tic;for ii=1:4000000,if A(ii,1)>0,end;end;toc
Elapsed time is 52.8131 seconds.

一番目はループテスト。tic,tocの誤差程度の差。
二番目は比較演算。Matlabより1.6倍遅い。けどそんなにひどくも無い。
三番目はif文。Matlabより50倍遅い。ここが明らかに律速。

Cygwin番のifはさらに1.5倍程度遅いもよう。
なので、if文は使わないようにして、比較演算に置き換えるべき。
838octave for windowsメモの筆者:2009/03/19(木) 17:06:12
>>837

フーム。なるほど。loop自体よりよりifが遅いってわけですね。
これはためになる。
MATLABが速いのはJIT(Just In Time)コンパイルしてるからだそうですね。
でもloopの速度の改善がそれほどないことを考えると完全なバイナリじゃなく
中間コードぐらいかな。octaveもscirptをロードするときには中間コードには
しているらしいけどそのレベルがちがうんでしょうか。

MATLABもっていない人の発言なのであくまでも推測でしかありませんが。

839名無しさん@お腹いっぱい。:2009/03/19(木) 17:39:24
ifのやつパイプラインがどのくらいストールしてるか知りたいですね。
840名無しさん@お腹いっぱい。:2009/03/19(木) 18:11:50
>>838
いや、400万回の空ループ(3番目のif文のテストに相当)を回すと
MATLABで0.01秒
Octave-MSVCで2.22秒で
200倍以上差があるんですけど、
それだけのループの中でやる演算にかかる時間に比べれば
ループのオーバーヘッドは無視出来るって事ですね
JITがどうのというのは、たぶんその程度のの差です

比較式については以下の例をあげます

100x100の行列の全要素を調べて正なら1、違ったら0の行列を返す場合
if文なら
A=randn(100);for ii=1:100,for jj=1:100,if A(ii,jj)>0,B(ii,jj)=1;else,B(ii,jj)=0;end;end;end;
MATLABで0.01秒、MSVCで0.36秒です

比較式で同じ事をした場合
A=randn(100);C=(A>0).*1;
でよくて
MATLABで0.0004秒、MSVCで0.0008秒です。
同じA行列で計算した後にB-Cするとゼロ行列が返るので同一の結果のようです。
841octave for windows メモの筆者:2009/03/21(土) 15:30:55
ウーム。MinGWでの高速行列計算用octaveのビルドは苦戦中。

GotoBLASは、make checkのtest_sparseでsegmentation violationでこける。原因不明。

ATLASのマルチスレッドは、posix threadを使うのでcygwin上でないと動かない。

MinGWでは、今のところシングルスレッドのATLASしか動かない。まあ、これでも、バイナリ配布のoctaveよりも行列計算速度はかなり改善するので、ライブラリキットを出す意味はあるかな。

今のところ、マルチコアのCPUの利点をWindowで使うにはcygwinということですかね。

となると、やはり、計算はwindowsよりもunixがいいような気がしてます。unix屋さんにはそんなの当然といわれそう(^_^;)。

まあ、もう少しMinGWであがいてはみますが。
842Octave + GotoBLAS (Cygwin上):2009/03/22(日) 02:26:32
>> 841

■ Octave の configure の引数

ATLAS のマルチスレッド・ライブラリを使って,Octave を make するとき
Octave の configure の引数を調整できるようです.
例えば,普通の CBLAS でなくて,ATLAS の libptcblas.a をリンクすることができます
(→この方が望ましい)

CC=gcc-4 CXX=g++-4 F77=gfortran-4 ./configure --prefix=/usr/local --with-blas="-L/usr/lib -L/usr/lib/atlas/lib -lptcblas -lptf77blas -latlas -lpthread" --with-lapack="-L/usr/lib/atlas/lib -llapack"

※ 口出しだけで,実行が伴っていなくて済みません(MinGW の環境を作るスキルがないもので).
  あわよくば,解決のヒントになれば良いなと思いまして,書き込みました.
843Octave + GotoBLAS (Cygwin上):2009/03/22(日) 02:29:18
842 の投稿者です.
済みません.「841」の内容は,すでに 820 で投稿済みでした.申し訳ない.
844Octave + GotoBLAS (Cygwin上):2009/03/22(日) 02:31:57

---
842 の投稿者です.
済みません.「841」の内容は,すでに 820 で投稿済みでした.申し訳ない.
---
       ^^^
[842」の内容は,すでに 820 で投稿済みでした.申し訳ない.
このように訂正します. 恥の上塗りで,申し訳ないです.
845octave for windowsメモの筆者:2009/03/23(月) 12:39:28
Octave + GotoBLAS (Cygwin上)様
貴兄のページで気になった点を
すいません。/usr/localでなく/usrにインストールすれば
以下の作業は不要です。
cp /usr/local/lib/octave-3.0.3/lib* /usr/lib

/usrにインストールするにはconfigureで
./configure --prefix=/usr (... other options)

prefixを指定します。

また,octaveはpkg-configは使いません。独自のshell script octave-configを使います。
そこで,prefixの値を変更すればいいのですが。
これは他のソフトからoctaveのライブラリを使う場合に
octaveのインストール情報を探るのにconfigureやmakeから参照されるとき
つかう物なので用途がないときは触らないで結構です。

cp /usr/lib/libctave.dll.a /usr/lib/liboctave.dll.a
ですがこれは,libctave.dll.aがMacroさんのミスなので
mv /usr/lib/libctave.dll.a /usr/lib/liboctave.dll.a
が妥当です。
846octave for windowsメモの筆者:2009/03/23(月) 12:40:28
>>845
私は試験的にいろいろを作成するため prefixを
--prefix=/usr/local/octave-3.0.xx.yy
のように指定してます

xxはバージョンでyyは自分で決める識別子です。頻繁に使うときはaliasを使って

alias octaveyy='/usr/local/octave-3.0.xx.yy/bin/octave'
を.bashrcに書き込みます。
ライブラリのコピーなど。この方法の利点は(もちろん欠点もありますが),
アンインストールが/usr/local/octave-3.0.xx.yy をexplorer削除する
だけでいいからです。
ソースのイメージを消しても同じprefixでconfigureして,make uninstall
すればいいのですが面倒なので^^;。
無論これはoctaveのバージョンをいろいろ作成する人以外には面倒なので
あまりすすめませんが。試験的にやるときにはいいですよ。

847octave for windowsメモの筆者:2009/03/23(月) 12:55:45
ソースコードからコンパイルするときのヒント(メモ)
(参考) Cygwinのソースパッケージを使わないというときは,下記の手順で,ソースコードを書き換えてください(バージョン 3.0.3 の場合)

ですが
3.0.4のback portをするともっとシンプルです。
sparse-util.hの以下を
extern OCTAVE_API void SparseCholError (int status, char *file,
int line, char *message);
extern OCTAVE_API int SparseCholPrint (const char *fmt, ...);

*****
// FIXME this overload is here due to API change in SuiteSparse (3.1 -> 3.2)
extern OCTAVE_API void SparseCholError (int status, char *file,
int line, char *message);
extern OCTAVE_API void SparseCholError (int status, const char *file,
int line, const char *message);
extern OCTAVE_API int SparseCholPrint (const char *fmt, ...);
にします。ページに書かれている変更では,cygwinでは通りますが,
mingwではとおりません。たぶん,3.0.4では私が今回書いたように変更された
と思います。
848octave for windowsメモの筆者:2009/03/23(月) 12:59:30
>>847
たぶん,3.0.4では私が今回書いたように変更された
と思います。


たぶん,コンパイラによっては,mingwのg++のようにcastが通らないものがある
ので今回書いたように変更されたと思います。

です。すいません。<m(__)m>


849octave for windowsメモの筆者:2009/03/23(月) 14:11:31
>>847
すいませんsparse-util.ccも書き直す必要があります。

SparseCholError (int status, char *file, int line, char *message)
{
(*current_liboctave_warning_handler)("warning %i, at line %i in file %s",
status, line, file);

(*current_liboctave_warning_handler)(message);
}

// FIXME this overload is here due to API change in SuiteSparse (3.1 -> 3.2)
void
SparseCholError (int status, char *file, int line, char *message)
{
SparseCholError (status, file, line, message);
}

void
SparseCholError (int status, const char *file, int line, const char *message)
{
(*current_liboctave_warning_handler)("warning %i, at line %i in file %s",
status, line, file);

(*current_liboctave_warning_handler)(message);
}

に変更が必要です。すいません。<m(__)m>
850octave for windowsメモの筆者:2009/03/23(月) 15:20:12
>>770 TLA3.8.2を自分のコンピュータ用にcygwinでビルドしてこれをつかって,
mingw-4.3.2-dw2-TDMでoctave-3.0.4RC3をビルドしたもの
MFLOPS = 4830.2

cygwinでHT-pentiumでmulti-threadで効果があるか見てみました。
octave:6> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 3.8080
MFLOPS = 4201.7

ウーム。GotoBLASと同様にHyper Threadingでは,multithreadを使用しない
ほうがいいようですね。物理的にコアが2つ以上ないとその威力は発揮
できないようです。

まあ,こういうのは試してみないとわからないもので,この記録はそれはそれ
で意味があるのかなと思います。


851octave for windowsメモの筆者:2009/03/24(火) 14:00:32
cygwinでビルドしてもgotoBLASでSegmentation faultがでました。:-(
test_sparse.m ..........................................panic: Segmentation fault -- stopping myself...
Segmentation fault

GotoBLASの構築におかしなとこがあるのかなと思います。ウーム。
852Octave + GotoBLAS (Cygwin上):2009/03/24(火) 23:25:00
octave for windowsメモの筆者様
845 から 850 まで.とても丁寧に見ていただいてありがとうございます.
 (近日中に,書き直ししたいと思っています.)

851 について.私の方では再現できないのですが,
 http://133.5.18.167/rinkou/octave/57.png
に,私の方での configure の結果を載せています.これが一致しているか否かで,
 問題の切り分けができるかなあ,と思っています.(あまりお役に立てなくて済みません).
853名無しさん@お腹いっぱい。:2009/03/26(木) 08:40:49
octave-3.0.4RC6がでました。グラフィックス周りのバグフィックスのようです。
controldemo(とういか制御系関数のバグ)のフィックスはなされていなかった
ようですぐにパッチがでました。
854octave for windowsメモの筆者:2009/03/26(木) 08:42:24
octave-3.0.4RC6がでました。グラフィックス周りのバグフィックスのようです。
controldemo(とういか制御系関数のバグ)のフィックスはなされていなかった
ようですぐにパッチがでました。
855octave for windowsメモの筆者:2009/03/26(木) 11:37:17
>>853 >>854 2重投稿すいません。なんかユーザ登録のエラーでて書き込みが
できなかった見たいで<m(__)m>
856octave for windowsメモの筆者:2009/03/26(木) 12:19:07
>>851,852
まあ,GotoBLASの再構築とか,ビルドの最適化オプションあてたりとか。
Macroさんのパッチをあてたりとかいろいろかえましたが同じ症状でますね。
どこが悪いかかは,分かりません。gdbでトレースしましたが,GotoBLAS自体
が私のCPUにたいして正常に動かないコードを発しているようです。

test_sparse.m ..........................................
Program received signal SIGSEGV, Segmentation fault.
0x64aeda26 in zpotf2_ ()

zpotf2_はGotoBLASの中にあるので。

まあ,ATLASでもそこそこ性能だせるので,もうあがくのやめます(泣)。
857octave for windows メモの筆者:2009/03/28(土) 10:35:59
3.0.4RC7がでました。mingwとcygwinでテストし、報告しました。
今までずっと未解決だった問題は全てクリアされているようです。
unix系のplatformでも問題なく動いているようで、おそらくもうすぐ3.0.4の正式版のソースが出そうです。
858名無しさん@お腹いっぱい。:2009/03/29(日) 18:02:15
debianやubuntuって、octave3.0パッケージ導入して、atlasも導入してたら自動的にそっちを
使ってくれるんだね。Rも同様みたいですね。
859octave for windowsメモの筆者:2009/03/30(月) 09:04:13
>>858 ウーム。さすがにUnixはちがいますね。ところでatlasは,ソースから自分の
コンピュータにビルドですか。たしか,DebianだとそれぞれCPUに特化した
atlasのバイナリあったような気がしているのですが気のせいですかね?
860名無しさん@お腹いっぱい。:2009/03/30(月) 09:30:24
>>859
そうみたいですよ。debianの派出したものがubuntuなのでそのまんま、同じことになってる
ようです。
ただし、1cpuのみだろうと思う(未確認)なので、複数のcpuを使うときはソースをとってきて
自前でコンパイルしてパッケージで導入という流れなんだろうなと思ってます。
861名無しさん@お腹いっぱい。:2009/03/30(月) 09:32:15
あと、atlasは.debパッケージでバイナリ供給されています。
862octave for windowsメモの筆者:2009/03/30(月) 15:57:47
>>860 multithreadのatlasは,pthread(posix thread)を使うのでptが
ライブラリについています。libptf77blas.a libptcblas.a
のように。
あとリンカにオプションで-lpthreadがついているかどうか。
でも,ダイナミックリンクだとライブラリの方にpthreadが取り込まれている
かも知れませんが。
863名無しさん@お腹いっぱい。:2009/03/30(月) 16:13:20
>>862
atlasのライブラリを少し調べてみた(*1)けど、依存性にthreadライブラリは付いていない
みたいでした。3.6.0を利用しているということで少々古いものなのかな。lennyのunstable
ならoctaveも3.04 rc7みたいですが。

*1 http://packages.ubuntu.com/ja/intrepid/libs/libatlas3gf-sse2
*2 http://packages.debian.org/unstable/math/octave3.0
864octave for windowsメモの筆者:2009/03/30(月) 18:00:05
>>863 3.6.0は古いですね。おそらく古いCPUならいいですが,GotoBLASでの
後藤先生のパワーポイントのファイルでATLAS 3.7.xxとGotoBLASの比較では
GotoBLASがかなり速くなっていたんですが,Octave + GotoBLAS (Cygwin上)
さんが
>>828
で述べられているにATLAS3.8.3では差はそれほど大きくはありません。
やはりATLASは3.8.3で自分で作成されたほうがよいかと思います。
特にCore2DuoとかCore2Quadをお持ちならば。

865octave for windowsメモの筆者:2009/03/30(月) 18:36:51
gcc-4.3.3 GCC-TDMのsjlj-EH(Exception Handling)をつかうとmingwでも
multithreaded ATLASが使えました。
ただし,>>803 のテストではdw2-EHの方が25%-30%程度はやいので
痛し痒しです。
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
はmultithreaded ATLASで(HT-pentium4 prescott)
MFLOPS = 4970.9
single threaded ATLASで
MFLOPS = 4830.2
論理コアのHTでも若干速いです。たぶん,Core2Duoあたりだと大分成績
よさそうですね。
sjljはインタープリターが遅いが,multithreaded ALTASが使える。
このあたりは痛し痒しですね。

このあたりの情報は本家octaveのMLにもアップしました。
ベンチマーク好き(^^;私もですが)の方のいろんなプラットフォーム,CPU
での報告まってます(笑)。


866octave for windowsメモの筆者:2009/03/30(月) 19:31:57
本家のMLに書いたものです。ご参考までに。
ttp://www.nabble.com/Sjlj-vs-dwarf2-on-mingw-for-octave-td22776323.html#a22780228

なお,octave-3.0.2をmingw-3.4.5でビルドしたバイナリの情報をかいていますが
このライブラリを現在のOctaveのビルドにとりあえず使えると思います。
867名無しさん@お腹いっぱい。:2009/03/30(月) 23:30:31
とりあえず入れてみたよ。僕のメインpcは
opensuse 11.1 x86_64 core2duo 2.66GHz + 4GRAM
なんで、(ubuntu/debianはサブ)そちらに、atlas3.8.3とoctave 3.0.3が
パッケージで導入できるので、src.rpmを取ってきて、specファイルを
改造して入れてみました。

もちろん、pthread対応をしてます。

octave:3> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 0.98570
MFLOPS = 1.6232e+04
octave:4>

ざっとこんなかんじです。16GFLOPくらいですかね。>>828さんの値とほぼおなじですかね。
868octave for windowsメモの筆者:2009/03/31(火) 08:48:50
>>867
おお!すばらしい!
マルチコアのマシンでは
行列計算重視でなければバイナリ導入。重視ならばpthread ATLASつかって
自分でビルドという感じですかね。
しかし,最近のパソコンはすごいな^^;
869名無しさん@お腹いっぱい。:2009/03/31(火) 09:41:38
>>868
あと、glpkとumfpack/amdもパッケージにあったので対応させましたよ。
umfpackといえば、昔macにいれるときに一筋縄で行かなかったのであまり良い
印象はもってないけど、パッケージで導入が出来るので楽だった。

opensuseのscienceとeducationリポジトリを追加するとこの辺のものはそろっ
てるみたいです。

ps3でlinuxを使ってoctaveをやってる人っているのかなぁ。。。xを起動させなければ
余裕がかなりできると思うんで。
870名無しさん@お腹いっぱい。:2009/04/01(水) 21:09:10
ソースコードを貼ってここを使いたいなら
http://codepad.org/ を使えばいいよ。ここでplain textを選択すればoctaveでも使えるので。

例) http://codepad.org/RoVSondH
871octave for windowsメモの筆者:2009/04/02(木) 13:33:52
>>870 なるほど Thanks!!
872octave for windowsメモの筆者:2009/04/02(木) 13:40:12
3.0.4がついにでました。
ttp://www.nabble.com/3.0.4-release-td22822789.html
まだ,ソースコードだけなので各platfromのバイナリはこれからだと思います。

Msvc版はおそらく出ないでしょう。
Benjaminさんは,mingw版は3.0,4で出すといわれたいたのでこれはでるのでは
と思います。

将来的にはMichaelさんのMSVC版とBenjaminさんのMingw版は統合され,
WindowsのNative版はMingwでリリースされるのではと思います。
873名無しさん@お腹いっぱい。:2009/04/03(金) 13:14:03
>>493
一年前のものにレス。
今は仮想環境という便利なものがあるのでそちらで、いろんなディストリを試すことを
おすすめします。手元にはurlがないので割愛しますが:
仮想環境:
1.vmware ; vmplayerは無料。仮想ディスク作成はeasyvmxというサイトを利用すれば簡単
です。vm toolsを入れれば、使いがってはあがります。windowsのディスクトップとのコピペ
もできます。vm toolsは各ディストリにパッケージとして配布されていたり、デフォルトでイン
ストールされることは多い。
2.virtualbox ; vmwareよりは少し遅いですが、これだけで仮想ディスクの作成も出来ます。
付属のguest additionsを導入することによってこちらも使いがってがあがります。このツール
も各ディストリでデフォルトで入ってることは多い。

次に、ディストリですが、
deb系はここでも触れられたように、atlasのバージョンが古めだが、導入すれば、すぐにatlas
を使えるようになってくれますね。ubuntuの日本グループはvmwareやvirtualbox用の仮想ファ
イルを配布しているので、慣れるという意味ではオススメできる。
rpm系:
RHELクローン: scientific linux / cent os ; 保守期間が長い。商標以外の部分は商用の
Red hatと同じ。scientificのほうはフェルミ国立加速器研究所がメンテナンスしているようで
す。fedoraはRHELの実験場です。
openSUSE: 追加のレポジトリを加えれば新しいoctave/atlasは利用可能。
mandriva: rpmfindで調べてみたら、こちらのディストリもatlasは新しいものが入ってる。

この辺が使えるところではないですかね。
874名無しさん@お腹いっぱい。:2009/04/03(金) 14:03:58
RHELクローンの追加リポジトリは
http://okyuu.com/ja/tips/5223 を参考にしてください。
調べたところ、octave 3.0.1 / atlas 3.8.3 でした。
875octave for windowsメモの筆者:2009/04/03(金) 16:13:28
>>873 >>874 Thanks!! 今年の申請予算次第だけどあたれば,
コンピュータリプレイスするのでそのとき考えます。

以前,はやりかけたcoLinuxって最近はどうなんでしょう。
いかんoctaveねたとかけ離れている<m(__)m>
876octave for windowsメモの筆者:2009/04/03(金) 16:25:18
>>875 うむ。予算はずれた。まあ,当分プレスコット3.4GHzでWindowsで
頑張ります^^;

というわけで「octave for windowsメモ」は今年度は続きます(苦笑)
877名無しさん@お腹いっぱい。:2009/04/03(金) 20:17:00
878名無しさん@お腹いっぱい。:2009/04/05(日) 13:20:13
FreeBSDは atlas 3.8.2,
octave に関しては 安定版 octave 3.0.3, 開発版 3.1.54が入っていた。
879octave for windowsメモの筆者:2009/04/06(月) 08:05:28
Octave.app 3.0.4 for Mac OS Xがでたようです。
詳しくは以下を
ttp://www.nabble.com/Octave.app-3.0.4-for-Mac-OS-X-td22886996.html
880名無しさん@お腹いっぱい。:2009/04/06(月) 14:24:29
emacs のoctave modeって使ってる人がどのくらいいるんでしょうかね?
みなさんどっからoctaveを使ってますか?
あまりにも使い勝手が悪いと思ったので、改良しているところですね。
RのESSやruby-modeと操作性を合せていってるところです。
881名無しさん@お腹いっぱい。:2009/04/06(月) 14:30:52
imaximaともです。C-c C-b, C-c C-c, C-c C-rの3つを直すだけでも
操作性が同じになります。この辺が他のemacsとソフトの連携部分の操作性が
ずれているので。
882octave for windowsメモの筆者:2009/04/06(月) 18:29:43
なんかOctave-3.0.4のソースのLoad関数にバグがあるようで
Benjaminさんがパッチを出されています。
ソースからビルドする人は,パッチをあてましょう。

ttp://www.nabble.com/Re:-Possible-bug-in-"load"-function-in-octave-3.0.4-p22895800.html
883octave for windowsメモの筆者:2009/04/08(水) 08:11:29
>>882 このバグをfixするために3.0.5が出そうです。
すでにrc1がでました。
3.0.5?
ttp://www.nabble.com/3.0.5---td22924551.html
3.0.5 rc1
ttp://www.nabble.com/3.0.5-rc1-td22926230.html

884名無しさん@お腹いっぱい。:2009/04/08(水) 10:00:08
http://www.emacswiki.org/emacs/auto-complete-octave.el

というのが今年の3月に出たみたいですね。auto-complateは別窓が開く
補完用のパッケージですが、このファイルの中にあるoctave-keywordsを
次のようにくわえてみればoctave-complete-symbolが充実した補完に産まれ
変ります。
(require 'octave-mod)
(setq octave-completion-alist
(nconc octave-keywords octave-completion-alist))
885名無しさん@お腹いっぱい。:2009/04/10(金) 01:23:25
octaveの出力するsvgがinkscape0.46でバグるけど、次期inkscapeではなおるみたいです。
今での簡単な対処方法は

ttp://www.yamamo10.jp/yamamoto/wordpress/?p=46

を参考にしてください。
886名無しさん@お腹いっぱい。:2009/04/10(金) 14:51:08
>>420 You should come out of the closet.
887886:2009/04/10(金) 15:12:05
誤爆したorz スルーお願い。
888octave for windows メモの筆者:2009/04/11(土) 18:02:34
>>886 スルー('◇')ゞ ラジャ
889octave for windows メモの筆者:2009/04/11(土) 18:03:19
>>886 スルー('◇')ゞ ラジャ
890octave for windowsメモの筆者:2009/04/15(水) 08:13:36
4/8にもう 3.0.5の正式版出てました^^;。
ソースは,ttp://www.gnu.org/software/octave/download.html

で,Octave.app 3.0.5 for Mac OS Xがでました。
詳しくは以下読んでください。
ttp://www.nabble.com/Octave.app-3.0.5-for-Mac-OS-X-td23043286.html
891Octave + GotoBLAS (Cygwin上):2009/04/19(日) 02:37:32
Cygwin で Octave-3.0.5 の make, make check を行ってみました.
make check で失敗します.
 ※「助けて」という意味ではなく,参考情報としてお送りしています.
  (「素直に,Linux, FreeBSD, Mac 等を使えば・・・」というご意見は分かります)

■ 皆様ご存知の通り,Cygwin 用のソースコードパッケージは,
簡単に入手できます
http://ftp.jaist.ac.jp/pub/cygwin/release-2/octave/

■ ATLAS 3.8.3 を使う場合
make は通ります.
make check は,エラーが 2 個 (Octave-3.0.3 では出なかったエラー)
(1) src/syscalls.cc ........................................ PASS 0/1 FAIL 1
エラーメッセージは,「octave 3612 child_copy: linked dll
data write copy failed, 0x6B4000..0x6c1600, done 0, ...」
    ※ 私の LAPACK インストール時のミスかも,と感じています.
(2) scripts/specfun/nchoosek.m ............................. PASS 1/2 FAIL 1

■ GotoBLAS を使う場合
make は通ります.
make check は,途中で止まり続行できない.
(1) src/syscalls.cc ........................................ 2 [main] ?
couldn't allocate heap, Win32 error ...
892octave for windowsメモの筆者:2009/04/20(月) 08:22:22
>>891

scripts/specfun/nchoosek.m ............................. PASS 1/2 FAIL 1
は3.0.3には存在しなかったテストです。これは,計算誤差の許容度が
厳しすぎるためで,問題はありません。

make check すると test ディレクトリにfntests.logが生成されますので
これを見ていただけると問題がわかるかもしれません。

Lapackで問題ならば,blasだけGotoBlasやATLASをつかってLapackは,Octaveの
ソースコードにあるものを使うと問題が解決される場合があります。
この場合 configureで --without-lapack オプションをつかうことで
Octaveのソースコードにあるlapackが使用されます。

893Octave + GotoBLAS (Cygwin上):2009/04/21(火) 02:28:01
>> 892
ありがとうございます.もう少し時間をかけて,調べてみます.
いろいろな組み合わせが考えられ,少しずつ,エラーの出方が変わる,
というところまでは見てとれています.
※ 知り合いの Windows マシンに,Octave と ATLAS をあげたい,というのが本来の動機です

894octave for windowsメモの筆者:2009/04/21(火) 09:44:46
>>893 英語を書くのがいやでなければ,cygwinのMLでcygwin版maintainerの
Marcoさんに聞くのが一番早いかなと思います。
895octave for windowsメモの筆者:2009/04/24(金) 19:08:16
>>892 3.0.5のビルドをcygwin+ATLASでやりましたが,
scripts/specfun/nchoosek.m ............................. PASS 1/2 FAIL 1
以外はエラーはありませんでした。ただし,SuiteSparseは,自分でビルドした
ものを使っています。 lapackは,cygwinのものを使っています。
参考までに
896octave for windows メモの筆者:2009/04/26(日) 06:09:00
octave for windows MSVC版はライセンス問題で今は、配布されていません。
Mingw版のみ配布されています。MichaelさんもMingwでのビルド を進めておられるようです。
897octave for windowsメモの筆者:2009/04/27(月) 13:01:56
>>896 なぜそうなったかをたどってみました。私のメモ
ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#090427
に大体のことを書きました。詳しくは,そこで紹介している長いスレッドを
ご覧ください。
なお,メモにも書いていますがBenjamin氏が3.0.5の準備をしているそうです。
898octave for windowsメモの筆者:2009/04/30(木) 14:51:35
899名無しさん@お腹いっぱい。:2009/04/30(木) 15:58:37
>>896
Michaelビルド版を待てばJhandleを期待出来るのでしょうか。

もしJhandleが使えて、GotoBLASも有効に出来れば最高ですが。
900octave for windows メモの筆者:2009/05/03(日) 05:42:47
>>899
Michael版は、多分3.2からだと思います。
多分当分出ません。

3.2では、BenjaminさんとMichaelさんの仕事は、統合されるようです。octave自身に独自のグラフィックバックエンドがつくと思いますので、よくわかりません。まあ、Forgeでのこるのかな。

GotoBLASは単なるdllの置き換えでは無理だと思います。

Octave-ForgeのSVNにビルドスクリプトがアップされるはずですのでそれを使って自力でビルドが必要かと思います。

ところで
900番ゲットo(^-^)o

次板考えないと

色々あるけど、場所もここで、タイトルも安直に「データ解析ツールoctaveを語ろう その2」でいかがでしょうか?
901octave for windows メモの筆者:2009/05/03(日) 09:09:42
>>900

>Forgeではのこるのかな


>ForgeだからJhandleはそのままのこるのかな?

です。m(_ _)m
902名無しさん@お腹いっぱい。:2009/05/07(木) 16:52:01
print -deps test.eps でepsファイルができません。
何か設定必要ですか?
3.0.2です。
903octave for windowsメモの筆者:2009/05/08(金) 08:52:20
>>902
書き方のミスだと思いますが
help print
Function File: print (FILENAME, OPTIONS)

なんで
print('test.eps', '-deps')
で作成確認。
904gnuplotメモの筆者:2009/05/21(木) 19:33:49
905octave for windowsメモの筆者:2009/05/21(木) 19:35:41
>>904 ハンネ間違えた^^;
906octave for windowsメモの筆者:2009/05/26(火) 07:55:41
3.2.0のrc2が出てます。

the Octave 3.2.0 RC2 tarballs are available at
ttp://artax.karlin.mff.cuni.cz/~hajej2am/ulozna/octave/
907octave for windowsメモの筆者:2009/05/28(木) 14:50:25
I have prepared corrected image-1.0.8 octave-forge package for users' convenience.

You can download at
http://www.tatsuromatsuoka.com/octave/Eng/Win/

.
image-1.0.8p.zip,201,596 bytes, 2009-05-28, md5 6f573210d2567799c06a838b4dad0380, corrected image-1.0.8 package for Octave 3.0.5 for Windows MinGW32 Installer. Please read the Readme.txt in the archive file to install.

908octave for windowsメモの筆者:2009/06/02(火) 10:51:32
http://www.tatsuromatsuoka.com/octave/Eng/Win/
にビルドしたimage package for Octave 3.0.5 for Windows MinGW32を
おきました。

image-1.0.8_prebuild_oct_3.0.5_mgw.zip

です。
909octave for windowsメモの筆者:2009/06/08(月) 13:47:24
こないだがでたばっかしですが,3.2.0がでました。

ttp://www.nabble.com/Octave-Version-3.2.0-Released-td23902621.html

かなりの仕様の変更があります。私が大きいと思ったのは疎行列については
Octaveでは,spluなどをspがついた関数をつかわないといけなかったの
ですが,引数が疎行列の場合,luは疎行列用のluを使うように
なったことです。

疎行列に対してspの冠のついた関数使うということがMATLABとの互換性との
問題で大きいところだったので,この点は大きな進歩だと思います。


ところで
>>900
>Michael版は、多分3.2からだと思います。
>多分当分出ません。

とかいたのですが,Michaelさんは,まだMinGWをそれほど本格的に触って
いないようです。したがって,3,2.0もBenjaminさんの
単独リリースとなりそうです。
したがって,jhandleは当分使えないと思います。

OpenGLのBackendはまだまだ試験段階で実用にはなっていません。
当分gnuplotがbackendの状態が続きそうです。
910名無しさん@お腹いっぱい。:2009/06/08(月) 21:02:20
MSVC版の3.0.3だと、
Jhandleが入ってない状態では
wxWidgetsでグラフが描かれますね。

print('test.png','-dpng');

で、グラフの画像がちゃんと出力されます。
Jhandleだと手前にウインドウがあるとかぶっちゃうんですが
これだとちゃんとグラフだけが出力されてるようです。

あんまり話題にはなってませんが
911octave for windowsメモの筆者:2009/06/09(火) 19:36:58
>>910
そうですね。画像書き出しのときはgnuplotをbackendに使ったほうがいいと
思います。

JHandleはMicahelさんが本格的にMinGW版にのりだすまでは出ないと思います。
有志が出てくれば別ですが。
912octave for windowsメモの筆者:2009/06/11(木) 07:35:14
Octave 3.2.0 for Windows MinGW Installerがでました。

こないだ,3.0.5が出たばかりというところですが,すでにBenjamin
さんは,Development Branchで作業をされてようです。

ttp://sourceforge.net/project/showfiles.php?group_id=2888&package_id=287261
913名無しさん@お腹いっぱい。:2009/06/12(金) 09:59:07
editコマンドで開くNotepad++は、
ユニコードを選べば
(ツールバーのFormat→Encode in UTF-8)
日本語には問題ないように思いますが、
何か支障ありますか。
914octave for windowsメモの筆者:2009/06/12(金) 10:07:51
>>913
確かにそのようですね。実はあまり,Notepad++さわったことないんで^^;。
(SciTE派なもんで。)しかし,sjisはまだ使われる場面も多いので日本語を
使う場合は日本語版が使いやすいとは思います。

文章は修正しておきます。
915octave for windowsメモの筆者:2009/06/12(金) 10:09:11
>>913 >>914
おっと例を言うのを忘れていました^^;。ご指摘ありがとうございます<m(__)m>
916名無しさん@お腹いっぱい。:2009/06/12(金) 14:23:51
Windowsでは(たぶん)簡単に動かなかった時代に比べれば、
Mingw版Octave(3.0以降)はほぼ完成の域に達しましたね。

RでいうRjpWiki
ttp://www.okada.jp.org/RWiki/
みたいなのができると、
使う人が一気に増えると思います。

このスレももう少しで終わりなので、
次はWikiとか作ってみませんか。
コンテンツのほうはなるだけ協力します。
917octave for windowsメモの筆者:2009/06/12(金) 19:11:06
>>916 なるほど。しかし,Wikiの立ち上げに関する知識もないし,自分の
Yahoo Geocitiesのジオプラスで借りているWebスペースにおけるのかな?

Geocitiesにはわたしからきいて見ます。

有志ので自分のサーバー持ってる人とかいればいいんですが。

他の皆さんの意見も聞きつつ考えましょう。

ここはここでスレおわったら 「その2」 をたてておいておくのがいいと
おもいますが。

918octave for windowsメモの筆者:2009/06/12(金) 19:50:54
>>916 >>917
なんか思い切り無知でした。
pukiwikiなんぞをつかうのかな?
ちと,知識不足は否めないので,検討します。(政治家のセリフだな^^;)
919名無しさん@お腹いっぱい。:2009/06/13(土) 03:28:21
最近はWikiスペースを無料でレンタルできるサービスもいくつかあります。
atwikiなどが一般に使われているようです。

ttp://atwiki.jp/
ttp://wikiwiki.jp/
ttp://wiki.fc2.com/
920名無しさん@お腹いっぱい。:2009/06/13(土) 10:08:03
livedoor wiki なんてのもあるね。
921octave for windowsメモの筆者:2009/06/15(月) 09:24:44
>>919 >>920

ありがとうございます。いま,少し立て込んでますんで,今週中くらいには,何とか
立ち上げてみます。まあ,うまくいくかどうかはやってみないとわかりません
ので,立ち上げて様子をみたいと思います。

あとここはここで,前にもいいましたが「その2」を立ち上げるのがいいと
思います。
922名無しさん@お腹いっぱい。:2009/06/15(月) 11:42:18
次はソフトウェア板にでも移動したら?
923octave for windowsメモの筆者:2009/06/15(月) 12:21:01
>>922 それは,たしかにそうなのですが,>>834>>835>>836での>>835のような
意見もありますね。

まあ,リンクを貼ればどこでもいいかな。私は,正直どちらでもいいの
ですがでもどちらかにはしないと混乱しますよね。
まあ,意見分布を待つ。


924octave for windowsメモの筆者:2009/06/16(火) 14:36:39
>>919
ttp://www40.atwiki.jp/gnuoctavejp/
とにかく立ち上げてみました。まだ,何もありませんが
よろしくお願いします<m(__)m>。

いまは,IDがなくても書き込めますが,書き込み回数には制限を設けています。
できればIDを取得されて書き込まれることを期待します。
このあたりのことも議論できればいいですね。
925名無しさん@お腹いっぱい。:2009/06/19(金) 00:12:19
>>924
wikiなんで気軽に編集できる形態を希望します。

とりあえずのコンテンツとして以下を希望してみる。
(時間あれば自分でやりたいけど)

Octaveのインストール
クイックリファレンス
Tips紹介
グラフィックス実例集
Octave-Forgeの紹介
掲示板
Q&A掲示板
926名無しさん@お腹いっぱい。:2009/06/19(金) 08:38:20
>>925

反応ありがとうございます。

非ログイン書き込みは20回の連続制限なので,それくらいはあれば実用上
いいかなと思います。
非ログイン書き込みには文字認証があるのでスパムは出にくいと
おもいすが。念のため。

#掲示板か,どやって立ち上げるんだろう。Q&Aでも読むか。
927名無しさん@お腹いっぱい。:2009/06/22(月) 09:42:23
>>925 コメント記入欄作成ありがとうございました<m(__)m>。
928octave for windowsメモの筆者:2009/06/23(火) 12:16:19
Xoctave - Human interface to GNU Octave
929octave for windowsメモの筆者:2009/06/23(火) 12:19:59
>>928 手が滑って書きかけであげてしまいました。スレッドが残り少ないのにすまぬ<m(__)m>

>>927は私です
ところで,こんなのあるそうです。
XだからWindowsの人には使えないです。Cygwinなら動くのかな?
Xoctave - Human interface to GNU Octave

ttp://www.nabble.com/Xoctave---Human-interface-to-GNU-Octave-p24156773.html
930octave for windowsメモの筆者:2009/06/29(月) 08:00:43
3.2.1のRelease Candidateがでてます。速いペースですね。

ttp://www.nabble.com/3.2.1-release-candidate-2-tt24218711.html#a24233395

まあ,Release前にはテストをメンテナーがしていますが,やはり限界があり,
世にでると3.2.0の不具合が報告されています。

そのフィックスといえそうです。
931octave for windows メモの筆者:2009/07/02(木) 19:35:09
cygwin版のocatave-3.2.0, octave-forge-20090607-2がリリースされました。
ただし,cygwin-1.7でのみのリリースなので
ttp://cygwin.com/ の
Cygwin release 1.7 in BETA testing の new setup-1.7.exe から
setup-1.7.exeをdownload し,インストールしてください。
CategoryはMathを選んでください。
octaveだけ選ぶとgnuplotがインストールされないので,
gnuplotも忘れずにインストールしてください。
cygwin版のocatave-3.2.0をお使いで,gnuplotで2D のmouse zoomingを
使いたい方は,
ttp://www.tatsuromatsuoka.com/gnuplot/Eng/cygbin/
のgp43-winbinX11-cygwin-1.7.zipをお使いください。
932名無しさん@お腹いっぱい。:2009/07/11(土) 17:12:11
画像をimagescで表示した上にplotで点や直線を上書きしようとしても何も変化がないのですがどうしたらよいですか
933octave for windowsメモの筆者:2009/07/12(日) 00:47:15
>>932
hold onを使いましょう。

octave:14> imagesc(A);
octave:15> hold on
octave:16> fplot (@(x) x, [0 300]);
934名無しさん@お腹いっぱい。:2009/07/12(日) 00:50:18
hold onはもちろんしてます
けれど画像の上に点や線が表示されないんです
935octave for windowsメモの筆者:2009/07/12(日) 06:01:19
>>934

MSVC octave 3.0.3とMinGW 3.0.5 にimageパッケージを組み込んだものでは上手くいくのですが。

OSやバージョンによるのかも。

私個人は、3.2.0は、バグが多いので使っていません。

936octave for Windows メモの筆者:2009/07/26(日) 06:54:50
octave 3.2.2がリリースされました。まだ,ソースのみのリリースです。
3.2.0は,メジャーチェンジの最初のバージョンだったので,バグが多かったので今度ものでフィックスされているようです。
私は,MinGW上でビルドしました。まだ,あまりつかっていませんのでよくわかりませんが,多分バグはかなりフィックスされていると思います。
937名無しさん@お腹いっぱい。:2009/08/06(木) 12:32:18
MuPadやMaximaのような数式処理ソフトを組み込んで使うことはできるでしょうか?
Octaveで関数の係数を計算してプロットで結果を確認したいんですけど、多項式なので展開が大変なんです
938名無しさん@お腹いっぱい。:2009/08/06(木) 12:32:51
すみません。質問いいでしょうか。
普段Octaveは使わないんですが、諸事情でちょっと使わなくては
いけなくなって困っています。

もらったスクリプトの中に、こういう記述があって、↓
for h=1:length(salida)
tree.TerrainAnchor(h).Position.ATTRIBUTE.x=salida(h,1);
tree.TerrainAnchor(h).Position.ATTRIBUTE.y=salida(h,2);
tree.TerrainAnchor(h).Position.ATTRIBUTE.z=salida(h,3);
end
どうも「salida」のところでエラーになるようです。
これは、
・スクリプトの配布者が「salida.m」を同梱するのを忘れた。
・Octaveのインストールが失敗してる。
のどちらでしょうか?
939名無しさん@お腹いっぱい。:2009/08/06(木) 17:55:11
salidaは変数
940名無しさん@お腹いっぱい。:2009/08/09(日) 01:09:25
>>937
polyvalというのを使ってください

help polyval

で説明は出ますが

例えば、多項式 y = 3x^2 + 2x + 1 について、
x = 5, 7, 9 で計算する場合。

p = [3 2 1];
polyval(p,[5 7 9])

ans =

86 162 262
941名無しさん@お腹いっぱい。:2009/08/20(木) 01:02:58
liboctaveについて質問なのですが
Matrix型などで各要素でlong double型を扱うことはできますか?

標準だとdouble型になってしまうのですが・・・
できればやり方も教えていただけるとうれしいです
942:octave for windowsメモの筆者:2009/08/20(木) 18:48:00
>>941
マニュアル見ると

A.1.2 Matrices and Arrays in Oct-Files

Matrix A double precision matrix class defined in dMatrix.h,

となってるんで無理じゃないですかね。
943:octave for windowsメモの筆者:2009/08/20(木) 19:03:02
>>941 >>942

私ではよく分からないので本家に上げときました。後は自分で追ってください。

http://www-old.cae.wisc.edu/pipermail/help-octave/2009-August/015741.html
944:octave for windowsメモの筆者:2009/08/21(金) 07:50:46
>>943

David Batemannさんが答えてくれました。
ttp://www.nabble.com/FW:Can-one-treat-long-double-type-Matrix-in-liboctave--td25059242.html

要約すると
Maxtixのclass自体をlong double化するのは容易ではあるが,
実際の計算をするBlasやLapackはdoubleなので自力でこれらを
long double対応版を作成したり,他にもいろいろな関数をlong double
に対応させる必要があるようでかなりの難しい作業になるとのことです。
945octave for windowsメモの筆者:2009/08/24(月) 18:23:31
Octave 3.2.3のRC1がでました。
詳しくは以下を
ttp://www.nabble.com/3.2.3-RC1-p25112724.html
結構Changeset(パッチのこと)が出ているので3.2.2でもまだまだってとこです
かね。
3.2.xをstableと呼ぶには正直違和感があり,これはcurrentにすべきだと
いってますが聞いてもらえません^^;
946名無しさん@お腹いっぱい。:2009/09/07(月) 15:41:55
stem(x,y,"o")
を実行しても、ポイントが○にならずにデフォルト(三角)
のままです。
どうしたら直るのでしょうか?
947octave for windowsメモの筆者:2009/09/08(火) 16:23:37
マニュアル
The default color is "r" (red). The default line style is "-" and the default marker is
"o". The line style can be altered by the linespec argument in the same manner as
the plot command. For example
と書いてありますね。線のスタイルは変えられるようですがmarkerは変えられるとは
書いてないですね。
上で聞いてみましょうか?
948octave for windowsメモの筆者:2009/09/08(火) 17:50:02
949octave for windowsメモの筆者:2009/09/09(水) 10:27:34
>>946 >>947 >>948
David Batemanさんが答えてくれました。

Try

h = stem(1:10, 'marker', 'x')
set (h, 'marker', 'o')

in octave 3.2.x ... This uses the stem series objects supported in
Octave 3.2.x and described in the section

Plotting -> Advanced Plotting -> Object Groups -> Stem Series

of the manual

だそうです
950octave for windowsメモの筆者:2009/09/09(水) 10:36:20
>>949
その通りにやるとだめで,
x = 1:10;
y = ones (1, length (x))*2.*x;
h = stem(x,y);
set(h, 'marker','x');
set(h, 'marker','*');

で確認できました。
951octave for windowsメモの筆者:2009/09/10(木) 09:28:55
>>950
Davidさんからと返事です
> Oppps, check the bugfix
>
> http://hg.tw-math.de/release-3-2-x/rev/d208ae6e9d74
>
> so the first syntax will be fixed in 3.2.3

I have confirmed on tbe 3.2.3rc-3.

上ののパッチはスクリプトファイルのものなので,patchコマンドをつかうか,
パッチをよく見てスクリプトを編集すればフックスできます。
952octave for windowsメモの筆者:2009/09/11(金) 09:37:05
こんなん見つけました。

MATLAB Programming/Differences between Octave and MATLAB

ttp://en.wikibooks.org/wiki/MATLAB_Programming/Differences_between_Octave_and_MATLAB



953octave for windowsメモの筆者:2009/09/21(月) 17:54:07
Octave 3.2.3がリリースされました。 
今回かなりバグフィックスが進みました。 
ttp://www-old.cae.wisc.edu/pipermail/octave-maintainers/2009-September/013386.html をご覧ください。
まだ,ソースのみのリリースですので各バイナリが出るのは少し時間がかかると思います。 ソースからビルドする方には,3.2.3に乗り換えがお勧めといえます。
954octave for windowsメモの筆者:2009/10/04(日) 07:07:47
>>953 Cygwin版の3.2.3がでました。
955naoki:2009/10/11(日) 03:03:52
centOS5.3にoctaveをインストールして、
x=0:0.1:1;
y=sin(x);
plot(x,y)
とやったら、

line 0: undefined variable: in

line 0: undefined variable: in

line 0: undefined variable: in

line 0: undefined variable: lw

のようなエラーメッセージが出てしまいました。何かが足りない気がするんですが、修正方法がわかる方がいたら教えてください。
なお、
http://blog.be55.com/pc/linux/
のサイトを参考にしています。ただ、gnuplot4.2が上記のサイトで示してるやり方だと、リンクが消えているようで、gnuplot4.2のインストールだけは、
http://wikiwiki.jp/wakitasg/?CentOS%205#ye6c0c7f
の真ん中あたりのgnuplotの部分を参考にしています。
956名無しさん@お腹いっぱい。:2009/10/12(月) 03:17:12
eigの固有値が出力される順番ってどうやって決まるんでしょうか?
イマイチ規則性があるようなないような、よくわかりません。
matlabと同じでしょうか?
957octave for windowsメモの筆者:2009/10/15(木) 16:16:54
>>955 octaveのバージョンもできれば書いてほしいですね。
どうもgnuplotとの接続がうまくいっていないようですね。
wikiみるとgnuplotは自分でビルドされているようですね。
老婆心ですが,ちなみにちゃんとmakeしてますか。
make checkでgnuplotのdemoの実行を確認されていますか?
Terminal のシェルのプロンプトからgnuplotと打ち込んで
gnuplotが起動しますか?

次にoctaveのプロンプトから,gnuplot_binaryと打ち込んで
どう表示されますか?
このあたりから教えてください。
958octave for windowsメモの筆者:2009/10/15(木) 16:24:41
>>956
octave のマニュアルeigから

The eigenvalues (and eigenvectors) of a matrix are computed in a several step process
which begins with a Hessenberg decomposition, followed by a Schur decomposition,
from which the eigenvalues are apparent. The eigenvectors, when desired, are computed by
further manipulations of the Schur decomposition.

The eigenvalues returned by eig are not ordered.

ということですから,規則性はないようです。
順番に並べるには,sortをつかうとか。
sort(eig(A))
959名無しさん@お腹いっぱい。:2009/10/16(金) 12:56:53
時系列でGPSの位置情報が含まれる2つのexcelデータがあります。

それぞれのデータは途中である時間のデータがが欠落していたりします。

その2つの中から同時刻のデータのみを出力する方法を教えて下さい。

よろしくお願いします。
960octave for windowsメモの筆者:2009/10/16(金) 15:15:25
>>959
私には簡単な方法はないとおもいつきません。

octaveのマニュアルをみましたがfindはそんな用途ではないし,
行列にデータはストアされると思うので,
要素分だけループをまわして順番に調べるスクリプトを書くぐらいしか
思いつきません。

時系列要素が2つのデータで並びなどが違うのならばダブルループにする
必要もあるかもです。

そもそもその用途にoctaveを使うのがふさわしいのかどうかが疑問です。
私ならawkを使ってoctaveを使おうとは思いませんが。
961octave for windowsメモの筆者:2009/10/16(金) 15:25:10
>>960
ちょっと書き方が投げやりですね。すみません。

>系列要素が2つのデータで並びなどが違うのならば
違わないなら同時刻の要素を取り出すのに苦労はしませんですね。

octaveを使われる意図は処理が他にもあって一連の処理をoctaveで扱うことが
できればいいと意図かもしれませんね。

残念ながら私にはダブルループを使ってちまちま調べる単純な方法しか,
おもいつきません。
スマートな方法をご存知の方がいらっしゃればお願いします。
962名無しさん@お腹いっぱい。:2009/10/16(金) 20:57:13
octaveよりPerlとかRubyとかの範疇な気もする
963名無しさん@お腹いっぱい。:2009/10/17(土) 01:06:03
っていうか「仕事を2chに丸投げすんな」でFAだろ
964名無しさん@お腹いっぱい。:2009/10/17(土) 09:03:09
問題としては面白いけどね
965名無しさん@お腹いっぱい。:2009/10/17(土) 17:42:37
966名無しさん@お腹いっぱい。:2009/10/26(月) 17:02:32
FreeMATが3.6から4.0に上がったようです
http://freemat.sourceforge.net/

JITコンパイラーが入ったらしい
それと366箇所以上でMATLABとの互換性を上げたとか

でも未評価
967966:2009/10/27(火) 19:00:08
というわけでFreeMAT 4.0を少しいじってみました
fgetlがfgetlineになっていたり、strtokが無かったり動かないプログラムがけっこうありました。
が、MATLABとの操作互換性や雰囲気が近いので、学習用にはいいかもしれません。

それで、例の行列演算ベンチマークをCore2Duo 2.4GHzマシンで試してみたところ
MSVC版 3.0.3 で2.3GFLOPSなのに、FreeMAT 4.0 だと1.2GFLOPS程度でした。かなり遅いです。

どうやらbinディレクトリのblas.iniをどうにかすればいいようなので、試行錯誤をしてみました。
blas.iniの

[Win32]
ACML\libname=libacml_dll.dll
ACML\capfnames=true
ACML\prefix=
ACML\suffix=
ACML\desc="AMD performance library."

のlibnameのところを
ACML\libname=libblas.dll
に変えて保存し、binディレクトリMSVC版Octave3.0.3のlibblas.dllを放り込み
FreeMATを立ち上げてから、コマンドラインで
blaslib ACML
とやると、ハードコードされたblasからlibblas.dllにblasの演算が移ります。
MSVC版では1.2GFLOPSと残念な結果だったのですが、
某商用BLASのdllを入れると6GFLOPSにまでなりました。

なんとかMingwでgotoblasをメイクしてdllを作って放り込む事ができればねえ…
これを試してみようかな
http://machnum.net/base/index.php/articles-computational-physics/37-computational-physics/47-assembler-code-and-mingw
968966:2009/10/28(水) 01:06:17
というわけでFreeMAT4.0にGotoBLASを組み込んでみました

MingwとMSYS(baseの他にcryptとcryptのdllとperlが必要)をインストールし
参考ページ通りにやると(ただしcore2duoの場合binasとか余計な事はやらない方がいい)
libgoto_penryn-r1.26.aをmakeできました。
dllを作る場合は、exportsに移り、Makefileの中の
lib machine:i386
みたいな所を#でコメントアウトしてmakeしてlibgoto_penryn-r1.26.dllを作り、
FreeMATのbinに入れて、blas.iniの[Win32]に

GOTO\libname=libgoto_penryn-r1.26.dll
GOTO\capfnames=true
GOTO\prefix=
GOTO\suffix=
GOTO\desc="Goto BLAS library."

を追加・保存してFreeMATを立ち上げ
blaslib GOTO
でライブラリを組み込んで
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
とやると7.9GFLOPS でデフォルトよりかなり早くなりました

ためしにCygwinで前に作ったGotoBLASのexportsでdllを作って、FreeMATに組み込むと
--> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 1.2970
MFLOPS = 1.2336e+004

12GFLOPS!
どういうこと??cygwin1.dllも入れてないのに。
恐らくMingwではマルチコアが効いてないんだと思います。
※cygwin版のdllは libgoto_penrynp-r1.26.dll という名前で「p」がついておりpthreadが効いている=マルチコアに対応、なのかもしれません
しかしOctaveにもこの気軽さが欲しい
969octave for windowsメモの筆者:2009/10/28(水) 09:14:39
octave-3.2.3/mingw32が出ました。

今度の目玉は,gcc-4.4.0になっていることです。>>968で使っているものと
同じです。これまでは非公式ーTDM版のgcc-4.3.0を使ってました。
970octave for windowsメモの筆者:2009/10/28(水) 09:27:34
>>968
dllの差し替えができないのは,BenjaminさんのOctaveがディスク容量を
減らすためにshared libcとshared libstdc++を組み込んでいるからだと
推測します。

まあ,ソースからのビルドになるのですが,OctaveについてくるBenjaminさんのライブラリを
使えばソースからのビルドができるはずです。
ちっとパッチがいるかもしれませんが,それは,

http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/admin/Windows/mingw32/

からパッチを引っ張ってこれます。
svnがいりますが,

svn co http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/admin/Windows/mingw32 mingw32

まあ,私は自力でビルドしていますしなれていますので時間がかかる点は
ありますが,夜中走らせとけばいいわけですしね。

cygwin1.dllがなくてもうごいているのは不思議ですね。

multithreaded ATLASをmingwで動かすときは,MinGWのpthread-win32のライブラリに
リンクしてblasとlapackのdllを作成する必要があったのですが。

気軽ではないですが不可能ではありません。




971octave for windowsメモの筆者:2009/10/28(水) 09:29:29
>>970 残りスレが少ないのにすみません<m(__)m>。

>気軽ではないですが不可能ではありません。は

まあ,私は自力でビルドしていますしなれていますので時間がかかる点は
ありますが,夜中走らせとけばいいわけですしね。

の後に入れる文でした。<m(__)m>
972octave for windowsメモの筆者:2009/10/28(水) 16:32:33
>>968 >>970 >>971

よく考えるとインストール時にBLASやLAPACKの選択をしているので
Benjaminさんが作成されたものと互換性のある
BLASやLAPACKのdllを作成すれば,
Goto BLASは分かりませんが少なくともATLASなら
dllレベルの切り替えは可能でしょう。

いまは余裕がなく試せませんがいずれ試してみたいと思います。
973名無しさん@お腹いっぱい。:2009/10/28(水) 20:56:57
EIDMATというPythonによるGUIがあるようです。
ttp://eidmat.wordpress.com/
見た目は
ttp://uproda11.2ch-library.com/207895QeD/11207895.png
といった感じになっています。
974名無しさん@お腹いっぱい。:2009/10/28(水) 22:15:41
このままこのスレを使い切ると、ログ落ちしちゃうので
以下の新スレに移ってこのスレはなるべく温存してくださいませ

データ解析ツールoctaveを語ろう Part 2
http://pc12.2ch.net/test/read.cgi/unix/1256735581/
975名無しさん@お腹いっぱい。:2009/11/10(火) 18:49:48
976名無しさん@お腹いっぱい。:2009/11/10(火) 18:50:30
977名無しさん@お腹いっぱい。:2009/11/10(火) 18:51:13
978名無しさん@お腹いっぱい。:2009/11/10(火) 18:51:55
979名無しさん@お腹いっぱい。:2009/11/10(火) 18:52:43
980名無しさん@お腹いっぱい。:2009/11/10(火) 18:53:46
981名無しさん@お腹いっぱい。