11/06/25 06:29:16.81 .net
>>124
CUDAについては,OctaveはGPLですので,
jwe氏が言うことは仕方のないことなのでしょう。
OctaveがGPLから他のライセンスに変えるか,GPLが変わるか
CUDAがかわるかどちらかでないといけないのでしょうが,
まあ実現はしないのだと思います。
ところで,MySQLは,
URLリンク(www-jp.mysql.com)
にあるように問題がないように思います。
だからOctave-forgeのdatabaseパッケージでMySQLはサポートされている
のだと思っています。
129:octave for windows メモの筆者
11/06/25 06:35:35.07 .net
>>128
ただし,再配布せず自分でやる分には問題がないと思います。
以前GotoBLASが,GPL非互換だったとき自分でソースからビルドして,
octaveのビルド時に組み込んで使用することはできました。
かなり,億劫なことになりますが,
URLリンク(scinesur.wordpress.com)
なこのページもあることですし,自力でやることはできるのかなと思います。
130:名無しさん@お腹いっぱい。
11/06/25 08:57:30.61 .net
>>126
mingw版もcygwin版も(どちらも3.2.4)
octave:5> pkg install database-1.0.4.tar.gz
で入れようとしても、内部のmakeでこけますね
tar.gzを直接開いて./configureしてみると
sqlite3でwarningが出るし
結果がこれで
octave-forge is configured with
octave: octave (version 3.2.4)
mkoctfile: mkoctfile for Octave 4
swig: pre-generated
postgres: postgresql/libpq-fe.h not found
mysql: mysql/mysql.h not found
sqlite3: yes
odbc: yes
postgresqlやmysqlはライブラリが必要みたいだし
makeもsqliteの段階でこけるので、unix系なら動くのかもしれませんが
Windowsでは無理っぽいですね
131:octave for windows メモの筆者
11/06/25 12:23:55.27 .net
>>130
そうですね。3.0.xのころdatabaseパッケージを四苦八苦していれましたが,
postgres と mysqlはあきらめてsqlite3とodbcだけでやったことがあります。
CygwinならたしかpostgresqlがOctaveを意識せずにあったような気がしますが,
それを使ってpkg installをしたことがないので,なんともいえません。
Cygwinの方がUnixに近いのでライブラリをかき集めれば何とかなるかも
知れません。
132:octave for windows メモの筆者
11/06/29 02:59:55.51 .net
MinGWの体験版のOctave-3.2.4バイナリを作成し,配布してます。
URLリンク(www.tatsuromatsuoka.com)
あくまでも体験版で,
Octave-forgeがはいっていませんし,バグもあると思います。
インストーラーなる気の利いたものもなく,zipファイルを解凍して
適当なフォルダにおきます。
ビルドに必要なツールも一応いれたつもりなので,自分でビルドしてみたい
方はどうぞ。ただし,あまり丁寧な説明はしていません。
133:名無しさん@お腹いっぱい。
11/07/04 06:29:50.28 .net
どなたか賢い方、助けて下さい…
Benjaminさんの
Octave-3.2.4_i686-pc-mingw32_gcc-4.4.0_setup.exe
で、コマンドラインからのpath指定が効かないんですが、なんとかなりませんでしょうか?
> octave.exe --path c:\
> octave.exe --path c:\\
> octave.exe --path c:/
> octave.exe --path c://
> octave.exe --path /c/
いずれもダメでした。
Linuxなら特に問題ないのですが…
134:octave for windows メモの筆者
11/07/04 15:21:59.89 .net
>>133 Cygwin版ならちゃんと動くんでバグかもしれません。
135:octave for windows メモの筆者
11/07/04 15:28:18.58 .net
>>133
>octave --eval "cd c:\\" --persist
で代用できませんか?
136:octave for windows メモの筆者
11/07/04 15:38:46.46 .net
>>134, 135 すみません勘違いです。
マニュアルによれば
--path path
-p path
Add path to the head of the search path for function files.
The value of path specified on the command line will override any
value of OCTAVE_PATH found in the environment, but not any commands in
the system or user startup files that set the internal load path
through one of the path functions.
となっていて,Cygwin版でもMinGW版でも OCTAVE_PATH には,なにも反映され
ない。Linuxでの期待通りの動きとはどんなものですか?
Linuxもってないのでわからないので。
137:名無しさん@お腹いっぱい。
11/07/04 23:18:23.00 .net
>>134-136
試して下さって、大変ありがとうございます!!
Linux版なら、
$ octave -q --path /home/user/work
octave:1> path
.
/home/user/work (←このフォルダが存在する場合のみ)
/usr/lib/octave/3.2.4/site/oct/i686-pc-linux-gnu
/usr/lib/octave/site/oct/api-v37/i686-pc-linux-gnu
...
となります(恐らくご想像通りでしょうが…)。
ちなみに、
$ OCTAVE_PATH=/home/user/work octave -q
でも同義です。
こちらでも迂回策を探してはいるのですが、環境変数も効きませんし、なかなか…
138:octave for windows メモの筆者
11/07/05 01:47:59.89 .net
>>137
octave --eval "addpath C:\\" --persist
ではいかがでしょうか。
139:octave for windows メモの筆者
11/07/05 01:56:50.28 .net
>>137 蛇足です。Cygwin版のoctaveでは,おっしゃられている動作をする
ようです。MinGWならではのバグのようです。
職場のパソコンで自分でビルドした3.4.2(MinGW)でも,動作しなければバグ
報告をします。
140:octave for windows メモの筆者
11/07/05 06:45:34.07 .net
>>139 職場のパソコンでoctave 3.4.2と3.2.4(Benjamin版)で試してみました。
octave --path c:\
***********
3.2.4
.
C:\Programs\Octave\3.2.4_gcc-4.4.0\share\octave\packages\zenity-0.5.7
(以下略)
**************
3.4.2
.
C:
C:\octave\3.4.2\lib\octave\3.4.2\site\oct\i686-pc-mingw32
:
(以下略)
となるのですが
octave --path C:\octave
Octave's search path contains the following directories:
.
C:\octave
C:\octave\3.4.2\lib\octave\3.4.2\site\oct\i686-pc-mingw32
:
(以下略)
**********************
141:名無しさん@お腹いっぱい。
11/07/05 07:58:49.52 .net
>>138
ありがとうございます、現在そちらの方向で検討中です。
>>140
え?なぜ3.4.2はそんな残念な動作に…
3.2.4(Benjamin版)ではC:\Octaveを指定しても駄目なようですね
こちらの職場PCにはBenjaminさんのメモにしたがってビルドした
3.2.4がありますので、そちらも試してみます。
142:octave for windows メモの筆者
11/07/05 08:11:41.89 .net
>>141
140 は長くて,2chにおこられたので,後から続きを書こうとしてわすれていました。
どーもドライブのルートディレクトリの場合は失敗して,C:\とならず,C:
となるのですが,C:\octaveのような場合は大丈夫です。
一応,development branch でも試すために,現在ビルド中です。
143:octave for windows メモの筆者
11/07/05 09:51:31.50 .net
>>142 予想通りDevelopment Branchのソースからビルドしても,
octave --path c:\
のようなルートディレクトリの指定はバグってますね。
時間があるときにbug trackerに登録します。
(直るかどうかわかりませんが。)
144:octave for windows メモの筆者
11/07/05 10:18:47.77 .net
>>143 bug tracker に登録しておきました。
URLリンク(savannah.gnu.org)
145:名無しさん@お腹いっぱい。
11/07/05 23:05:49.70 .net
>>143
大変感謝です…。
ちなみに、Benjaminさんメモに従ってビルドした3.2.4ですが、
MSYS環境ではpath指定が通りました。
コマンドプロンプトからはlibgcc_s….dllが足りないとか言われて
実行できなかったので、未検証です。
(MSYS環境以下を探しても見つからなかったので諦めてましたが、
よく考えたらMinGW環境以下にありそうですね…忘れてました)
146:octave for windows メモの筆者
11/07/06 01:46:53.64 .net
>>145
Msys 環境下で指定がうまくいくということは,パスのハンドリングが
octave --path でUnix likeになっているからかもしれません。
なお,libgcc_s….dllなどたらない,dllは,Benjaminさんのビルドのbin
ディレクトリからコピーして,自分でビルドしたoctave.exe,
octave-3.2.4.exeのあるディレクトリにペーストすればいいです。
または,バッチファイルなどでBenjaminさんのビルドのbinディレクトリに
パスを通すという手もあります。
147:名無しさん@お腹いっぱい。
11/07/06 18:47:15.59 .net
>>146
コマンドプロンプト環境下で試してみました。
dllはOctaveのビルドに使用したc:\mingwのbinにパスを通して
対処してます。
octave --path c:\msys -> OK
octave --path c:\ -> OK(ちゃんとc:\と表示される)
…あれ?
Benjaminさんメモに従うとコンパイルは自動で流れるので、
できるバイナリはインストーラで配布されているものと
同じはず、だと思うんですが…?
なお、本来の目的はOctave起動後にaddpathすることで達して
おりますので、これ以上追いかける意味は無くなってしまったのですが…。
ご報告まで。
148:octave for windows メモの筆者
11/07/06 21:34:11.72 .net
>>147
ご報告ありがとうございました。
回避法があるとはいえ,不思議ですね。
149:名無しさん@お腹いっぱい。
11/08/03 16:34:09.93 .net
質問いいでしょうか?
画像をfft2して、その後、元の画像に戻るかiff2でチェックしたいのですが、どうもうまくいきません・・・
プログラムのどこが悪いのでしょうか?
Iin=imread('BOAT.bmp');% 画像の入力
figure,imagesc(Iin,[0 255]);% 画像表示
colormap(gray);
axis image;
%FFT変換
Iin_d=double(Iin);
O_fft=fft2(Iin_d);% FFT
O_fft=fftshift(O_fft);
O_fft=(abs(O_fft));
O_fft=10*log10(O_fft);% FFT結果のlog表示
figure,imagesc(O_fft,[0 MAX]);% 画像表示
colormap(gray);
axis image;
%逆FFT
O_fft2=(abs(O_fft2));
O_fft2=10*log10(O_fft2);
O_fft2=fftshift(O_fft);
O_fft2=real(ifft2(O_fft2));
figure,imagesc(O_fft2,[0 MAX]);% 画像表示
colormap(gray);
axis image;
どなたかお願いします
150:octave for windows メモの筆者
11/08/08 09:37:41.35 .net
>>149
画像処理は詳しくありませんが,演算が逆演算になっていないような気がします。
151:名無しさん@お腹いっぱい。
11/08/08 14:03:14.87 .net
abs()をつけてる時点で虚数次元が飛んでますからね
152:octave for windows メモの筆者
11/08/08 16:59:04.63 .net
>>149 >>150
自信なし:一応画像で確認した。
Iin_d=double(Iin);
O_fft=fft2(Iin_d);% FFT
O_fft2=real(ifft2(O_fft)); %ifft
figure,imagesc(Iin,[0 255]);
fftした結果を演算されていますが,もとのイメージのフーリエ空間での
画像に演算をされておられるので情報が変わってしまっています。
したがって,ifftで戻るはずは原理的にないような気がします
153:octave for windows メモの筆者
11/08/08 17:55:52.63 .net
>>152
訂正
Iin_d=double(Iin);
O_fft=fft2(Iin_d);% FFT
O_fft2=real(ifft2(O_fft)); %ifft
figure,imagesc(O_fft2,[0 255]); %ここを訂正
154:名無しさん@お腹いっぱい。
11/08/09 15:43:46.03 .net
むしろこんな感じ
sigma=40;
for XX=1:128,
for YY=1:128;
ZZ(XX,YY)=63*exp(-1*(XX-64)^2/(2*sigma^2))*exp(-1*(YY-64)^2/(2*sigma^2));
end;
end;
ZZ1=fft(ZZ);
ZZ2=ifft(ZZ1);
image(ZZ)
colorbar
pause(2);
image(abs(ZZ1))
colorbar
pause(2);
image(abs(ZZ2));
colorbar
pause(2);
要点は、imageで表示するとき以外はabsとかを使わない
155:octave for windows メモの筆者
11/09/02 10:37:46.27 .net
Blas としてOpenBLASかなり使えます。
URLリンク(github.com)
なお,Cygwin 上にmingw64のクロスコンパイラが入りました。
mingw64は32 bitもサポートしていますので,windows 用には,
それを使います。
(setup.exeでインストールしてください。)
makeは以下のようにしてください。
make CC=i686-pc-mingw32-gcc FC=i686-pc-mingw32-gfortran OSNAME=WINNT TARGET=CORE2
TARGETは各自のCPUにあわせてください。
できた
libopenblas_(cpu id)-r0.1alpha2.2.dll
octaveのあるbinフォルダにコピペして,
octave-3.2.4 mingwなら blas.dllとリネームすればいいです。
(octave-3.4.2 ならlibblas.dllに )
156:octave for windows メモの筆者
11/09/05 10:46:31.60 .net
Octave-3.4.2-mingw + octaveforge pkgs が出ました。
URLリンク(old.nabble.com)
157:octave for windows メモの筆者
11/09/07 17:24:14.86 .net
Gnu Octave windows版のOctave-forge packageがアップデートされました。
URLリンク(old.nabble.com)
158:octave for windows メモの筆者
11/09/15 08:01:26.94 .net
Gnu Octave windows版のOctave-forge packageがアップデートされました。
URLリンク(octave.1599824.n4.nabble.com)
159:名無しさん@お腹いっぱい。
11/09/22 00:01:20.14 .net
memory exhaustエラーが、少し大きめのデータで出てしまうのが、
改善されるといいなぁ。
160:名無しさん@お腹いっぱい。
11/09/22 09:47:51.52 .net
>>159
64bit版ならそのエラーが簡単には出ないって話ですけどね
ただし正式なバイナリーがリリースされてない
161:octave for windows メモの筆者
11/09/22 14:14:55.62 .net
>>159 >>160
URLリンク(www.gnu.org)
にしたがってビルドするしかないようですね。
Debian 上での例が載ってます。
162:octave for windows メモの筆者
11/09/22 17:00:01.71 .net
>>159 >>160
Scilab なら64bit版があるようです。
URLリンク(www.scilab.org)
でも,文法かなり違うからなあ。
163:名無しさん@お腹いっぱい。
11/09/26 13:34:26.79 .net
>>162
Scilabの32bitも64bitもメモリー管理としては大差無いようです
Windows7 64bit に4GBのメモリーを積んだ条件で
Octave 3.2.4で
AA=ones(12000,10000);
とやると通りますが
AA=ones(13000,10000);
では error: memory exhausted と出ます。
Scilab 5.3.3 では32bitでも64bitでも
stacksize('max');
を実行した後に
AA=ones(13000,10000);
は通りますが
AA=ones(14000,10000);
はエラーが出ます。
倍精度が16bitだとして(複素数の実部と虚部にそれぞれ8bit倍精度)
2GBぐらいに壁があるようです。
164:octave for windows メモの筆者
11/09/26 17:59:23.61 .net
>>163
私もやってみました。
-->AA=ones(13600,10000);
!--error 17
stack size exceeded!
Use stacksize function to increase it.
Memory used for variables: 135007946
中間的なメモリが必要です: 136000002
Total memory available: 268435455
Scilabの場合,スタックサイズの上限に問題があるようですね。
165:名無しさん@お腹いっぱい。
11/09/27 09:00:38.67 .net
>>163
倍精度複素数16bitではなくて16Bytesの間違いでした
全部の変数で2GB未満しかアロケート出来ないっぽいです
2^32は42億9496万7296でしたか、つまり4Gですが
CPUは2の補数をとった2Gまでしかアクセスできないのでしょう
166:octave for windows メモの筆者
11/09/27 10:26:32.43 .net
>>165
URLリンク(www.gnu.org)
をよく読むとArray Indexとなる整数のバイト数を64 bitの体系にあわせて,
ライブラリまで含めて構築しなおす必要があるようです。
(たとえばFortran のライブラリなら(たとえばLAPACK),
interger のデフォルトのバイトを8バイトにする。)
Scilab 64 bitは,そこまで考えてビルドされていなのではと推測します。
167:octave for windows メモの筆者
11/09/30 10:42:53.78 .net
Octave 3.4.3-rc0 release candidate available for ftp
URLリンク(octave.1599824.n4.nabble.com)
だそうです。
168:名無しさん@お腹いっぱい。
11/10/01 22:47:50.57 .net
Octaveの連想配列はどう書けば良いのですか?
データに番号がついていて連続していない状態で、他のデータから連続していないデータを参照しているので
内部で番号をつけ直しています。つけ直しの時に総ナメのような感じになってしまうので連想配列が使えたら
と思いまして質問しました。
169:名無しさん@お腹いっぱい。
11/10/02 01:13:05.09 .net
>>168
構造体で、それっぽいことはできたはず。
その用途でしたら、スパース行列でもよさげ。
どっちが速いかは未検討。
170:168
11/10/02 09:20:50.75 .net
>>169
a.idみたいな感じで丁度構造体を使っているので構造体を使った連想っぽい処理をもう少し具体的に知りたいです
どんな感じで使えば良いのですか?
171:名無しさん@お腹いっぱい。
11/10/02 14:17:52.86 .net
>>169
問題がややあいまいなので、もうちっと具体的にどうぞ。
情報の後出しは、無しということで。
172:168
11/10/02 18:24:07.84 .net
どこまで必要な情報なのか・・・書ききれるのか分かりませんが書いてみます
有限要素法のプログラムを勉強のために作っているのですが、データが節点、
要素等番号がついています。NASTRANのデータ形式をGRIDとかCHEXAとか
を使っています。(手を抜いて継続行を一行にしていたりしますが・・・)
これらの番号(ID)は連続した数字ではなく、プログラム内部で参照して番号を
関連付けるしかないのですが、現状総ナメで番号(ID)を内部の連続した配列番号
に関連付けています。変数はelem(:).id、node(:).idがデータの番号で関連付
けした変数はelem(:).no、node(:).noとかにしています。主にelemがnode
を参照するのでnode(:).idを連想配列風の処理で内部の配列番号に変換したいのです
読みにくいと思いますが、構造体を使った連想配列風の処理を教えていただけない
でしょうか?
173:名無しさん@お腹いっぱい。
11/10/02 23:48:46.22 .net
>>172
もっとスマートな方法もありそうですが…
期待外れだったら、すいません。
案1(スパース行列)
node_id = [1 10 100 1000 10000];
node_id_t = sparse(0,0);
node_id_t(node_id) = 1:length(node_id);
% node_id_t(10000) -> 5
案2(連想配列?)
node.id_1 = 1;
node.id_10 = 2;
node.id_100 = 3;
node.id_1000 = 4;
node.id_10000 = 5;
% getfield(node,['id_' num2str(10000)]) -> 5
ちなみに、FEMをOctaveで、ということでしたら、OpenFEMというのも参考になるかもしれません。
Matlab用で、コードがめちゃくちゃ読みづらくて、かなりbuggyで信用なりませんが、
各種アルゴリズムの実装を知るには非常に有用です(個人的に、固有値解析のとこは感動しました)。
174:168
11/10/04 20:03:02.40 .net
>>173
お返事有り難う御座います。
処理速度を早くするためにはスパース行列が良さそうですね、
処理手順を多少弄らなければいけなさそうですが少し考えてみます。
案2の方も少し考えてみます。(使えそうな使えなさそうな・・・)
OpenFEMの情報有り難う御座います。少しググってみます。
175:octave for windows メモの筆者
11/10/11 10:17:19.15 .net
GNU Octave 3.4.3 Released
URLリンク(octave.1599824.n4.nabble.com)
176:名無しさん@お腹いっぱい。
11/10/11 21:28:31.48 .net
>>175
毎度ありがとうございます。
目玉機能は何かあります?
(simulinkがついに出来たとか :-P )
177:octave for windows メモの筆者
11/10/12 16:12:10.66 .net
>>176
残念ながら喜ぶような機能の追加はなく,バグフィックスのようです。
3.4はこれでおしまいで,次は3.6になります。
GUIのインターフェースがつくかも知れませんが,はっきりとしません。
178:名無しさん@お腹いっぱい。
11/10/12 20:10:34.63 .net
>>177
あ、それは残念。
純正のOctave Workshopと、ネイティブEXCELリーダーが付けばいいなぁ。
179:octave for windows メモの筆者
11/10/13 11:33:00.99 .net
>>ネイティブEXCELリーダー
Octave-forgeのio packageである程度のことはできるようです。
私はつかったことがないのでよくわかりません。
URLリンク(octave.sourceforge.net)
>>純正のOctave Workshop
Qt BaseのGUIが検討されていてもしかしたら,3.6で実装
(たぶんExperimental)されるやもしれません。
Windows版については,最近活動がストップしているBenjaminさんに
変わる人が出てくればいいのですが。
私のスキル,体調,仕事上の都合でそこまでついていけないのが実情です。
180:名無しさん@お腹いっぱい。
11/10/13 13:02:18.29 .net
scilabでは伝達関数を定義するのに
s=poly(0,"s")
sys=1/(1+s)
ってできますが
Octaveでは
sys=tf( [1] , [1 1] );
ですよね。
scilabみたいに記法する方法はないですかね?
181:octave for windows メモの筆者
11/10/13 17:08:44.70 .net
制御系には全く無知なのではずしていたらすみません。
Octave 3.4に対応した
Octave-forgeのcontrol packageでは,
URLリンク(octave.sourceforge.net)
Exampleに
octave:1> s = tf ("s");
octave:2> G = 1/(s+1)
Transfer function "G" from input "u1" to output ...
1
y1: -----
s + 1
とあります。
Windowsの場合
URLリンク(www.tatsuromatsuoka.com)
こちらをご覧ください。
182:octave for windows メモの筆者
11/10/13 17:10:32.55 .net
>>181
1
y1: -----
s + 1
が崩れて表示されていますね。すみませんm(__)m。
183:octave for windows メモの筆者
11/10/13 17:18:17.15 .net
>>181
何度もすみません。
****************************
Windowsの場合
URLリンク(www.tatsuromatsuoka.com)
こちらをご覧ください。
****************************
は
WindowsでOctave-3.4.2でcontrol packageなどのOctave-forgeを使いたい場合
ということです。舌足らずな説明ですみません。
184:名無しさん@お腹いっぱい。
11/10/13 23:33:20.68 .net
早速ありがとうございます。
使ってみます。
ginputのバッティングなんかも解消できているといいのですが。
185:名無しさん@お腹いっぱい。
11/10/14 15:57:12.92 .net
>>180
OctaveのはMatlab互換なので馴れてしまえば後々で便利です
例えば化学の一次反応を
(d/dt)x=k(x0-x)
と置きましょう。xは反応量、x0は初期量、kは反応速度定数(毎秒)です。
式を展開すると
(1/k)(d/dt)x=x0-x
x0=(1/k)(d/dt)x+x
これをラプラス変換すると
X0=(s/k)X+X=(s/k+1)X
X0=((s+k)/k)X
伝達関数G(s)は(伝達関数はOutput/Input)
G(s)=X/X0=k/(s+k)
これを普通にラプラス逆変換すると
x/x0=k exp(-kt)
ですが、Octaveで計算すると、k=0.02 として
Octave:4> k=0.02; G=tf([k] [1,k],0);
Octave:5> [y,t]=step(G);plot(t,y);
であっさり描けてしまいます
時定数は1/k=1/0.02=50秒で、図でも50秒で1-exp(-1)=63%にまで上がってるはずです。
186:名無しさん@お腹いっぱい。
11/10/15 13:48:46.19 .net
>>185
>>180のヒトは
伝達関数G(s)は(伝達関数はOutput/Input)
G(s)=X/X0=k/(s+k)
で
Octave:4> k=0.02; G=tf([k] [1,k],0);
を
Octave:4> k=0.02; G=k/(s+k)
で書ければいいなぁ
って言っているんだと思います。
Octave3.4だと出来るのか。
187:名無しさん@お腹いっぱい。
11/10/15 14:33:56.65 .net
>>186
それはわかってるつもりなのですが
伝達関数は計算してから入れればいいという考え派なので
しかし制御の本がScilabばっかりなのは
伝達関数の計算なんかめんどい&scicos(5.2以降ならxcos)で制御を勉強したい
という人が多いのでしょうね
188:octave for windows メモの筆者
11/10/17 07:33:56.72 .net
>>186
>Octave3.4だと出来るのか。
正確にいうと最近のControl package でできるようになり,
それにはoctaveが3.4以上である必要があるということのようです。
ところで3.4.2 for winodws用のOctave-forge Packageが更新されました。
URLリンク(wiki.octave.org)
を参考にしてください。Control package もバージョンが
あがっているようです。
189:名無しさん@お腹いっぱい。
11/10/17 20:24:04.79 .net
>>188
すいません。
URLリンク(octave.sourceforge.net)
のWindows installer (Octave and Octave-Forge)
の方は更新されないんですか?
190:octave for windows メモの筆者
11/10/18 08:54:52.33 .net
>>189
される見込みは,残念ながら今のところありません。
MaintainerのBenjamin Lindnerさんが5月ごろから,svnの作業ツリーやML
などから,姿を消しておられます。
私は,ビルドしかできないので3.4.2を自分のWebにのせたら,
Nitzan Araziさんが7zipによるアーカイブと octave-forge のパッケージを
(7 zip)作ってくださいました。
191:名無しさん@お腹いっぱい。
11/10/19 20:34:16.86 .net
lsode関数で微分方程式を解いて時間経過を見るとき
変数xが負の値をとる場合にはゼロになるように条件を加えたいのですが
そういったことは出来るのでしょうか。
192:名無しさん@お腹いっぱい。
11/10/20 12:35:32.94 .net
>>191 マニュアルを読む限りではそのようなオプションはないと思います。
数学的な工夫でできるかもしれませんが。すみませんがわかりません。
193:名無しさん@お腹いっぱい。
11/10/21 23:07:54.32 .net
>>188
Octave3.4.2_gcc4.5.2\share\octave\packages\control-2.1.54
の中身を見ているのですが、
tf2ss とか sysout とか、その変の関数がゴッソリと無くなっているのは
なんか理由があるんでしょうかね?
s=tf("s") で G=1/s , H = 1/(s^2+1) , GH=G*H
っていう記述が出来るようになったのは有りがたい反面、使い慣れた関数が
無くなっているのはちょっと寂しい。
(matlabにはあるのに)
194:名無しさん@お腹いっぱい。
11/10/24 20:16:09.57 .net
>>193 本家のoctave-dev ML (Octave-forgeのメーリングリスト)で聞くしか
ないでしょう。たしかMaintainer が最近変わったようなので。
195:名無しさん@お腹いっぱい。
11/10/24 21:27:34.49 .net
>>193
tf2ssはssでイケルっぽい
196:octave for windows メモの筆者
11/10/27 07:58:32.39 .net
Mingw Octave-3.4.3 binaries for testing on windows - Updated
URLリンク(octave.1599824.n4.nabble.com)
197:名無しさん@お腹いっぱい。
11/10/29 15:09:02.44 .net
↑のやつですが、Win7 x64でcommunications-1.1.0がmakeでエラーを吐いてインストールできません。
communicationsを使いたいので、どなたか情報を持ってる方お願いします
pkg install signal image optim miscellaneous struct specfun -auto -forge -global (これはOK)
pkg install communications -auto -forge -global
ov-galois.o:C:\Users\hoge\AppData\Local\Temp\oct-2\communications\src/ov-galois.cc:556: undefined reference to `H5Gcreate'
ov-galois.o:C:\Users\hoge\AppData\Local\Temp\oct-2\communications\src/ov-galois.cc:567: undefined reference to `H5Screate_simple'
(snip)
collect2: ld returned 1 exit status
make: *** [gf.oct] Error 1
'make' returned the following error: make: Entering directory `/tmp/oct-2/communications/src'
(snip)
make: Leaving directory `/tmp/oct-2/communications/src'
error: called from `pkg>configure_make' in file C:\Octave\Octave3.4.3_gcc4.5.2\share\octave\3.4.3\m\pkg\pkg.m near line
1339, column 9
error: called from:
error: C:\Octave\Octave3.4.3_gcc4.5.2\share\octave\3.4.3\m\pkg\pkg.m at line 790, column 5
error: C:\Octave\Octave3.4.3_gcc4.5.2\share\octave\3.4.3\m\pkg\pkg.m at line 361, column 9
198:名無しさん@お腹いっぱい。
11/10/30 05:18:24.99 .net
>>197
回線が細いので確認できませんが,
Octave3.4.3_gcc4.5.2_20111025.7zにくわえて
Octave3.4.3_gcc4.5.2_pkgs_20111026.7zもいれて
pkg rebuild -auto
でいけませんか。
不要なものはpkg uninstallで消す。
Octave3.4.3_gcc4.5.2_pkgs_20111026.7zにすでにoctave-forgeは入っていて,
それを再認識させるには pkg installでなく,pkg rebuildを使います。
199:名無しさん@お腹いっぱい。
11/10/31 01:21:57.38 .net
>>199
すみません、最初にpkg rebuild -autoしたのにどうしてもダメだと思ってましたが
octaveの再起動が必要なことに今の今まで気づいてませんでした;;
どうもお騒がせしました。
200:名無しさん@お腹いっぱい。
11/12/02 10:02:30.70 .net
FreeMATが4.0から4.1に上がりました
URLリンク(freemat.sourceforge.net)
Octave互換モードも出来たらしいです
FreeMATとOctaveを統合してはどうかという話もありますがはたして
201:octave for windows メモの筆者
11/12/03 10:38:58.08 .net
>>200
情報ありがとうございます。確かにOctave Integrationとありますね。
OctaveのMLでは,なにも話しは出ていませんが,どうなんでしょうね。
Octave MLでは3.6のリリースに向けて議論がなされています。
GUIも開発されつつあります。
202:octave for windows メモの筆者
11/12/03 20:10:07.47 .net
>>200
Octave のMLで情報を流してみました
URLリンク(octave.1599824.n4.nabble.com)
レスポンスがどうなるかですね。
203:名無しさん@お腹いっぱい。
11/12/04 10:21:08.63 .net
FreeMatって
G=1/(1+0.1*s)
bode(G)
みたいな事はできるんですかね?
Octaveは最新版でやっと出来るようになったみたいですが。
204::octave for windows メモの筆者
11/12/05 07:09:35.32 .net
control-2.2.2 released
だそうです。
URLリンク(octave.1599824.n4.nabble.com)
URLリンク(octave.svn.sourceforge.net)
205::octave for windows メモの筆者
11/12/08 07:03:41.15 .net
control-2.2.3 released in package forum - please upload
URLリンク(octave.1599824.n4.nabble.com)
[2]
URLリンク(octave.svn.sourceforge.net)
206:octave for windows メモの筆者
11/12/09 12:18:21.65 .net
NizanさんのWindows版Octave-3.4.3のバイナリがOctaveForgeにアップロード
されました。
URLリンク(sourceforge.net)
207:名無しさん@お腹いっぱい。
11/12/10 02:50:59.58 .net
>>206
おぉお。
ついに!
ありがとうございます
208:octave for windows メモの筆者
11/12/10 17:54:33.57 .net
>>206 >>207
今回のバイナリーには,インストーラーがありません。そのため上記のページに
詳しい解説とインストール方法が記載されています。英語なので,拙Webページに自分の
改定を少し加えた翻訳の解説とインストール方法を記載しましたので,ご利用
ください。
URLリンク(www.tatsuromatsuoka.com)
209:名無しさん@お腹いっぱい。
11/12/11 23:57:09.22 .net
cygwin(install all)いれるときに一緒に入れたoctave使いたい。
初期設定ファイルいじらずに、初めて起動した。
startxからoctave起動して、簡単な計算とかはできるんだけど
グラフがまったく出力されない。↓こんなのでる。
gnuplotにパス通してないから?(´・ω・`)
octave:1> x=[0,0.2,0.4]
x =
0.00000 0.20000 0.40000
octave:2> plot(x,sin(x))
78 [main] octave-3.4.2 2720 exception::handle: Exception: STATUS_ACCESS_VIOLATION
1712 [main] octave-3.4.2 2720 open_stackdumpfile: Dumping stack trace to octave-3.4.2.exe.stackdump
error: popen2: popen2 (child): unable to start process -- Bad address
error: called from:
error: /usr/share/octave/3.4.2/m/plot/__gnuplot_open_stream__.m at line 30, column 44
error: /usr/share/octave/3.4.2/m/plot/__gnuplot_drawnow__.m at line 72, column 19
error: Invalid call to strcat. Correct usage is:
-- Function File: strcat (S1, S2, ...)
error: called from:
error: /usr/share/octave/3.4.2/m/help/print_usage.m at line 87, column 5
error: /usr/share/octave/3.4.2/m/strings/strcat.m at line 92, column 5
error: /usr/share/octave/3.4.2/m/plot/__gnuplot_get_var__.m at line 113, column 11
error: /usr/share/octave/3.4.2/m/plot/__go_draw_axes__.m at line 40, column 18
error: /usr/share/octave/3.4.2/m/plot/__go_draw_figure__.m at line 167, column 19
error: /usr/share/octave/3.4.2/m/plot/__gnuplot_drawnow__.m at line 86, column 5
210:209
11/12/12 00:01:14.96 .net
過去レスにサンプルまでいっしょのレスがありました。驚きです。
cygwinのダウングレードで解決されていましたが、
ダウングレードはするつもりがないので相性がよくなるまで待ちます。
211:octave for windows メモの筆者
11/12/12 05:14:49.53 .net
>>210
CygwinのMLを見ているとOctaveとの相性の悪い1.7.9に代わって1.7.10が
テストリリースされているようです。まだ,試していませんが問題が解決して
いることを願います。
212:名無しさん@お腹いっぱい。
11/12/13 21:31:23.85 .net
213:名無しさん@お腹いっぱい。
11/12/13 21:31:51.59 .net
>>208
すいません
s=tf("s")
bode(s)
ってやるとボード線図は出るのですが、出てきたボード線図のグラフィックウインドウ上でマウスをドラッグしたり
ホイールをまわしたりすると、落ちちゃいます。
僕の環境(WinXP32bit)だけかもしれませんが。
普通にplotだと、出力されたグラフをマウスでいじっても大丈夫なんですが。
URLリンク(www.42ch.net)
214:名無しさん@お腹いっぱい。
11/12/15 09:13:34.34 .net
Mingw正式リリースの3.2.4を使っると巨大データでこけるので困っていました
(Memory Exhaustedのエラーを吐く)
特にWindows7 64bitだとすごくこけやすかったので
(理論的には2GBまで大丈夫なはずなのに500MBぐらいのメモリー使用でこける)
環境を変えるのはあまり好きでは無かったのですが
3.4.3を入れてみたら全くこけなくなりました、
このバージョンなら2GBまでこけないかも
助かりました
OpenBLASは
URLリンク(www.tatsuromatsuoka.com)
のを使わせていただきました
自分でmakeするとエラーが出たので
215:名無しさん@お腹いっぱい。
11/12/15 19:28:05.14 .net
>>214
MemoryExhaustedは3.2.4でも悩まされてるけど、
3.4.3は、さらに起きやすくなった。実際、同じスクリプトが動かなくなった。
216:名無しさん@お腹いっぱい。
11/12/16 09:38:28.61 .net
>>215
こちらはメモリーを4GB積んでます
それとWin7 32bit では試してないので
WinXP 32bit で 3.2.4
Win7 32bit で 3.2.4
Win7 64bit で 3.2.4
WinXP 32bit で 3.4.3
Win7 32bit で 3.4.3
Win7 64bit で 3.4.3
この6つの組合せとメモリー搭載量で起きやすい、起きにくいがあるのかもしれません
よっぽどMigw64bit でmakeしようと思ったけど、色々挫折した(笑
3.4.3を試そうと思ったのはOctaveのMailingリストで、3.2.4から3.4に上げれば
Memory Exhaustedが出ないよという書き込みがあったから
217:名無しさん@お腹いっぱい。
11/12/18 02:33:58.07 .net
iphone用octaveでないかなー
218:名無しさん@お腹いっぱい。
11/12/18 11:03:15.98 .net
>>217
そこでLinuX zaurusですよ
219:名無しさん@お腹いっぱい。
11/12/19 10:36:54.47 .net
Scilab 5.4.1のalpha版が出ました
URLリンク(www.scilab.org)
5.3.3は使っていてbugだらけだったので、少しはましになるかどうか
(xcos の AFFICH_mでリアルタイムで数値が表示されないのは
仕様じゃなくてbugだったのか orz)
220:octave for windows メモの筆者
11/12/20 03:33:44.62 .net
最近,HDDが壊れたThink Pad X40にUSB HDDを利用してUbuntu 11.10をいれて触っています。
Ubuntuのソフトウェアセンターのoctaveは3.2.4なので,3.4.3をビルドしてみました。
依存ライブラリが揃っており,Synapticパッケージマネージャーで簡単にインストールできました。
Windowsでのビルドの経験が役にたって少々の試行錯誤で無事ビルドできました。
なかなか,いい感じです。しかし,ビルドツールがUnbuntu上ではWindows上より
はるかに速いのでおどろきました。
また,3.6.0のプレリリースである3.5.90もビルドできました。
221:octave for windows メモの筆者
11/12/20 03:37:19.84 .net
最近,HDDが壊れたThink Pad X40にUSB HDDを利用してUbuntu 11.10をいれて触っています。
Ubuntuのソフトウェアセンターのoctaveは3.2.4なので,3.4.3をビルドしてみました。
Windowsでのビルドの経験が役にたって少々の試行錯誤で無事ビルドできました。
なかなか,いい感じです。
しかし,ビルドツールがUnbuntu上ではWindows上よりはるかに速いのでおどろきました。
また,3.5.90のビルドもできました
222:octave for windows メモの筆者
11/12/21 07:20:59.27 .net
最近,HDDが壊れたThink Pad X40にUSB HDDを利用してUbuntu 11.10をいれて
触っています。Ubuntuのソフトウェアセンターのoctaveは3.2.4なので,
3.4.3をビルドしてみました。
Windowsでのビルドの経験が役にたって少々の試行錯誤で無事ビルドできました。
なかなか,いい感じです。しかし,ビルドツールがUnbuntu上ではWindows上より
はるかに速いのでおどろきました。
223:octave for windows メモの筆者
11/12/21 07:22:37.20 .net
最近,HDDが壊れたThink Pad X40にUSB HDDを利用してUbuntu 11.10をいれて
触っています。Ubuntuのソフトウェアセンターのoctaveは3.2.4なので,
3.4.3をビルドしてみました。
Windowsでのビルドの経験が役にたって少々の試行錯誤で無事ビルドできました。
なかなか,いい感じです。しかし,ビルドツールがUnbuntu上ではWindows上より
はるかに速いのでおどろきました。
224:octave for windows メモの筆者
11/12/23 10:37:59.12 .net
>>220 -223
2chブラウザの特性を知らず同じ書き込みを何度もしてすみません。m(__)m
225:名無しさん@お腹いっぱい。
11/12/23 10:49:14.91 .net
>>214
>OpenBLASは
>URLリンク(www.tatsuromatsuoka.com)
>のを使わせていただきました
>自分でmakeするとエラーが出たので
MinGW上ではふつうにビルドしただけではエラーになるようです。
同時にできる静的ライブラリから,次の例のようにしてdllを作成しました。
i686-pc-mingw32-gcc -shared-libgcc -shared \
-Wl,--enable-auto-import \
-Wl,--enable-runtime-pseudo-reloc-v2 \
-Wl,--allow-multiple-definition \
-Wl,--out-implib=libblas.dll.a -o libblas.dll \
-Wl,--output-def=libblas.exp \
-Wl,--whole-archive libopenblas_nehalemp-r0.1alpha2.4.lib \
-Wl,--no-whole-archive -lgfortran
こうしてできたものを
URLリンク(www.tatsuromatsuoka.com)
にアップしました。
226:octave for windows メモの筆者
11/12/23 10:51:16.90 .net
>>225
i686-pc-mingw32-gcc -shared-libgcc -shared \
で始まる行が一行ずつ開いているのは詰めてください。m(__)m
227:octave for windows メモの筆者
11/12/23 12:16:03.65 .net
>>255
たびたびすみません。
>MinGW上ではふつうにビルドしただけではエラーになるようです。
Cygwin上でふつうにビルドしただけではMinGWでエラーになるようです。
で,CygwinのMinGW64の32bit版GCCで静的ライブラリからリンクしなおして,
dllを作成しています。
228:名無しさん@お腹いっぱい。
11/12/23 13:13:13.43 .net
>>227
どうもありがとうございました
dllのビルドがおかしかったんだ
229:名無しさん@お腹いっぱい。
11/12/23 13:22:53.36 .net
>>224
あ、おかえりなさいw
普通は自動追尾するはずなんですが、
板欄→板一覧の更新
スレ欄→スレ一覧の更新
を手動でやればいいんでしたっけか。
自分も適当にやったので、本当はどうすればいいのか、実はよくわかってないですw
というわけなんですが、
>>213
の状態になるのは僕の環境だけなんでしょうかねぇ?
230:octave for windows メモの筆者
11/12/23 16:04:18.95 .net
>>213 >>229
再現確認しました。
現在配布のバイナリは,share\octave\site\m\startup\octaverc
でfltkがgraphics_toolkitに指定してあります。
graphics_toolkit gnuplot
でやると落ちないようです。
gnuplotのmultiplotを使っているので,マウスぐりぐりは
変なことになりますが,落ちることはないようです。
fltkで落ちるのは,バグかなと思います。
ちょっと調べてみます。
231:octave for windows メモの筆者
11/12/23 16:04:31.43 .net
>>213 >>229
再現確認しました。
現在配布のバイナリは,share\octave\site\m\startup\octaverc
でfltkがgraphics_toolkitに指定してあります。
graphics_toolkit gnuplot
でやると落ちないようです。
gnuplotのmultiplotを使っているので,マウスぐりぐりは
変なことになりますが,落ちることはないようです。
fltkで落ちるのは,バグかなと思います。
ちょっと調べてみます。
232:octave for windows メモの筆者
11/12/23 16:06:37.91 .net
また,2重投稿になってるm(__)m
233:octave for windows メモの筆者
11/12/23 16:16:09.81 .net
>>230
subplotが怪しいのかなあとおもいましたが,単にsubplotしただけではfltkでの
グラフ落ちませんでした。Controlパッケージのせいなのかな?
ちょっと見当つかないですが,余力があればBug Trackerにあげてみます。
それで解決するかはわかりませんが。
234:octave for windows メモの筆者
11/12/23 16:32:41.70 .net
>>233
bug trackerにあげときました。
URLリンク(savannah.gnu.org)
235:名無しさん@お腹いっぱい。
11/12/23 18:01:28.68 .net
>>234
ありがとうございます。
お世話かけます。
236:octave for windows メモの筆者
11/12/24 12:24:11.51 .net
Octave-3.5.91がでました。
URLリンク(octave.1599824.n4.nabble.com)
3.6.0へ向けての最後のスナップショットとなると思います。
237:octave for windows メモの筆者
11/12/24 18:57:01.99 .net
少し前ですが,Octave のWikiが新しくなりました。
URLリンク(www.octave.org)
の左の Navigation の index からいろいろなページに飛べます。
238:octave for windows メモの筆者
11/12/25 05:39:00.48 .net
URLリンク(sourceforge.net)
/
にインストーラー版 Octave-3.4.3 for windowsがおかれました。
URLリンク(gnu-octave-repository.2306053.n4.nabble.com)
Octave-forgeは含まれないようなので,従来からあるOctave-Forgeを利用される
方は Octave3.4.3_gcc4.5.2_pkgs_20111026.7z の内容をを上書きして,
設定する必要があると思います。
239:名無しさん@お腹いっぱい。
11/12/25 22:30:58.01 .net
本当に初歩的な質問ですが、octaveで乱数(メルセンヌツイスタ)を使いたいのですが、その乱数がcファイルなので、どうすればoctaveで使えるのですか?
因みに目的はメルセンヌツイスタを用いた乱数発生で円を求める奴です
240:名無しさん@お腹いっぱい。
11/12/26 10:42:26.06 .net
>>239
help rand
を見ると、現在のOctaveのrandで用いているのは
擬似Mersenne Twisterのようです
241:octave for windows メモの筆者
11/12/26 13:59:09.11 .net
>>239
初歩的な質問でなく,かなり高度な質問(バリア)も高い質問です。
URLリンク(www.gnu.org)
を読んでoct ファイルを作る。C++だから,ラッパーを書く必要があるかも。
MATLABでも使うなら,mexがいいかもしれない。
URLリンク(www.gnu.org)
英語だから苦労するかもしれないけど,勉強だと思って。
242:octave for windows メモの筆者
11/12/26 14:00:58.82 .net
>>241外した答えになっているような気がする。許してください。
243:239
11/12/26 16:06:13.41 .net
>>240
ごめんなさい、メルセンヌツイスタ縛りなのでrand関数は不可です
あくまでも公式サイトから落としたメルセンヌツイスタプログラムを用いて計算しなければならないので…
てか何故PCから見れないんだ、このスレ(´・ω・`)
244:octave for windows メモの筆者
11/12/26 17:11:53.04 .net
いまは↓
スレリンク(unix板)
で見れるようです。私もある方に教えてもらいました。
245:octave for windows メモの筆者
11/12/26 17:19:19.18 .net
>>243
URLリンク(www.math.sci.hiroshima-u.ac.jp)
ソースはこれですか。
コンパイルして,実行形式を作る。
そのあと,Octaveから system コマンドをつかって実行して,
load コマンドなどでOctaveの変数に取り込むのが手っ取り早いかと。
246:名無しさん@お腹いっぱい。
11/12/26 18:33:11.68 .net
それです、正にそれです
流石に馬鹿過ぎる質問ですがコンパイルと実行ファイル制作ってどうするんですか?
コマンドプロンプトを使ってやるのですか?
それともoctave上でコンパイルするのですか?
あ、当然ググりました
247:名無しさん@お腹いっぱい。
11/12/26 19:02:34.54 .net
>>246
課題?
$ gcc -o mt19937ar mt19937ar.c
$ ./mt19937ar
1000 outputs of genrand_int32()
1067595299 955945823 477289528 4107218783 4228976476
3344332714 3355579695 227628506 810200273 2591290167
(以下略)
248:名無しさん@お腹いっぱい。
11/12/26 23:46:31.06 .net
>>247
無事に窓を用いてコンパイルは出来ました(mt19937ar.exe)
けどそこからがよく分かりません…
system関数?load関数?
因みにこれは微妙に課題です
ゼミでoctaveを使うことになったのでその予行練習課題みたいなものです
249:名無しさん@お腹いっぱい。
11/12/27 00:10:48.73 .net
>>239
確認ですが、その問題というのは、
0~1の乱数を2個発生させる。(r1,r2)
r1^2+r2^2< 1 だったら カウンタを1増加させる。
この作業を100万回行う。
カウンタの値/100万×4がπになるはず
っていう問題ですかい?
問題を丸投げするんだから、情報を小出しにせず、
堂々と丁寧に全部書くことをオススメします。
250:名無しさん@お腹いっぱい。
11/12/27 00:40:58.98 .net
了解しました
課題は2次元球(円)から10次元球までの体積(面積)をoctaveを用いて解くものです
条件としましては
・乱数を用いること、その際条件としてメルセンヌツイスタを用いる
・半径は1(x1+x2+x3+…+xn≦1を満たす、但しx1,x2,x3,…,xnはメルセンヌツイスタを用いて発生させた乱数とする)
・乱数発生回数は問わない(但し回数は考察対象とする)
因みに背景としましては、自分卒研にてベイズ推計を用いての逆問題について研究していますので、その際用いられるMCMC法でメルセンヌツイスタ乱数およびoctaveが必要なので、先生から予行練習課題としてこの課題が出されたのです
251:名無しさん@お腹いっぱい。
11/12/27 00:46:21.14 .net
訂正です
乱数の範囲は[0,1]です
そして体積はV=(octaveで求めた値)×2^n(n:次元)で求めるものとします
一応octaveの基本はある程度理解をしたのですが、高度なのはさっぱり分からないのでここで聞きました
252:名無しさん@お腹いっぱい。
11/12/27 00:49:10.19 .net
書き忘れた…orz
>>249で書いてるのと一緒です
オレの馬鹿、連レスサーセンです
253:名無しさん@お腹いっぱい。
11/12/27 01:24:12.38 .net
>>252
多分、方法は2つあって、
1) メルセンヌツイスタのアルゴリズムをOctaveで書き下ろして使う
2) URLリンク(dirk.eddelbuettel.com) を読む
のどっちかじゃないすか?
#そもそもなんで、この問題をわざわざoctaveでやるのかの意味がよくわからんです。
octaveでどんな問題でも解けるように というトレーニングなら1)の方法でしょーね。
254:octave for windows メモの筆者
11/12/27 06:47:11.09 .net
>>253 番さんの
2)の方法を使うためには,>>241のoctファイルを作成する方法をOctaveの
マニュアルでよんでください。
randmt.cc をダウンロードして
mkoctfile コマンドをつかって,Octファイル作ればいいのですが,
なんかエラーがでてしまいます。
octave:2> mkoctfile randmt.cc
randmt.cc:42:17: warning: inline function 'uint32 randomMT()' used but never defined
randmt.o: In function `randomMTunit':
E:\usr\Tatsu\test\octave/randmt.cc:48: undefined reference to `randomMT'
randmt.o: In function `Z11FrandmtseedRK17octave_value_listi':
E:\usr\Tatsu\test\octave/randmt.cc:105: undefined reference to `seedMT'
randmt.o: In function `randomMTunit':
E:\usr\Tatsu\test\octave/randmt.cc:48: undefined reference to `randomMT'
E:\usr\Tatsu\test\octave/randmt.cc:48: undefined reference to `randomMT'
E:\usr\Tatsu\test\octave/randmt.cc:48: undefined reference to `randomMT'
E:\usr\Tatsu\test\octave/randmt.cc:48: undefined reference to `randomMT'
E:\usr\Tatsu\test\octave/randmt.cc:48: undefined reference to `randomMT'
randmt.o:E:\usr\Tatsu\test\octave/randmt.cc:48: more undefined references to `randomMT' follow
collect2: ld returned 1 exit status
うーむ。
255:octave for windows メモの筆者
11/12/27 06:57:19.79 .net
>>254 ページをよく読んでいなかったorz。
Download code.からoctave-mt.tar.gzをダウンロードする。
適当なフォルダに解凍する。
たとえば,E:\usr\Tatsu\test\octave\octave-mt に解凍したら,
octave:3> cd E:\usr\Tatsu\test\octave\octave-mt
octave:4> system('make')
のようにすると
gcc -Wall -O6 -c -o cokus.o cokus.c
mkoctfile randmt.cc cokus.o
randmt.cc:42:17: warning: inline function 'uint32 randomMT()' used but never defined
ln -sf randmt.oct randmtseed.oct
ln -sf randmt.oct randmtn.oct
ans = 0
とoctファイルができる。
helpを読むには,
octave:5> help randmt
とする。
256:名無しさん@お腹いっぱい。
11/12/27 12:06:42.27 .net
やってみました
octave:1> cd "C:/Documents and Settings/DateMasa/デスクトップ/MT"
octave:2> system('make')
mkoctfile randmt.cc cokus.o
randmt.cc:42: warning: inline function `uint32 randomMT()' used but never define
d
c:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: unrecogniz
ed option '--enable-runtime-pseudo-reloc-v2'
c:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: use the --
help option for usage information
collect2: ld returned 1 exit status
make: *** [randmt.oct] Error 1
ans = 2
こんな感じのエラーが出てしまいました…
確認で一応 help randmt を実行しましたが「そんな関数なんてねーよ」と吐き出してきました
後マニュアルに書いてあるとおりmkoctfileでccファイルをoctファイルにしてみようと試みたのですが
これもエラーが出てしまいました
257:名無しさん@お腹いっぱい。
11/12/27 12:23:14.32 .net
因みにmkoctfileでのエラーは次のとおりです
octave:6> mkoctfile randmt.cc
g++: randmt.cc: No such file or directory
g++: no input files
g++: randmt.o: No such file or directory
258:octave for windows メモの筆者
11/12/27 12:50:27.95 .net
>>256 >>257 パスにスペースがあるとだめですよ。
だから
cd "C:/Documents and Settings/DateMasa/デスクトップ/MT"
ではだめです。
259:名無しさん@お腹いっぱい。
11/12/27 13:54:13.73 .net
アドバイスを参考にスペースが入らないよう解凍位置を変更してみました
octave:3> cd C:/MT-file
octave:4> system('make')
mkoctfile randmt.cc cokus.o
randmt.cc:42: warning: inline function `uint32 randomMT()' used but never define
d
c:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: unrecogniz
ed option '--enable-runtime-pseudo-reloc-v2'
c:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: use the --
help option for usage information
collect2: ld returned 1 exit status
make: *** [randmt.oct] Error 1
ans = 2
これでhelp randmtをやっても「だからねーって言ってるだろ」とエラーが出てしまいました
どこが違うのか…
260:octave for windows メモの筆者
11/12/27 14:08:52.94 .net
>>259
c:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: unrecogniz
ed option '--enable-runtime-pseudo-reloc-v2'
c:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: use the --
help option for usage information
collect2: ld returned 1 exit status
make: *** [randmt.oct] Error 1
ans = 2
ちがったGCCのバージョンが認識されてますね。(3.4.5)
Octave 3.4.3ではGCC-4.5.2がパッケージされていて,
それが認識されないといけないのですが。
URLリンク(octave.1599824.n4.nabble.com)
が参考になるかもです。
ちなみに'--enable-runtime-pseudo-reloc-v2’はGCC-3.4.5にはないオプションです。
261:名無しさん@お腹いっぱい。
11/12/27 15:44:46.34 .net
minGWを新しいものに変え、今までの事をやりました
無事randmtが起動できました
そして課題もまとめることができました
本当にありがとうございます!
262:octave for windows メモの筆者
11/12/28 06:35:47.21 .net
>>261 よかったですね。卒研頑張ってください。
263:octave for windows メモの筆者
11/12/28 06:58:12.76 .net
>>213 >>234
URLリンク(savannah.gnu.org)
Control PackageとFLTKの組み合わせでBode線図にグラフに問題があるのは,
Windows だけでないようです。
3.6.0で改善すればよいのですが。
3.6のプレリリースの3.5.90や現在developmentソースでControl packgeが
組み込めない状態なのでちょっと時間がかかると思います。
しばらくは,gnuplot を graphics_toolkit にしてお使いください。
264:名無しさん@お腹いっぱい。
11/12/28 22:51:43.25 .net
本当に初歩的な質問で申し訳ございません。
今octave3.4.3をインストールして使おうと思っています。
octaveはmatlabと非常に相関性があるということで家ではこのoctaveを使おうと思っています。
そこでいくつか質問があります。
1.octaveを起動させ、matlabコードを張り付けて実行したいのですが
張り付けすることができません。
いちいち、タイプしなければならないんでしょうか?
2.matlabでは、memo帳(functionやscript)が出てきてそこにコードを打って
実際のmatlab上で実行させるのですが、このoctaveはメモ帳のようなものはなく
いちいち打たなければならないのでしょうか?
調べてみると、matlabと同じようにfunctionがあるみたいですが、
これはfunctionが別のところになければ実行できないのですが、
どうすればよいのでしょうか?
よろしくお願いいたします。
265:octave for windows メモの筆者
11/12/29 06:23:58.44 .net
>>264
文章からして、windows上のことと思います。Octaveは、マルチプラットフォーム
なソフトなので、OS(Windows, Mac, Linix)などを記載してください。
私の書く文章にわからない点があると思いますが適宜Googleなどで
調べてください。
1.Windows上では、Octaveはコマンドプロンプト上で動作しています。
octaveの実行ウィンドウをマウスで右クリックして、プロパティを開き、
オプションタブで簡易編集モードがアクティブになっていることを確認
してください。octave のプロンプトに張り付けたい文章をクリップボード
にコピーしてoctaveのプロンプト上で右クリックをすれば、張り付ける
ことができます。
これは、Octaveの機能というよりコマンドプロンプトの機能ですので
「コマンドプロンプト 張り付け コピー 簡易編集モード」などで
ググってください。NotePad++を既定のテキストエディタにするには、
Octaveをダウンロードされたページの説明(英語)をよく読んでください。
設定をすれば、octave のプロンプトからeditとうてば起動できます。
2.将来的には、octaveもMATLABのようなGUIを備えたソフトになるべく
作業がされていますが、現在はGUIソフトではありません。
テキストエディタは自分で準備してください。
Notepad++がいいのではと思います。
>調べてみると、matlabと同じようにfunctionがあるみたいですが、
これはfunctionが別のところになければ実行できないのですが、
どうすればよいのでしょうか?
なにが言いたいのかよくわかりません。もう少し実例をあげてわかりやすく
質問してください。
266:octave for windows メモの筆者
11/12/29 06:28:52.00 .net
>>265 いかん文章の推敲があまいなあ。
NotePad++を既定のテキストエディタにするには、
Octaveをダウンロードされたページの説明(英語)をよく読んでください。
設定をすれば、octave のプロンプトからeditとうてば起動できます。
は
2.の部分の説明でNotepad++ を既定のエディタにするために何を読めばいいか
をかきました。
なお、拙ページに説明の翻訳をあげていますので、よければ参考にしてください。
URLリンク(www.tatsuromatsuoka.com)
267:octave for windows メモの筆者
11/12/29 06:34:02.08 .net
>>264
バージョンは、3.2.4ですが、私のoctaveを使った講義の資料を紹介した部分を
あげていますので参考になれば幸いです。
URLリンク(www.tatsuromatsuoka.com)
268:名無しさん@お腹いっぱい。
11/12/29 11:36:23.43 .net
どういうわけかグラフを一つ書きません。
訳がわかりません。
## WindowsXP + octave 3.2.4 and 3.4.3
clf
for i = 1:4
subplot(4,4,i+12);
h=plot(randn(1,5),"r+");
set(gca(),"position",[(i-1)*0.225+0.1, 0.25, 0.2,0.2])
endfor
input("3番目が抜けているはず。書き直すと今度は書く。改行で継続","s");
i = 3;
subplot(4,4,i+12);
h=plot(randn(1,5),"r+");
set(gca(),"position",[(i-1)*0.225+0.1, 0.25, 0.2,0.2])
269:名無しさん@お腹いっぱい。
11/12/29 13:53:53.94 .net
Notepad++(テキストエディタ) の インストール(オプション,推奨)
最新の Notepad++ を URLリンク(notepad-plus-plus.org) からダウンロードし,インストールします。
<Install folder>\share\octave\site\m\startup\octaverc をエディタで編集する。 次の行のコメントを解除し,Octave の既定のエディタに設定します。
EDITOR('C:\\Program Files\\Notepad++\\notepad++.exe');
注意:notepad++.exe がインストールされるフォルダが上記でない場合は,設定を適宜変更します
これをやったのですが、
editとうっても
error: C:\Octave\Octave3.4.3_gcc4.5.2\Octave3.4.3_gcc4.5.2\share\octave\3.4.3\
m\miscellaneous\edit.m at line 212, column 7
と出てきて起動できません。
270:名無しさん@お腹いっぱい。
11/12/29 20:44:28.38 .net
>>264
エスパー的解釈で補完して答えてあげやう。
どうせwindows版だろうし。
1)C:\Octave というフォルダがあるだろうから(なければ作る)
その中に
MyProj とかいうフォルダを作る。
1)Windowsのメモ帖を立ち上げる。
2)そこに
a=1
b=a+5
ってな感じでmatlabっぽいコードを書いて見る。
3) 名前をつけて保存で ファイルの種類をテキスト文書(*.txt)じゃなく、全ての文書(*.*)にしてから
1)で作ったc:\Octave\MyProjの中に mytest.m という名前で保存する。 ファイル名は適当でいいが、
拡張子は必ず .m にすること (テキスト文書で保存すると、 mytest.m.txt っていうワケワカランファイル名に
なってしまうので注意)
4)Octaveを立ち上げる。
5) cd c:\octave\myproj と打つ。 (1で作ったフォルダ)
6) pwd と打って、ans=c:\octave\myproj って出るのを確かめる
7) dir と打って、 mytest.m が表示されるのを確かめる
8) mytest と打つ( 拡張子 .m は つけちゃダメ)
9) 動いた?
10) 本当は source mytest.m と打つべきなんだけどね(これは拡張子をつける。ややこしいね)
11) mytest とうつと、 mytest という関数を起動しようとして、カレントディレクトリを探すと
mytest.m があるので それが起動されるというシカケなのだ。
12) 例えば which mytestってやると、それがどこにあるかわかるだろう
13) たとえば which plotってやると実は plot も plot.m を遥か深い漆黒の穴から古(いにしえ)の契約により呼び出している事がわかるだろう
14) こんなもんでどうでしょか?
271:名無しさん@お腹いっぱい。
11/12/30 00:06:35.73 .net
>>263
対処ありがとうございます。
どうも複合技でバグっているっぽいですね。
慣れ親しんだgnuplotで使い続けさせていただきます。
それにしてももう少し起動が早くならないですかねぇ。
scicoslab (scilabじゃなくて) はとても起動が速いのに。
272:octave for windows メモの筆者
11/12/30 07:12:56.31 .net
>>271 起動はUbuntuなどのUnixではとても速いです。起動がWindows用に最適化
されていないように感じます。
273:octave for windows メモの筆者
11/12/30 08:18:47.62 .net
>>269
どうもoctavercおかしい、文字列をの''であって、""でないから、\\でなくて\が
パスセパレータですね。でも、おかしい
octave:1> edit
warning: unrecognized escape sequence `\P' -- converting to `P'
warning: unrecognized escape sequence `\N' -- converting to `N'
error: system: CreateProcess failed -- can't create child process
error: called from:
error: C:\Octave\Octave3.4.3_gcc4.5.2\share\octave\3.4.3\m\miscellaneous\edit.m at line 212, column 7
とりあえず、Notepad++をOctaveとは別に起動してそこで編集してみてください。
274:octave for windows メモの筆者
11/12/30 08:33:41.29 .net
>>271 >>263
Cygwin版octaveで、試してみました。FLTKマウスぐりぐりでも、Octaveハング
しません。ただし、マウスぐりぐり自体は少し変ですが。
# Cygwin版では、octave-forgeパッケージはauto loadでないですね。
275:octave for windows メモの筆者
11/12/30 15:21:23.37 .net
>>273 windows 7 64ビットだとNotePad++は
C:\Program Files (x86)\Notepad++
にインストールされる。
()は、認識されるかわからないので、コマンドプロンプトで
dir c:\ /X
古いプログラム互換のための短いパス名を調べて、Program Files (x86)
は、PROGRA~2であることがわかる。ついてにパスセパレータを\から
/に変更して、私の環境では、
EDITOR('C:/PROGRA~2/Notepad++/notepad++.exe');
としてみた。
これで、octave のコマンドプロンプトから、editで NotePad++ が
(少なくとも私の環境では)起動するようになった。
276:名無しさん@お腹いっぱい。
11/12/31 10:25:08.41 .net
>>270
できました!
すごい。9の時点で動いたので、これからはnotepadにコードを作って
そのたびに5から8の動作をして確かめたいと思います。
本当にありがとうございました:D
277:octave for windows メモの筆者
12/01/06 15:14:04.04 .net
New dependency libraries and toolkits for MinGW build are uploaded.
URLリンク(octave.1599824.n4.nabble.com)
278:名無しさん@お腹いっぱい。
12/01/06 23:34:58.90 .net
matlab風に使いたいのでoctave workshopのinstaller付のwin版を
ダウンロードしたのですが、インストールはできたのに起動しません。
原因をご存知の方がいればお教えください。
279:octave for windows メモの筆者
12/01/07 12:55:10.79 .net
>>278
Octave Workshopのoctaveあまりにも古く,使用するのはあきらめてください。
GUI Octaveの方が現実的だと思います。
URLリンク(sites.google.com)
GUI OctaveではOctave-3.2.4ですが,頑張ればOctave-3.4.3も使用できます。
URLリンク(guioctave79.freeforums.org)
(OpenGLのgraphicsが使用できませんが。)
280:名無しさん@お腹いっぱい。
12/01/07 21:22:43.08 .net
278です。
GUI Octaveをインストールしたのですが
Error message: Redirect console error: 3
と表示されてしまいます。
たびたび申し訳ありませんが、原因をご存知の片がいればお教えください。
281:octave for windows メモの筆者
12/01/08 07:16:25.00 .net
>>281 私は,GUI に興味がないので使用したことがないので,お役に立てません。
ここで回答がつかなければ,GUI Octaveは生きているプロジェクトのようです
ので敷居は高いですが,GUI Octaveの英語のフォーラムで尋ねられるとよいか
と思います。
282:名無しさん@お腹いっぱい。
12/01/08 12:10:39.94 .net
>>280
Octave-3.2.4をインストールしていない
に1票
283:名無しさん@お腹いっぱい。
12/01/08 12:30:30.35 .net
Octave-3.2.4をインストールする前にGUI Octaveをインストールすると、
Error message: Redirect console error: 3
が出る。
これは、GUIOctaveの File/Options/Octave/GNUOctave Executable Files Directory に
パスが正しく設定されていないことでもわかる。
Octave-3.2.4を入れているのに、なぜかここにパスが設定されていないときは、
ここに
C:\Octave\3.2.4_gcc-4.4.0\bin
を設定する。
そもそもOctave-3.2.4を入れていないのであれば、
一度GUIOctaveをアンインストールして、Octave-3.2.4を入れる.
これが正しく入っていると、GUIOctaveはインストール時に自動的にOctaveパスをセットしてくれるので
特に設定は要らない。
Octave-3.2.4を入れるときには
octave for windows メモの筆者さんの
URLリンク(www.tatsuromatsuoka.com)
を、ありがたく、よく読んでからな~
284:octave for windows メモの筆者
12/01/09 13:38:37.75 .net
3.6.0がでそうでなかなか,いろんな話題がでてなかなかでませんが,
そういうなか 3.5.92のスナップショットがでました。
ビルドできる人はトライしてみてください。
URLリンク(octave.1599824.n4.nabble.com)
285:octave for windows メモの筆者
12/01/11 08:09:58.85 .net
Octave-3.6.0のrc0がでました。
URLリンク(octave.1599824.n4.nabble.com)
Octave-3.6.0のリリースもまもなくでしょう。
286:名無しさん@お腹いっぱい。
12/01/11 13:30:25.43 .net
FreeBSD 9.0Rが出たので入れてみたメモ
octaveはpackagesから入れると起動時にGLIBCXXなにがしというエラーが出ます
portsから入れるとmake途中で同じエラーが出ます
原因はglibcのバージョンの問題で
LD_LIBRARY_PATH
の先頭に
/usr/local/lib/gcc46
を入れてください。
一応正常そうに動きました。
287:名無しさん@お腹いっぱい。
12/01/14 20:02:14.37 .net
for i=1:1:n
t=0:dt:t;
figure(i)
subplot(1,3,1)
plot(t,xx1(i,:))
grid on
title('Displacement-time')
xlabel('time')
ylabel('displacement')
subplot(1,3,2)
plot(t,xx2(i,:))
grid on
title('Velocity-time')
xlabel('time')
ylabel('Velocity')
subplot(1,3,3)
plot(t,xx3(i,:))
grid on
title('Acceralation-time')
xlabel('time')
ylabel('Acceralation')
hold on
end
288:名無しさん@お腹いっぱい。
12/01/14 20:04:41.86 .net
上のコードは自分で作成しました。
もし、n=5であれば、5つの図を出したいのですが、
上記の場合ですと、1つ目の図はプロットされていますが、
2つ目以降のグラフは、grid とtitleなどが表示された図が表示されるだけで
プロットされてません。
なお、xx1やxx2はちゃんと値が入っているので数字的ミスはまったくないです。
forで回すのは、figureを作成するうえでやめたほうがいいんでしょうか?
よろしくお願いします。
289:octave for windows メモの筆者
12/01/14 22:22:53.77 .net
>>288
それぞれの図を描くとき
drawnow
が入っていないのが原因なのでは?
290:名無しさん@お腹いっぱい。
12/01/15 12:05:33.07 .net
t=0:dt:t;
octaveにかけると、この文でエラーになるけど?
291:octave for windows メモの筆者
12/01/15 14:17:54.69 .net
>>290
上のコードはこれ単独では動きません。
動かすには,tとdtの設定のほかにも,xx1とxx2の定義が必要ですので。
できれば,単独で動いて動作確認できるコードをあげていただけると
答えがつきやすいと思います。
ところで
t=0:dt:t; はループの外に出すでしょう。ループの中にいれるのは,
間違いでないけど意味が不明です。
292:octave for windows メモの筆者
12/01/15 18:49:34.46 .net
やってみました。たしかにループでなく描画するとグラフかけますね。
バグかもしれません。
Octaveのバージョン,Windows,Mac,Linuxなどお知らせください。
293:octave for windows メモの筆者
12/01/15 18:50:29.52 .net
>>
おっと, windows版octave 3.4.3で試してみました。
294:octave for windows メモの筆者
12/01/16 06:47:46.80 .net
Octave-3.6.0がリリースされました。
URLリンク(octave.1599824.n4.nabble.com)
295:octave for windows メモの筆者
12/01/16 12:17:54.38 .net
>>287
よくコードを読むと
t=0:dt:t;
がfor loopの中に入っているためn=2からは
区間ではなくなってますね。
t=0:dt:t
をloopの外に出すと正しく動くようです。
以上
296:octave for windows メモの筆者
12/01/26 06:54:39.70 .net
Octave team で開発中のOctave-GUIの現在のスナップショット
URLリンク(www.geocities.co.jp)
Windows上のスナップショットですが,Ubuntuでもほぼ同じイメージでした。
297:octave for windows メモの筆者
12/01/26 13:07:09.86 .net
>>213
bode線図でこけるのは,control packageのせいではではなく,
fltk graphic_toolkit が対数軸でのマウスオペレーションがこける
ためのようです。
URLリンク(savannah.gnu.org)
298:名無しさん@お腹いっぱい。
12/01/27 09:11:43.11 .net
>>296
Scilabも5.4.0-alphaからコマンドウインドウの左右に
補助ウインドウが出るようになりました
ただしScilabは左が、変数&履歴ウィンドウ、右がファイルブラウザ
まあでもド素人にMatlab系のプログラミング技術を教えるだけなら
FreeMATでいいかもしれないです
インストールが簡単だし、dos画面じゃないし、
グラフもgnuplotとかではなくてネイティブだし
299:名無しさん@お腹いっぱい。
12/01/29 11:13:02.52 .net
>>298
FreeMATって、コントロールパックとかあるんでしたっけ?
伝達関数とか、それのインパルス応答とか、ボード線図かくやつ。
300:名無しさん@お腹いっぱい。
12/01/29 14:56:20.91 .net
>>299
無いですね
tfもzpもstepもbodeも
制御をやる目的ならscilabの方がいいと思います
scilabはmatlabから入ると流儀がわからないかもしれませんが
慣れればどってことないです
octaveは限界が高いですけど
初心者がやるにはハードルも高いと思います
dos画面だけってのは初心者は面くらうでしょう
それで電卓代わりに使う目的ならfreematで十分という話です
301:octave for windows メモの筆者
12/01/30 07:48:33.24 .net
>>300
OctaveはもともとUnix由来のソフトですし,Windowsの開発陣のリソースは実に
薄い。UnixではTerminalでのソフトはまだ一般的ですし,UnixのTerminalは
コマンドプロンプトよりは使いやすい。
#Windows 2000からはコマンドプロンプトが正しい名称であって
#ドスプロンプトではないです。まあ,それのほうがつうじますが。
302:octave for windows メモの筆者
12/01/30 07:54:27.43 .net
>>301 ちょっと舌足らずした。
とはいうもののUnixでもGUIのご時世なので,Octave本体もやっと
真剣にGUIインターフェースをつくりはじめています。
ちとお待ちください。
303:octave for windows メモの筆者
12/01/31 12:28:20.15 .net
Octave3.6.0_gcc4.6.2 mingw binaries for testing
URLリンク(octave.1599824.n4.nabble.com)
インストールの仕方などは以下を参照してください。
URLリンク(www.octave.org)
304:名無しさん@お腹いっぱい。
12/01/31 23:58:19.85 .net
遅ればせながら、3.6.0のNEWSを読んでみた。
ぱっと目についた新機能は以下。
1.バイナリ演算子のブロードキャスト
ex.) rv=(1:5)'、M=magic(5)の時、repmat(rv,1,5).*Mがrv.*Mと書ける
2.プロファイラの実装
profile, profshow, profexplore
3.parfor(for文の並列処理)のサポート
但し、内部動作はforのまま
parfor、一瞬期待したのに…!
305:octave for windows メモの筆者
12/02/01 06:16:26.76 .net
>>303
Release 3.6.0 still not "official"
URLリンク(octave.1599824.n4.nabble.com)
で3.6.1がでるようです。qhullのルーチンがごく最近改定されたのでちょうど
いいかもです。Windows版のビルドもATLASのバージョンを変えてテストが
終わりつつあるのでこれもいいかもです。
parforですか。たしかにあるといいと思いますが今の開発陣のマンパワー
だとどうかなという気がします。そこらへんに強い人が開発陣に参戦される
ことを期待したいのですが。
306:octave for windows メモの筆者
12/02/02 10:06:13.73 .net
Octave for GNU Linux: Binary Octave packages for GNU Linux
URLリンク(www.octave.org)
307:octave for windows メモの筆者
12/02/08 07:05:13.92 .net
Octave 3.6.1-rc0 release candidate available for ftp
URLリンク(octave.1599824.n4.nabble.com)
308:名無しさん@お腹いっぱい。
12/02/10 15:43:20.25 .net
octaveってデフォルトで上三角の連立方程式 U x = y を高速に解けないの?
ちょっと使ってみようと思ってググったら2003年の記事出てきたんだけど、
URLリンク(www.math.meiji.ac.jp)
これ未だにfixされてない?
309:名無しさん@お腹いっぱい。
12/02/10 23:24:48.60 .net
>>308
もしかして、試してすらいない?
うちの環境だとこんな感じ。
Octave 3.2.4, Linux 2.6.32, Core2Duo 1.8GHz
octave:1> lutest(5000);
P の掛け算の計算時間
Elapsed time is 0.0580444 seconds.
L による割り算の計算時間
Elapsed time is 0.0310717 seconds.
U による割り算の計算時間
Elapsed time is 0.0300882 seconds.
leftdivu() による割り算の計算時間
Elapsed time is 0.843658 seconds.
精度
ans = 1.1294e-06
ans = 1.1197e-06
※実際は100回計算してる。上の時間は平均値
310:名無しさん@お腹いっぱい。
12/02/11 17:30:46.00 .net
>>309
試してというか、インストールすらまだしてないw
ちょっとoctave使ってみようかな、ありがとう
311:名無しさん@お腹いっぱい。
12/02/14 21:52:48.99 .net
久々です
少し訳の分からないエラーが出たので質問したいのですが…
今サクラエディタ上で次のようなプログラムを作ってました
function dx = f(x,t)
dx = 1/(1+t^2);
end
t = linspace(0,10,101);
x = lsode("f",1,t);
因みにプログラムの内容は微分方程式 X' = 1/(1+t^2)をlsodeを用いて解くというものです
コレをコンパイラしたところ以下のようなエラーが出てしまいます
warning: function name `f' does not agree with function file name (filename)
parse error near line 5 of file (filename)
syntax error
>>> t = linspace(0,10,101);
error: `t' undefined near line 2 column 12
error: called from:
error: (filename)
こんな感じのエラーでした
しかし窓でプログラムを制作した場合は何故かエラーなしでグラフを表示することができました
何でこんなエラーが出たのでしょうか?
^
312:octave for windows メモの筆者
12/02/15 07:42:59.15 .net
>>311
今サクラエディタ上で次のようなプログラムを作ってました
というのは,以下の内容を含むmファイルを作成して(例えばfoo.m)
function dx = f(x,t)
dx = 1/(1+t^2);
end
t = linspace(0,10,101);
#**********:
Octave のプロンプトからfooと打ったということでしょうか。
Octaveのmファイルには,スクリプトmファイルと関数mファイルがある。
Octaveはfunctionで始まるmファイルは関数mファイルと考える。
上の例は関数定義のあとにlsodeがあり,明らかに関数mファイルではない。
したがって上のスクリプトは間違いである。
warning: function name `f' does not agree with function file name (filename)
は,関数mファイルは関数名とファイル名が一致しないといけないのでたwarning.
313:octave for windows メモの筆者
12/02/15 07:43:43.77 .net
>>311 >>312
上のスクリプトをスクリプトmファイルと認識させたいならfunctionキーワードの
前に命令を入れる。例えば
1;
function dx = f(x,t)
dx = 1/(1+t^2);
end
1;は無意味な命令だがそのおかげで,octaveはこのファイルをスクリプトm
ファイルと認識できる。
314:名無しさん@お腹いっぱい。
12/02/15 20:58:11.93 .net
>>313
解決しました!
ありがとうございます!
315:名無しさん@お腹いっぱい。
12/02/21 22:33:37.23 .net
流石に課題丸投げは行けないと思うが、悩みに悩んだ結果積んでしまったので教えてください
URLリンク(loda.jp)
これが課題の内容(pdf形式)です
只今小問2に関するプログラムを制作してるのですが、どうしても等高線グラフができません
一応原因はある程度把握してますが(ip(k,n)に関して、kが整数ではないからエラーがでる)それに変わるプログラムが分からず…
以下に小問2に関するプログラムを載せますので、どこがどう違うのかを指摘してくれれば有難いです
1;
function dx = f(x,t,n1,k1)
dx = -k1*x^n1;
endfunction
t = (0:1:300);
x0 = 10;
for k = 10^-9 : 0.1 : 1
for n = 1 : 5
x = lsode(@(x)f(x,t,n,k),x0,t);
ip(k,n) = (x(21) - 8)^2 + (x(41) - 6)^2 + (x(61) - 5)^2 + (x(121) - 3)^2 + (x(181) - 2)^2 + (x(301) - 1)^2;
endfor
endfor
contourf(pi)
316:octave for windows メモの筆者
12/02/23 11:42:18.48 .net
>>315
URLリンク(loda.jp)
がダウンロードできないので,もとの問題についてはわかりませんが,
ip(k,n) = (x(21) - 8)^2 + (x(41) - 6)^2 + (x(61) - 5)^2 + (x(121) - 3)^2 + (x(181) - 2)^2 + (x(301) - 1)^2;
はkが正の整数かロジカルでないといけないので,こういう書き方は許されません。
317:octave for windows メモの筆者
12/02/23 11:52:06.35 .net
>>316
(ip(k,n)に関して、kが整数ではないからエラーがでる)って書いてありましたね。
すみません。
318:octave for windows メモの筆者
12/02/23 12:13:15.01 .net
>>315
1;
function dx = f(x,t,n1,k1)
dx = -k1*x^n1;
endfunction
t = (0:1:300);
x0 = 10;
k=1e-9;
for m = 1:10
for n = 1 : 5
x = lsode(@(x)f(x,t,n,k),x0,t);
ip(m,n) = (x(21) - 8)^2 + (x(41) - 6)^2 + (x(61) - 5)^2 + (x(121) - 3)^2 + (x(181) - 2)^2 + (x(301) - 1)^2;
k=k+0.1;
endfor
endfor
contourf(ip)
は一応等高線はでるが,目指しているものと同じかわかりません。
319:octave for windows メモの筆者
12/02/23 13:27:38.33 .net
>>318
contourf(ip)
は
contourf(1:5, 1e-9:0.1:1, ip)
か
contourf(1e-9:0.1:1, 1:5,ip')
にすればよいかも。
320:octave for windows メモの筆者
12/02/23 17:57:12.75 .net
>315-319
要は配列の概念とcontoturfの使い方がわかっていないのかなと思います。
ヘルプを読めばいいのですが,英語ですしね。無理もないかもしれません。
pdfをダウンロードできました。
もう少しいじる必要があると思いますが,基本的にはこれでいいのかな。
あとは自力で頑張ってください。
321:octave for windows メモの筆者
12/02/23 18:04:53.50 .net
>315-319
要は配列の概念とcontoturfの使い方がわかっていないのかなと思います。
ヘルプを読めばいいのですが,英語ですしね。無理もないかもしれません。
pdfをダウンロードできました。
もう少しいじる必要があると思いますが,基本的にはこれでいいのかな。
課題ですので,あとは自力で頑張ってください。
322:octave for windows メモの筆者
12/02/28 15:10:56.60 .net
Octave 3.6.1 がリリースされました。
URLリンク(octave.1599824.n4.nabble.com)
3.6.0はバグのため公式版とならなかったため,3.6.1が公式版となります。
323:octave for windows メモの筆者
12/02/28 15:18:33.76 .net
まだ,公式には発表されていませんが,Michael氏がMSVC版のoctaveの復活に意欲
を見せておられます。さて,どうなるでしょうか。
324:octave for windows メモの筆者
12/02/28 15:18:51.21 .net
まだ,公式には発表されていませんが,Michael氏がMSVC版のoctaveの復活に意欲
を見せておられます。さて,どうなるでしょうか。
325:octave for windows メモの筆者
12/03/03 16:10:02.07 .net
MSVC版のoctave-3.6.1がでました。
URLリンク(octave.1599824.n4.nabble.com)
326:名無しさん@お腹いっぱい。
12/03/03 23:33:37.71 .net
いきなりの質問ですみません。
2つほど質問があります。
1.2段のワードの形式で論文を書いているのですが、
どうしても、ワードの大きさに縮小してしまうと、メモリどころか
線すらはっきり映りません。これをどう解決すればよいのでしょうか?
2.グラフを描くときに、色ではなく破線や点線はどのようなコードを
打てばよいのでしょうか?
なにとぞよろしくお願いします。特に1番目の質問が深刻です。
327:名無しさん@お腹いっぱい。
12/03/03 23:42:00.21 .net
2番目は解決しました。すみません。
328:octave for windows メモの筆者
12/03/04 17:42:22.14 .net
>>326
?? プロットした図が縮小すると見えなくなるということでしょうか。
ワードだからWindowsですよね。octave-3.2.4でしょうか。
gnuplotの画面をコピーしてワードに貼り付けているということでしょうか。
私はoctave の図をそのまま使わないので良くわかりませんが,
print コマンドでemfか何かでセーブした図を使ったほうがいいかもしれません。
329:名無しさん@お腹いっぱい。
12/03/05 20:49:38.55 .net
octave-3.6.0で
1.1
ans = 1.10000000000000
single(1.1)
ans = 1.10000002384186
となります。これってどうなんですか?
どなたか教えて下さい。
330:名無しさん@お腹いっぱい。
12/03/05 22:52:08.58 .net
>>329
問題ないです
331:octave for windows メモの筆者
12/03/07 08:09:54.51 .net
Windows版の書き込みですみませんm(__)m。
MinGW版 の 3.6.1がでました。
URLリンク(sourceforge.net)
332:名無しさん@お腹いっぱい。
12/03/07 14:24:18.76 .net
>>329
補足するとsingle(単精度)の有効桁は10進に治すと約6-7桁なので
それ以上の桁数の数値についての保証はなく
>>330
の方がおっしゃるように,単精度の範囲では問題ないことになります。
333:名無しさん@お腹いっぱい。
12/03/29 13:44:37.57 .net
octave 3.6.1-mingwで例えば
text(0.5,0.5,"{\pi}","interpreter","tex")
とやってもTeXでπで書いてくれません。
対処法を教えていただけませんか。
お願いします。
334:名無しさん@お腹いっぱい。
12/03/30 08:04:27.54 .net
>>333 graphics_toolkit gnuplot
でなんとかなりませんか?
octave 3.6.1-mingwはgraphics_toolkitはfltkがデフォで,texはまだfltkでは
対応していないと思うので。
335:名無しさん@お腹いっぱい。
12/06/20 19:21:31.18 .net
最近はJuliaというのが出てるらしいです
URLリンク(julialang.org)
336:名無しさん@お腹いっぱい。
12/06/21 00:38:00.45 .net
>> 335
へー…。
そういえば、OctaveにもJIT Compilerを実装するプロジェクトが、
今年のGSoCに登録されてました。
これは、期待してもいいんでしょうか…
URLリンク(jit-octave.blogspot.jp)
337:名無しさん@お腹いっぱい。
12/06/21 00:54:19.14 .net
SourceForgeに登録されてるWindowsバイナリの3.2.4、3.4.3、3.6.1
(MinGW版、いずれもクリーンインストール)を、現在XPで使用中
なのですが、3.2.4と比較して3.4.3、3.6.1の起動がやたらと遅くなって
おります(30secくらい?CPU100%)。
どなたか、回避策をご存知の方とかいらっしゃいませんでしょうか?
338:名無しさん@お腹いっぱい。
12/06/23 01:27:08.49 .net
>>337
全く同じ事で悩んでいたけど、
windows7/64bit+Corei7+16GBRAMに買い換えたら起動が速くなったよ
339:名無しさん@お腹いっぱい。
12/06/23 13:28:04.11 .net
>>338
おぉ、やはり他の環境でも再現することがあるのですね。
ぐぐっても何も出てこないので、困ってました。
時間ができたら、起動シーケンスを追っかけてみることにします。Thx!
340:名無しさん@お腹いっぱい。
12/06/25 08:31:17.57 .net
>>337 >>338
MinGW版はXPではやたらと起動が遅くなるようです。
MSVC版だとそれほど遅くならないようです。
341:名無しさん@お腹いっぱい。
12/06/25 22:54:11.86 .net
>>340
そうなんですか…情報感謝。
ただ、MSVC版は開発環境が揃ってないんで、自作octが
コンパイルできないのがネックです。
コンパイラだけでなく、dllとかもぼろぼろ抜けてるような…
342:名無しさん@お腹いっぱい。
12/06/28 15:54:52.26 .net
Scilabの5.4.0のbeta-1が出ました
URLリンク(www.scilab.org)
343:名無しさん@お腹いっぱい。
12/07/03 09:10:21.12 .net
>>341
>コンパイラだけでなく、dllとかもぼろぼろ抜けてるような…
それはこまったことですね。
344:名無しさん@お腹いっぱい。
12/07/15 19:18:59.66 .net
337の件、追加でご報告。
どうも、時間が掛かってるのはoctaveのmain関数が呼ばれる前で、
main関数に入ってしまえばコンソールにアクセスできるまで
1秒もかかってません。
dllのロードが重いのかとrebase.exeとか使ってみましたが、効果なし。
私にはここから先のアプローチが思いつかないのですが、どなたか
ヒントお願いします…
345:名無しさん@お腹いっぱい。
12/07/25 12:26:52.32 .net
octave-3.6.2 mingw版ですが、peaksなどなんでも良いのですがグラフを書いてもちゃんと描いてくれません。refreshすると描いてくれます。以前にもこんなことありましたが対処法はありますか。
346:名無しさん@お腹いっぱい。
12/07/27 09:14:20.16 .net
345の件
graphics_toolkit("gnuplot")
putenv("GNUTERM","wxt")
でとりあえず希望どおりに動きました。
347:名無しさん@お腹いっぱい。
12/07/30 20:02:25.49 .net
345の続き
putenv("GNUTERM","wxt")の状態でpeaksなどとしてグラフを描くと、グラフは
ちゃんと描いてくれますがwindowsのターミナルが大きくなってしまいます。
どなたか教えてくれませんか。
最近、書き込みが少なくて寂しいです。
348:名無しさん@お腹いっぱい。
12/07/31 19:53:06.42 .net
答えてあげたいけど、Linux版を使ってるしグラフも余り書かないから答えてあげられない・・・
349:名無しさん@お腹いっぱい。
12/08/17 21:15:22.40 .net
> 男性は聯合ニュースの取材に対し、
暴行を受けている間も警察は積極的に止めようとせず、
男らは韓国人を差別する暴言を吐いたという。
警察はチョンの見方ですから有り得ません。
日本人にどうしても有事を惹起せしめたい欧米軍産複合体の意図じゃん
350:名無しさん@お腹いっぱい。
12/08/31 22:01:03.02 .net
Congratulations, Max Brister!
URLリンク(jit-octave.blogspot.jp)
Octave用のJIT Compilerに、とりあえず一通りの機能が揃ったらしい!
速度も期待を裏切らず、例えば下のコードが、34sec->0.1secになるとか。
result = 0;
for ii = 0:1e-7:1
result += inc * (1/3 * ii * ii);
end
Octave本家にマージもされたらしく、次回のリリースにexperimentalとして含まれるという話。
ソースはこちら。
URLリンク(inversethought.com)
誰か試してみません?
351:名無しさん@お腹いっぱい。
12/09/04 20:33:58.95 .net
Windows(MSYS)版を使ってますが、ファイル選択ダイアログを表示してパスを
取得できる関数、あるいはそういう機能が使えるようになるパッケージって
ないもんでしょうか?
352:名無しさん@お腹いっぱい。
12/09/05 13:37:47.23 .net
>>351
使ったことないのでよくはわからないが,uigetfile なるものがあるらしい。
URLリンク(www.gnu.org)
353:名無しさん@お腹いっぱい。
12/09/05 20:50:05.79 .net
おぉ、望みどおりのことができました。
GTKなのか見た目はショボいですが、機能的には十分です。
354:名無しさん@お腹いっぱい。
12/09/08 14:29:07.59 .net
画像データを読み込んで行列にしたりそれを表示したりできますが、
この行列データに対して直線や円を描画する関数とかないですか?
355:名無しさん@お腹いっぱい。
12/09/08 18:34:23.91 .net
>>354
それは表示した状態に書き込むのか,
それとも画像の実体(行列)に書き込むのか?
356:名無しさん@お腹いっぱい。
12/09/08 19:05:27.78 .net
行列に対してです。
一応Bresenhamのアルゴリズムとか調べてみましたけど、既に実装
されているものがあればそっちを使いたいなぁと。
357:名無しさん@お腹いっぱい。
12/09/11 01:08:11.79 .net
そういえばScilab-5.4.0がβ3まで来ましたが
xcosが不安定で使い物にならないですね
5.3.3は安定なんですけど、AFFICH_mがバグって使えない(実行中に数値を表示しない)
358:名無しさん@お腹いっぱい。
12/09/19 13:27:37.39 .net
Scilabが5.4.0のβ3が不安定なのを認めてひっこめましたね
原因が特定できたらしいので
リリース時には急に落ちる事はなくなりそうです
359:名無しさん@お腹いっぱい。
12/10/20 00:59:15.48 .net
MatlabのGUIを自宅でやりたいんだけどOctaveでできますか?
360:名無しさん@お腹いっぱい。
12/10/21 13:47:03.03 .net
できません
361:名無しさん@お腹いっぱい。
12/10/21 18:48:24.67 .net
>>360
ありがとうございます
では、他のフリーソフトで行うことはできませんか?
どうしても自宅でやりたいんですが・・・
362:名無しさん@お腹いっぱい。
12/10/22 22:36:45.68 .net
Javaででも書けば?
363:名無しさん@お腹いっぱい。
12/10/22 23:31:44.32 .net
>>361
SIMULINKをやりたいってことですかい?
364:名無しさん@お腹いっぱい。
12/11/10 01:21:39.57 .net
imcropがoctaveにはないけどトリミングはどうすればいいの?
365:名無しさん@お腹いっぱい。
12/11/12 10:39:31.83 .net
>>364
最新のoctave-forgeのimage パッケージにはimcropがあるようです。
URLリンク(octave.sourceforge.net)