X



データ解析ツールoctaveを語ろう Part 2
0004名無しさん@お腹いっぱい。
垢版 |
2009/11/06(金) 10:32:08
OctaveスレですがFreeMAT 4.0が使い物になるか検証してみます
FreeMATでは関数名がOctave/MATLABと変わってるものがあります
例えば
Octave/MATLABのfgetlは、fgetline
Octave/MATLABのinterp1は、interplin1 (しかもオプションが違う)
とか色々

というような感じなので、Octave、MATLAB、FreeMATで共通に動かせるプログラムを
書くにはどの処理系で動かしているかプログラムの中で判別する必要があります。

OctaveとMATLABを判別するには

if exsit('OCTAVE_VERSION'),
% octave の処理
else
% MATLAB の処理
end;

とやれば良いです。FreeMATではどうやら

if exist('verstring'),
% FreeMAT の処理
else
% FreeMAT 以外の処理
end;

とやればいいようです。
0005名無しさん@お腹いっぱい。
垢版 |
2009/11/06(金) 10:56:36
電卓やExcelで計算出来る程度をのことをわざわざOctave/MATLAB/FreeMATで
行うのは時間の無駄です。
逆に理論上は電卓やExcelでも計算可能だが超絶むずい問題を
Octave/MATALB/FreeMATでさらさらと計算する事は非常に有意義です。

統計計算ならExcelでも可能でしょうけど、非線形最小二乗法の計算ともなれば
ちょっと難しいですが、Octave/MATLAB系言語なら簡単(?)に計算可能です。

MATLABでは高いOptimization Toolboxのオプションを買えば
lsqcurvefitというマルカート法を用いた非線形最小二乗計算が出来ます。

でもまあしかし、Octave-Forgeについてくるleasqrを使えば只で
マルカート法による非線形最小二乗計算ができますのでそちらを使いましょう。
使うのはleasqr.mとdfdp.mだけなので簡単です。

FreeMATではこのleasqr.mをどう試行錯誤しても使えなかったので
FreeMAT自身のマルカート法を用いた非線形最小二乗関数であるfitfunを使います。
それらの使い方の例を次に示します。
0006名無しさん@お腹いっぱい。
垢版 |
2009/11/06(金) 11:02:54
test1.mで保存してOctave/MATLAB/FreeMATで実行

function F=test1()
stol=0.0001;
niter=50;
AA=[0:360];
BB=AA./180.*pi;
CC=cos(BB);
x0=[1,0];
%
if exist('verstring'),
wt=zeros(size(BB))+1;
[p1, f1] = fitfun(@sintest1, x0, CC, wt, eps, BB);
p1
else
[f1, p1] = leasqr(BB', CC, x0, @sintest2, stol, niter);
p1
end;
disp(sprintf('pi = %f', p1(2)*2));

function F=sintest1(param1, xx),
F=sintest(xx, param1);

function F=sintest2(xx,param1),
F=sintest(xx, param1);

function F=sintest(xx, param1),
freq =param1(1);
phase=param1(2);
E=sin(xx.*freq+phase);
F=E;
0007名無しさん@お腹いっぱい。
垢版 |
2009/11/06(金) 13:40:31
>>6
の説明を簡単にします

sintestは、param1で指定された波数freqと位相phaseのsinデータを生成する関数で
入力値にはcosのデータを用意し、
その波数と位相を非線形最小二乗法で求めるというものです
cosはsinから見ると位相が90度=π/2ずれてますので
推定された位相を2倍すればπが得られるはず!で
実際に計算してみるとそうなりました

ところで、leasqrとfitfunでは、解析する関数のパラメータの順番が違います
そこで元になってるsintest関数をleasqr用とfitfun用にラッパー関数
sintest1, sintest2で置き換えてから処理しています。
ちなみにMATLABのOptimization Toolboxの非線形最小二乗法関数の
lsqcurvefitもFreeMATのfitfunと同じ並びだったりします
0008octave for windowsメモの筆者
垢版 |
2009/11/06(金) 18:27:07
>>5
他の視点としてはC, fortran, C++で書けば速いコードができるのだが,
プログラムを書くのに時間がかかってしまのですが,octaveなどで組み込みの
強力なツールを使えばプログラミングが早く終わるケースなどがあります
よね。

ちょっとして問題までコンパイラを使うのは時間の無駄だと思います。

また,プログラミングする前のプロトタイプ作成にも有効ですよね。

liboctaveはC++で動く数値演算クラスライブラリとして有用ですし,
octaveのスクリプトからの移植は,比較的容易ですので真剣に高速化したい
ときも近道になりますよね。

私の主なoctaveの用途はodeのソルバーと固有値問題解析です。

いろんな場面で連立微分方程式を解く

超音波は波動を使った研究をしていて波動方程式はフーリエ変換すると固有値
問題になるのでそのときもoctaveが大変約に立っています。

ExcelでVBAでルンゲクッタ公式を書いて,微分方程式を解いているのを見ている
となんと時代遅れで時間の無駄なことをしているのだろうと
思ってしまいます。
スティッフな問題なんぞに対応できないですしね。

#ところで,思い切りスレ違いですが,
非線形最小2乗法はgnuplotもかなり強力ですよ。
0009名無しさん@お腹いっぱい。
垢版 |
2009/11/06(金) 19:16:01
octaveでgnuplot(wgnuplot)を実行させようとするとグラフが表示されない現象に悩まされているので質問させてください。
まずバージョン情報をば。

OS: Windows Vista
octave: 3.0.3(cygwin setupからインストール)
gnuplot: 4.0 patchlevel 0(wgnuplotをcygwinからではなく個別にインストール)

また、octaveはcygwin1.5.25上で動かしています。
octaveからgnuplotにデータを渡すために
octaveの設定ファイルに下記サイト等を参考にして変更を施しました。

http://www.t.hosei.ac.jp/~miya_ken/computer/octave.htm

ですがグラフを表示させようとすると
octaveのウィンドウでデータが羅列されるだけで
gnuplotがグラフィカルに表示してくれません。
自分の打ちこんだデータについては何度も確認しましたが間違っている場所は見当たりません。
参考までに載せておきます(テスト用なのでただのsinカーブです)

------------------------------------
x=0:0.1:2*pi;
plot(x,sin(x))
------------------------------------

解決法知っている方おられましたらよろしくおねがいします。
0010octave for windowsメモの筆者
垢版 |
2009/11/07(土) 05:44:41
>>9
Cygwin版ならのcygwin版gnuplotを使うのがいいとおもいますが,Xを動かしたくないんですね。XソフトとしてCygwin-XでなくXmingを使う動作が軽くて結構いいですよ。

Octave 2.91?以降ではguiモードのwgnuplotはpgnuplotをつかっても使えません。コンソールモードのgnuplotを利用してください。
これはcvs版しかないので

角藤さんによるCVS版Windows 用バイナリ
http://www.ring.gr.jp/pub/text/TeX/ptex-win32/w32/

私がビルドしたもの
File list of gnuplot 4.5 for Windows
http://www.tatsuromatsuoka.com/gnuplot/Eng/winbin/

をつかってみてください。ただ,最近のoctaveは仕様の変更がありますからCygwin版のgnuplotしか
動かない可能性はあります。

その場合も,2DグラフのマウスズームをしたいのならCVS版が便利です。

・gnuplot 4.5 (cvs) cygwin binaries prepared by gcc-4.x.x
http://www.tatsuromatsuoka.com/gnuplot/Eng/cygbin/

gnuplot_binary()を~/.octaveなどのスタートアップファイル(マニュアル参照)
適切にセットしてください。

#個人的には,Cygwin-1.5はもうほとんど使っていません。Cygwin-1.7はbeta版とはいえ,すでにいろいろなアプリケーションで新し物は,Cygwin-1.7のみ
というものが増えています。OctaveもCygwin-1.7なら3.2.3がつかえますしCygwin-1.7への乗り換えをお勧めします
0011octave for windowsメモの筆者
垢版 |
2009/11/07(土) 07:12:46
>>9
ところでCygwinにこだわりがありますか。わざわざ,xのgnuplotを使わないようにされているようなので,Octaveを使うのにCygwin版をお使いになるのかいまいちわかりません。
Cygwinでいろんなことしたいならやはり,xをいれてx版のgnuplotをつかうのが自然だと思います。

Cygwinに固執がなければ
octave/mingwだとインストールするだけで簡単にgnuplotも使えるわけですし,なにかわざわざ困難な方向に走っておられるような気がします。

octave/mingwは
以下からダウンロードできます。

http://sourceforge.net/projects/octave/files/Octave_Windows%20-%20MinGW/Octave%203.2.3%20for%20Windows%20MinGW32%20Installer/Octave-3.2.3-3_i686-pc-mingw32_gcc4.4.0_setup.exe/download


ただし,SSE3つきのAtlasはバグがあるのでSSE2のAtlasをお使いください。
0012名無しさん@お腹いっぱい。
垢版 |
2009/11/09(月) 15:56:31
>>10 >>11

レスありがとうございます。
gnuplotはcygwin導入前から導入していてそれを使えるようにしたかったんです。
octaveはcygwinから使えるよっていうのをwebで見て
じゃあoctave/cygwinと単体で導入していたgnuplotをコラボさせましょうということで進めていくと
>>9 のような事態になりました^^;
MinGW版のoctaveさっそく導入しましたら一発で解決しました。
情報提供感謝でございます。

P.S.
あと>>9の補足ですが、octaveとgnuplotをつなぐための設定ファイルの内容ですが
参考として挙げたwebページではwgnuplotに投げるとなっていますが
ほかのページも巡回して検討し、pgnuplotとしてました。
まあ、それでも同じ現象が出たので設定ファイルのせいではないのかなと考えてます。
0013octave for windowsメモの筆者
垢版 |
2009/11/10(火) 08:56:21
>>12
一時期MichaelさんやBenjaminさんがOctaveとwindowバージョンのgnuplotを
つなぐため独自にビルドされたコンソールモードのgnuplotに
pgnuplotと名前をつけていたのでそのような記述があるのではと
思います。その後gnuplotのcvs版コンソールモードのgnuplotが正式に
採用されたとき,いろいろ意見がありましたが,他のプラットフォームと
同様のコンソールモードのgnuplotは単にgnuplotになりました。

ちなみに,pgnuplotはwgnuplotにpipe接続するものですが,
一方通行の通信しかできません。
現在のoctaveでは双方向のpipeを使ったいるので,いわゆるpgnuplotをoctave
に使うことやoctaveでwgnuplotを使うことはできません。
できるのはコンソールモードのgnuplotに投げることしかできません。

見られたwebページはおそらくMichaelさんが一時期使っていた
コンソールモードのpgnuplotだと思います。
現在はそれは存在しないので,Windowsの場合cvs版のgnuplotを使わないと
いけません。
0014octave for windowsメモの筆者
垢版 |
2009/11/15(日) 06:27:13
Octave 3.2.3-2/mingw32 がでました。
http://old.nabble.com/Octave-3.2.3-2-mingw32-available-tt26353433.html

まだ,自宅は回線が遅いのでためしていません。SSE3のATLASのseg-faultの問題
http://old.nabble.com/Octave-3.2.3-mingw32-crashes-on-a-simple-complex-operation-tt26159558.html
は解決していないようで今回はSSE3のATLASは組み込まれていないようです。

jpeg-7に対するバグは解消されたようです。
0016名無しさん@お腹いっぱい。
垢版 |
2009/11/22(日) 02:25:10
mingw版の3.2.2使ってるのですが、何かplotを連続でした場合
今までのは書き換わるだけだったのに
3.2.2のは画面がクリアされて一瞬白くなって
連続で書き換えるとチカチカして非常に見にくい。
0017octave for windowsメモの筆者
垢版 |
2009/11/22(日) 05:29:44
>>16

その問題はmingw版だけの問題ではなく,octave-3.2.2ではそうなります。
(バグです。)
octave-3.2.3では,解決してますので,そちらをお使いください。
0018octave for windowsメモの筆者
垢版 |
2009/11/23(月) 18:29:01
MinGW 版 Octave の maintainer の Benjamin さんが MinGW でoctave をビルドするための HOWTO を書き始めたとの報告が Octave の maintainers の ML でありました。

http://old.nabble.com/HOWTO-for-building-octave-using-mingw-msys-p26465144.html

これは,octave-forge の SVN の Tree 上に置かれていますが,テキストファイルなので直接読んだり, ダウンロードできるようです。

https://octave.svn.sourceforge.net/svnroot/octave/trunk/octave-forge/admin/Windows/mingw32/HOWTO.txt
0019名無しさん@お腹いっぱい。
垢版 |
2009/11/30(月) 20:22:19
ウインドウズで申し訳ないのですが、
dynareのsimul_stochが機能しません。
このエラーを検索しても意味がわからないのですが、
octaveユーザの方でわかるひとはいますでしょうか。


warning: mark_as_command is obsolete and will be removed from a future version o
f Octave
octave-3.2.3.exe:1:C:\Octave\3.2.3_gcc-4.4.0\bin
> cd c:\test
octave-3.2.3.exe:2:c:\test
> dynare rbc.mod

Configuring Dynare ...
error: could not find library or dependents: c:\dynare\4.0.4\matlab\../mex/octav
e/mjdgges.mex
error: called from:
error: c:\dynare\4.0.4\matlab\dynare_config.m at line 92, column 10
error: c:\dynare\4.0.4\matlab\dynare.m at line 57, column 12
octave-3.2.3.exe:2:c:\test
>
0020octave for windows メモの筆者
垢版 |
2009/12/01(火) 01:05:58
>>19

mexがうごかないといってるようですね。

octave version 3.0からmexに
対応していますが,バイナリ互換ではないのでmexのCのソースから
octave用のmexを作成しなおす必要があります。

まずは,mexのソースコード(c言語で書かれています。)を持っているかを
確認してください。

mexのソースがなければ,octaveで動かすのは無理です。

これは,ライセンスなどにもかかわるので,mexのソースコードが手に入らない場合
mexのコードをともなうMATLABのコードをoctaveで動かすのは無理だと考えて
ください。
0021名無しさん@お腹いっぱい。
垢版 |
2009/12/02(水) 09:59:34
>>19
octave 3.2.3 からコンパイラを変えたのが原因の気がします。
たしか、dynare 4.0.4 はoctave 3.2.2 だったら動いたような。

ttp://www.dynare.org/DynareWiki/DynareOctave
にも
Pick version 3.2.2 (version 3.2.3 is not binary compatible with the package for Dynare 4.0.4).
とあるので。

まあ、じきに dynare の中の人が最新のoctaveでも動くようにしてくれるとは思います。
0023名無しさん@お腹いっぱい。
垢版 |
2009/12/16(水) 22:13:45
matlabのkmeans関数ってoctaveには(少なくとも同じ名前では)無いようですが、
別名で同じ機能の関数ってあるのでしょうか?
それともこれは自前で作成するしかないですか?
0024octave for windows メモの筆者
垢版 |
2009/12/21(月) 18:11:04
>>23 私はmatlabユーザーではないのでよく分かりませんが,
そもそもkmeans関数はどのような機能の関数なのでしょうか?
また,mファイルで書かれている関数で,ソースが手に入るのならば,
octaveで動かせる可能性があります。
mexでもソースが手に入れば,octaveでmexを作成しなおせば,
動く可能性があります。
0026名無しさん@お腹いっぱい。
垢版 |
2010/01/15(金) 01:17:52
23 さん
Octave で書かれた K-mean プログラムについて.

横から失礼します.
k-means のプログラムを Octave で書きましたので,参考になれば
と思いお伝えします.

http://133.5.18.167/rinkou/octave/okmeans.html
 すべて Octave で書いたもの.

http://133.5.18.167/rinkou/octave/kmeans.html
 OpenCV の kmeans 関数を呼び出すようにしているもの

一応、動作確認しています。バグ残っているかも知れません.
(すぐには対応できないと思います).ご参考になるかと思いお伝えしました.
0027:octave for windows メモの筆者
垢版 |
2010/01/19(火) 18:54:33
Jaroslav Hajek さんによるとoctave 3.2以上であればfsolveを使って
非線形カーブフィットができるようです。


b0 = 3;
a0 = 0.2;
x = 0:.5:5;
noise = 1e-5 * sin (100*x);
y = exp (-a0*x) + b0 + noise;
c_opt = [a0, b0];
tol = 1e-5;

[c, fval, info, output] = fsolve (@(c) (exp(-c(1)*x) + c(2) - y), [0, 0]);

Nabble の アーカイブ
ttp://old.nabble.com/Re:-i-just-want-to-use-nonlinear-curve-fitting-function-,-what-should--i-do--p27206660.html
0028:octave for windows メモの筆者
垢版 |
2010/01/20(水) 08:52:38
octave 3.2.4のRelease Candidateがでてます。
もうすぐ,octave 3.2.4がでると思います。

おそらく,3.2シリーズは3.2.4で終わりで,次はoctave 3.4がでると思います。
ビルドシステムの大幅な変更があります (libtoolを使ったものになります。)。
一般の方にはあまり関係がないと思いますが,自分でビルドされる方は
maintainersのMLをご覧になって情報を収集されることをお勧めします。
思いますが,
0029octave for windows メモの筆者
垢版 |
2010/01/24(日) 12:37:21
octave 3.2.4のソースがでました。(unofficialだそうです。)

ttp://old.nabble.com/3.2.4-release-to27272214.html

をごらんください。
0030octave for windows メモの筆者
垢版 |
2010/01/30(土) 09:07:05
Octave公式Webにはまだのっていないようですが,octave-3.2.4 のソースがアップロードされています。

ttp://old.nabble.com/Octave-Version-3.2.4-Released-to27353121.html#a27353121

おそらく,3.2シリーズでは最後のリリースとなると思います。
3.2.3で問題となったバグがかなりフィックスされているようです。
各種バイナリもそのうち整備されると思います。 
0032:octave for windows メモの筆者
垢版 |
2010/02/18(木) 13:58:35
Octave のMLにGNU ProjectのリーダーのRichard Stallman氏が登場して,
Mathworks社のライセンス(Matlabが関係すると思います)についての話題が
提供され,現在,精力的に議論が行われています。

法律的なこともかかわっているので正直言って理解できないことが多いのですが
ライセンスについては,敏感な立場の方がおられると思いNabbleのアーカイブ
のURLを書いておきます。

ttp://old.nabble.com/Mathworks-hosted-GPL'd-software-to27550496.html

をご覧ください。
0033::octave for windows
垢版 |
2010/02/23(火) 12:35:16
計算のたびに以下のように
octave-3.2.3.exe:16:C:\Octave\3.2.3_gcc-4.4.0\bin
が表示され,非常に見難いのですが
非表示にする方法はありませんか?

> x/y
ans = 0.50000
octave-3.2.3.exe:14:C:\Octave\3.2.3_gcc-4.4.0\bin
> x^y
ans = 16
octave-3.2.3.exe:15:C:\Octave\3.2.3_gcc-4.4.0\bin
> x**y
ans = 16
octave-3.2.3.exe:16:C:\Octave\3.2.3_gcc-4.4.0\bin
> sin(pi/2)
ans = 1
octave-3.2.3.exe:17:C:\Octave\3.2.3_gcc-4.4.0\bin
0036octave for windows メモの筆者
垢版 |
2010/03/26(金) 18:01:51
>>35
2点不具合を発見しました。
ttp://old.nabble.com/Re:-Octave-3.2.4-mingw32-available-p28037642.html
ttp://old.nabble.com/flicking-problem-again-Octave-3.2.4-mingw32-td28038688.html
対処はできそうです。
0037octave for windows メモの筆者
垢版 |
2010/03/26(金) 19:22:22
たびたびすみません。<m(__)m>
>>36 のについては
ttp://old.nabble.com/flicking-problem-again-Octave-3.2.4-mingw32-td28038688.html
なんか何もしなくても,うまくいきだしました。^^;
0038名無しさん@お腹いっぱい。
垢版 |
2010/04/06(火) 19:30:51
mingwの3.2.4を入れてみたけど
wxtターミナルで、plotしたあとに
xlabel('hoge');
drawnow;
とやっても反映されないのね
plotコマンドを再実行すると反映されるので
xlabel, ylabelで定義してから
plotする流儀に変わったのかな
0039名無しさん@お腹いっぱい。
垢版 |
2010/04/06(火) 20:05:32
mingwの3.2.4を入れて気が付いたのが、binフォルダのblas.dll

前のスレ(http://2chsearch.jp/unix/1086016412/?first=1)の969-970で
ttp://machnum.net/base/index.php/articles-computational-physics/37-computational-physics/47-assembler-code-and-mingw
ここを見ながらmingw上でgotoblasをコンパイルしてblasのdllを作りました。
またcygwin上でもblasのdllを作りました。
そのblas.dllを、3.2.4デフォルトのblas.dllと入れ替えて動くか試すと、なんと!動きました。

環境変数に
GOTO_NUM_THREADS
があり、2がセットしてあるのを確認した上で
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
これでベンチをとってみると

Octave 3.2.4 default blas.dll
t = 4.2031
MFLOPS = 3806.7

GotoBLAS mingw
t = 2.1719
MFLOPS = 7366.9

GotoBLAS cygwin
t = 1.2344
MFLOPS = 1.2962e+004

PCは2.1GHzのCore2Duoで理論演算能力は2.1*4*2=16.8GFLOPSなので、cygwin版のGotoBlasと入れ替えれば近い線までいきそう。
mingwの場合はマルチコア未対応なのでしょう。
最近発売された6CoreのCore-i7を使えば、3.3*4*6=79.2GFLOPS近くの性能が出るかもしれません。
0040名無しさん@お腹いっぱい。
垢版 |
2010/04/08(木) 23:17:13
>38
3.2.4はgnuplotとの連携のとこバグってると思う

x = [0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6 ,2.0]
plot( x, x.*x )

とかもっともシンプルに打っても動きがヘン
0041octave for windows メモの筆者
垢版 |
2010/04/09(金) 15:38:24
>>38,>>40
たぶん,oct2matというoctave-forgeのパッケージがぶつかっているせいだと
思います。
その他,Octave 本家のMLで話題になったことの対処法を拙ページに書いて
おりますのでよろしければ参考にしてください。
ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#100403
0042octave for windows メモの筆者
垢版 |
2010/04/09(金) 15:56:46
>>39
GotoBLAS cygwin
t = 1.2344
MFLOPS = 1.2962e+004
これはすごいですね。残念ながらいまだに HT Pentium なので恩恵にはあずか
れませんが,導入したらいつかやってみたいですね。

>>mingwの場合はマルチコア未対応なのでしょう。
はい,そうです。SSE3でもなかったような気がします。
ALTASの場合は,cygwinコンパイラでdllを作ると動きません。
また,cygwinで配布しているコンパイラでを使うとcygwinでしか使えない
atlasになります。したがって,gcc-4.3.4あたりを自力でcygwin上でビルドし
それでスタティックライブラリを作成し,そのスタティックライブラリを
mingwのgccでリンクしてdllを作るという技がいります。

pthread-win32も改良されて,HTの場合は速くなりませんが,mingwで動く
multi-threaded ATLASの作成には個人的には成功しています。

0043octave for windows メモの筆者
垢版 |
2010/04/09(金) 15:58:21
>>42 からの続きです
使うマシンがないので公開はしていませんが,
mingwでatlasを作成するためだけにCygwin上でビルドした,
特別なGCCとどうやってスタティックライブラリから
dllを作るかは書いたほうがいいですかね。

あまり暇がないので,GCCの公開ぐらいならやりますが。

また,Benjmaminさんはどうもうまくmingw上のAtlasをハンドリングできて
いないようです。
彼は本当に高速な計算にはLinuxをお使いのようなので,
そこまで期待するのはちょっときついかもしれません。

今回octave-forgeのサポートがかなり増えていますので,相当なご尽力を
なさっていますのであまり多くを望むのは難しいでしょう。
004440
垢版 |
2010/04/09(金) 18:02:17
>41
おお、サンクス。まともにプロットするようになった。

0045名無しさん@お腹いっぱい。
垢版 |
2010/04/10(土) 09:44:04
そういえば、wxtの場合なのか現バージョンのoctaveの場合なのかわかりませんが
補助目盛(minor tics)がデフォルトでは表示されません
リニアプロットでは気が付かないかもしれませんがloglogだと気付くでしょう
そんな場合は

set (gca, 'xminortick', 'on', 'yminortick', 'on')

とやればいいので、octavercにでも書き込んでおけば問題ないと思ってたのですが

warning: mark_as_command is obsolete and will be removed from a future version of Octave

という警告が出ますな。正式な手続きがわからん
0046octave for windows メモの筆者
垢版 |
2010/04/10(土) 13:33:31
>>45
>補助目盛(minor tics)がデフォルトでは表示されません
たしかにそうですね。
x=1:100;
loglog(x,x)
で確認しました。
mingw版でもcygwin版でも(ともに3.2.4)ともにご指摘のようななので
そういう仕様なのかもしれませんね。
一度本家MLで聞いてみます。

> warning: mark_as_command is obsolete and will be removed from a future version of Octave
たしかにこれ気になっているんですが,octave --norc でstartupファイル
を無視するとでないので

Octave\3.2.4_gcc-4.4.0\share\octave\3.2.4\m\startup\octavercで
使っている関数がどこかで使っているのでしょう。
パット見た限りわかりませんので気が向いたら,原因探りますが
まあ,やらないかな。

いまのとこ実害がないし,mark_as_commandが
なくなったらwarningでなくてerrorになるからそのときはBenjaminさん
も対応されるでしょう。
0047octave for windows メモの筆者
垢版 |
2010/04/10(土) 13:56:50
>>45 >>46

>Octave\3.2.4_gcc-4.4.0\share\octave\3.2.4\m\startup\octavercで
使っている関数がどこかで使っているのでしょう。
のではないようですね。
octave --norcでたちあげて
pkg load jhandles
やると同じメッセージがでます。一度でたら二度目はでないので
octave-forgeのどれかをloadするときでるのでしょう。
ちなみにjhandleはデフォールトではloadされない仕様なのでこれは原因
ではないでしょう。
対処しようとするとおそらくpkg周りをいじらないといけないでしょうね。

いまは,我慢して無視するのが現実的かと思います。
どこかの
0049octave for windows メモの筆者
垢版 |
2010/04/11(日) 12:18:20
>>48
はい
set (gca, 'xminortick', 'on', 'yminortick', 'on')
は警告の原因ではないようです。
mark_as_commandのコードをみましたが,3.2ではdeprecatedというフォルダに
はいっていて実質何もしていません。mark_as_commandが実行されたときに
エラーになるとコードが動かなくなるのを防ぐために存在しているようです。

というわけで,多分,octave-forgeのパッケージが将来的に対応すべき
問題なのでしょう。現時点ではやはり無視してつかうのでいいでしょう。
0050octave for windows メモの筆者
垢版 |
2010/04/17(土) 17:31:46
>>45 >>46 >>47 >>48 >>49
warning: mark_as_command is obsolete and will be removed from a future
version of Octave
の消し方わかりました。

\Octave\3.2.4_gcc-4.4.0\share\octave\3.2.4\m\startup
のoctaverc


pkg ("load", "auto");

という文があるので

warning ("off","Octave:deprecated-function");
pkg ("load", "auto");
warning ("on","Octave:deprecated-function");

のようにすれば消すことができます。
0053名無しさん@お腹いっぱい。
垢版 |
2010/04/26(月) 19:12:25
CSVファイルを読み込むためのdlmread関数を使うために
pkg load io
とすると
package io is not installed
と表示されるのですが、
ioパッケージって標準では入ってない物なのですか?
0054octave for windows メモの筆者
垢版 |
2010/04/27(火) 18:05:28
>>53
octaveのバージョンはなんでしょう。また,platformはなんでしょう。
3.2.4ならdlmreadは,io パッケージでなくoctave本体に入って入ってますが。

また,octave-forgeのパッケージが何がはいるかはdistributorにもよるので
具体的な情報がないと誰もこたえられないと思います。
0056名無しさん@お腹いっぱい。
垢版 |
2010/05/19(水) 19:54:09
今さっき気がつきましたが

pkg load jhandles

でGNUTERMに何が設定してあっても、jhandleでグラフ描画するんですね
wxtはなんかグラフがはみ出すし、オーバーヘッドが大きいような気がしてました
0057octave for windows メモの筆者
垢版 |
2010/05/20(木) 19:23:11
>>56
そうですね。3Dとかでmeshを細かく刻むとjhandlesじゃないと遅いですよね。

ただ,ginputをやろうとするとエラーがでたりします^^;。

3.4がでてFLTK backendが,まともになればjhandleもいらないかなとは
思います。

ただ,3.4リリースのための開発版3.3はMinGWではまだ不安定です。
gnulibでportabilityをあげようとしての結果なのだと思っています。
3.4のリリースはいつごろになるのかな。
0058名無しさん@お腹いっぱい。
垢版 |
2010/05/20(木) 22:44:31
>>57
使ってみたらprintがだめっぽいですね
gif, png, jpgはだめ
MSVC版ではいんちきくさいながらも出来たのに

それとAuto Redrawしないので表示が消えちゃいます
drawnowすればいいだけですけど
実装があんまりよくないです

でもまあ、表示速度は段違いなので
経過を表示させる場合はいいかもです
0059octave for windows メモの筆者
垢版 |
2010/05/21(金) 11:30:57
>>58
そうですね。まあ,MSVC版ではoctaveのメンテナーとjhandleのメンテナーが
同じ人でしたからね。

MinGWでSun Javaを扱うのが難しいなどで時間もかかったようですし,
FLTK Backendがまともになれば,jhandlesの意味も薄れるので力がそれ
実装がMSVC版ほど力が入っていないのはある程度しょうがないと思います。

pipeがwindowsでは遅いのでgnuplotが遅いのはあるていど仕方ないですね。
octaveからだとgnuplotはwindows NativeよりCygwinの方が大分速いですね。

私は,本当につかうグラフはデータ書き出してgnuplotでやります。
octaveからだとgnuplotの機能をフルには引き出せないので

octaveのグラフィックスはあくまでも経過表示用にしか使っていません。
0060名無しさん@お腹いっぱい。
垢版 |
2010/05/21(金) 13:57:11
>>59
今出来るかどうか知りませんが、昔はこんな事してました

gset term postscript color
gset output 'hogehoge.ps'
plot (x1,y1)
gset term X11

単にprint文を知らなかっただけですけど
0061octave for windows メモの筆者
垢版 |
2010/05/21(金) 16:34:10
>>60
今はできません。それらの関数は3.2からはすべて削除されました。

ただ,octave-forgeにgnuplotパッケージが入ったのでこれをつかうと
いう手もあるかもしれません。
MinGW-3.2.4には,gnuplotパッケージ入っているのでそれを使うという手も
ありそうです。
ttp://octave.sourceforge.net/functions_by_package.php
のgnuplotのreferenceはあまり詳しい記述がないので,
これでどんな関数があるか調べてhelp g_plotなどどする必要があります。

3.4ではgnuplotはまだbackendとして残るとおもいますが,将来的には
backendはfltkのみなり,gnuplotはoctave-forgeになる流れではと思います。
0062octave for windows メモの筆者
垢版 |
2010/05/26(水) 19:40:02
今日,MinGW上でgcc-4.5.0でdevelopment branchのoctaveビルドしました。
先月ビルドしたときは,極めて不安定ですぐseg-faultを起こしていましたが
今日は安定して動いています。

fltk バックエンドも軸がちゃんと表示できるようになっていましたし,
連続プロットもgnuplotに比べかなり高速です。
ただしマウスで3Dぐりグリができなさそうなのが残念ですが。

しかし,MinGWはdevelopment branchのなかで一番対応が遅れていたのですが
これでなんとかなるめどがついた気がします。

あまり遠くない時期にoctave3.4が出てくるような気がします。

0063名無しさん@お腹いっぱい。
垢版 |
2010/06/26(土) 11:09:20
Core2DuoのCULV(低電圧)版のSU2300(1.2GHz, 1MBキャッシュ)を積んだノートを買ったので
テストしてみました(OSはXP Home)

ちなみにCore2以降のCPUに載ってるSSE3は
64bit倍精度浮動小数点演算を1クロックに4個実行できるSIMDユニットで
このSSE3が有効な場合の理論FLOPSをを計算すると
 1.2G(Hz)*4(FLOPS/Clock)*2(Core)=9.6GFLOPS
となります。AtomなどにもSSE3のファンクションは載ってますが
それを実現するハードウェアはないため、速くはなりません。

GotoBLAS2は新たに1.13をダウンロードしてCygwin1.7上でmakeします
makeオプションは
http://www.db.is.kyushu-u.ac.jp/rinkou/cygwin/cblas.html
ここのをそのまま使います
makeが終わると、exports/にlibgoto2.dllが出来上がってますので
これをMingw版Octave 3.2.4のbinのblas.dllと置き換えればOKです
その前に環境変数GOTO_NUM_THREADSに2をセットしておき
cygwinのbinから、cygwin1.dll、cyggcc_s-1.dll、cyggfortran-3.dllをoctaveのbinにコピーしておきます
ベンチマークはいつものを使います
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6

デフォルト(たぶんatlas.dllを呼んでいる)のblas.dllだと
2.07 GFLOPS
GotoBLAS2だと
5.72 GFLOPS
で倍以上に速度が上がりました
GOTO_NUM_THREADSに1をセットすると
3.24 GFLOPS
なのでデュアルコア自体は効いてるようです
0064octave for windows メモの筆者
垢版 |
2010/07/26(月) 18:27:24
>>62

最近のdevelopmentブランチをビルドしてみました(MinGW,gcc)。
fltkでepsを作成できるようになっており,またマウスによる3dの回転も
できるようになっています。
fltkもだいぶ実用に耐えるようになってきた感じです。
なにしろ高速なのがいいです。やっぱりOpenGLをつかっているからでしょう。

pkg installにもバグがあったようですが,それも解消されているし,
developmentブランチへの乗り換えを画策しています。
0065名無しさん@お腹いっぱい。
垢版 |
2010/08/14(土) 01:19:11
数学セミナーの9月号で数学を発展させるコンピュータソフトという特集が組まれております
http://www.nippyo.co.jp/magazine/maga_susemi.html

そこでは、Rは取り上げられてますが
MATLAB/Octaveはさっぱりですけど、
その特集とは別に

高速化・最適化のためのBLAS入門/藤澤克樹 50

と中央大学でSDPAの研究をしている藤澤先生が
MATLABとBLASを使った計算について説明してます

やってる事は >>63 とほぼ同じ(行列の1辺が2000ではなくて4000)スクリプトで
4コアCPUを2個使って、スレッド数を1個から8個まで増やすとどうなるか
という事について書かれてます。
0066名無しさん@お腹いっぱい。
垢版 |
2010/09/14(火) 21:48:37
既知の問題であれば申し訳ないのですが、ちょっと困っています。
以下のようにして、

R = 10.0; L = 0.1e-3;
Rc = 100e3; Cc = 0.1e-9; Ca = 0.01e-9;
Z = tf([Cc*Rc 1],[Ca*Cc*Rc Cc+Ca 0]);
G = tf([1],[L R]);
sys = sysmult(G,Z);


sysout(sys,"tf");
とすると、本来numはsの一次式になるはずがそうなりません。
Cc、Caを数桁大きくすると正しく計算できるようです。

お手数ですが、この問題の回避策があれば教えていただけないでしょうか?
006766
垢版 |
2010/09/14(火) 21:52:39
すみません、書き忘れました。
Win版 3.2.4です。
0068名無しさん@お腹いっぱい。
垢版 |
2010/10/12(火) 03:41:06
保守
0070名無しさん@お腹いっぱい。
垢版 |
2010/11/13(土) 10:00:19
OctaveやFreeMATではMATLABのstemにあたるマッチ棒のようなプロットはどうやるんですか?
0071名無しさん@お腹いっぱい。
垢版 |
2010/11/14(日) 00:32:04
cvytvftvyghgbvyvybuhjkkvghghvgvgfvgfcjnhjgjhhuihuyfgvcg
0072octave for windows メモの筆者
垢版 |
2010/11/15(月) 16:46:45
>>70 octave manual 15.1.1 Two-Dimensional Plotsより

Function File: h = stem (x, y, linespec)
― Function File: h = stem (..., "filled")

 :
x = 1:10;
y = ones (1, length (x))*2.*x;
stem (x, y, "b");

もっと詳しくはマニュアルを
0074名無しさん@お腹いっぱい。
垢版 |
2010/11/24(水) 09:50:17
>>73
>GotoBLAS2 has been released by the Texas Advanced Computing Center
>as open source software under the BSD license.
素晴らしい。
従来は独特のライセンスのせいでユーザが自分で組み込む必要がありましたが、
今後は公開ソフトウェアに最初から組み込めるわけですね。

GotoBLAS2-1.13で打ち止めへ (2010-04-09 13:29:50)
http://blog.goo.ne.jp/nakatamaho/e/61d0cfbe1222364a3ef70505dce4f463
後藤和茂さんがヘッドハントされてからバージョンアップが止まってますが、
これも改善するかもしれません。
0077octave for windows メモの筆者
垢版 |
2010/11/25(木) 14:49:21
>>74
>後藤和茂さんがヘッドハントされてからバージョンアップが止まってますが、
>これも改善するかもしれません。

そうですね。
天才ハッカー(いい意味でのハッカーです。)後藤さんのあとを
続くような方が現れてプロジェクトとして
立ち上がってくれればいいのですが。
0079名無しさん@お腹いっぱい。
垢版 |
2010/12/21(火) 15:21:18
>>78
Scilabの使いにくい点
・実行
 MATLAB/Octaveは、拡張子.mを省いたmファイルをコマンドラインで打ち込めばいい
 Scilabは、コマンドラインでexec('hoge.sce')とやらないといけない
・関数定義
 MATLAB/Octaveは、パスの通ってるディレクトリかカレントディレクトリにあれば
  勝手に読み込んでくれる。
 Scilabは、明示的にgetf('hoge.sci')と読み込まないといけない。
 ※Scilab5では途中からgetfではなくexec('hoge.sci')になった
・コメント行
 MATLABは%、Octaveは%と#
 Scilabは//
・その他、ScilbはMATLABから見て方言が多いし、Octave Forgeのような豊富な関数を使えない。

利点
・グラフがOctaveよりはきれい
・Serial-0.2.tgzという非オフィシャルのパッケージを導入すると
 RS-232Cのコントロールが可能
例えば、COM3のモデムを操作する場合

fp=openserial(3,"9600,n,8,1")
writeserial(fp,'ATI0'+ascii(13))
xpause(200000)
readserial(fp)
xpause(200000)
writeserial(fp,'ATI1'+ascii(13))
xpause(200000)
readserial(fp)
closeserial(fp)

こんな感じ。xpauseはパラメータのμ秒数だけ待つ命令
0080名無しさん@お腹いっぱい。
垢版 |
2010/12/22(水) 13:33:15
データを全部テキストデータで保存すると
ファイル増えてしかたない
sqliteあたりにまとめて保存できないでしょうか
0081名無しさん@お腹いっぱい。
垢版 |
2010/12/23(木) 22:20:35
>>80
saveコマンドがあります

aaa=[1:1000];
save hoge.sav aaa

とやれば変数aaaがhoge.savにテキスト形式で保存されます
読み出す場合は

bbb=load('hoge.sav')

とやればいいです
この場合テキスト形式ですけど

save -binary hoge.bin aaa

とやればバイナリーで保存できますが、テキストよりもサイズが小さくなるかどうかはケースバイケースです
読み出しは

ccc=load('hoge.bin')

とやれば、勝手に保存形式を判断してくれます。
またMATLABのsaveコマンドで作られたファイルとの互換性もあるようです
0082octave for windows メモの筆者
垢版 |
2010/12/24(金) 17:39:00
>>79
・グラフがOctaveよりはきれい
Ver. 3.3.54+ のFLTK Backendは,グラッフィクス,かなりよいですよ。
でも,自分でビルドしないと使えないのとMinGWではまだバグがある。

Ver 3.4はどれくらいかかるかな。
JWEさんのエンジンかかってきたから,数ヶ月後にはでるとおもうのですが。
0086octave for windows メモの筆者
垢版 |
2011/01/19(水) 18:39:37
開発版も様々なプラットフォームでのビルドがかなり安定してきています。
私は,MinGWのビルドしていますが状況はかなり改善しています。

3.4リリースが確実に近づいています。
新しい fltk Backend は,すばらしいものです。
できるだけ早く皆様が見る日がくればいいなと思います。
Debianなどでは,自力でビルドできる方がいらっしゃると思います。
ビルドできる環境におられるかたは
是非自力で開発版をビルドされて,
その実力をみていただきたいと思います。
0090名無しさん@お腹いっぱい。
垢版 |
2011/02/08(火) 08:12:40
>>89
テストパッケージ、ありがたく使わせてもらっています。

octaveと直接関係ないところで申し訳ありませんが。。。
パッケージに入っているckwなのですが、ckw.cfgの以下行が

Ckw*chdir: d:\usr\Tatsu

自分の環境に存在しないディレクトリだとckwが
立ち上がらないようです。

0091名無しさん@お腹いっぱい。
垢版 |
2011/02/08(火) 10:59:39
>>89
入れてみましたけど

octave:1> backend("fltk")
error: `backend' undefined near line 1 column 1

となりますね。
plotするとgnuplotで描画されます。

0095octave for windows メモの筆者
垢版 |
2011/02/09(水) 10:00:50
Octave-3.4.0のソースがリリースされました。
http://www.gnu.org/software/octave/download.html


各ディストリビユーターによるバイナリのリリースはこれからだと思います。

なお,Windows版はMaintanerのBenjamin Lindnerさんの準備状況から
少し時間がかかると思います。
混乱を避けるため,3.4.0のtesting binaryを私の方から出すことは
しないつもりです。

直前のスナップショットの3.3.92を出すかもしれません。
(たぶん中身はほとんど変わらない)
0097名無しさん@お腹いっぱい。
垢版 |
2011/02/10(木) 12:50:16
>>96
GNUplotを使ってたり残念感がありますね
ckwとgnuplotをwxt拡張で使ってる方がまだましというか
どうせならScilabやR言語のグラフ機能を乗っ取ったとかの方が良かった
0098octave for windows メモの筆者
垢版 |
2011/02/27(日) 16:18:39.27
>>97
まあ,3.4になってfltkになればよくなると思いますが。Windowsでは,
まだしばらく3.4のリリースかかりそう。
0099名無しさん@お腹いっぱい。
垢版 |
2011/03/27(日) 03:29:38.85
3.4をビルドしてみたけど、fltkでついにui系の機能が実装され始めたみたいだね。
今のとこuigetfile、uiputfile、uigetdir、uimenuだけだけど、今まで手つかずだっただけに素晴らしい!

ところで、fltkって画像ファイルの出力ってできないんだろうか?
graphics_toolkit fltk;
plot(1:10);
print('test.eps','-deps');
とかやっても、空っぽのファイルしか出来ないんだけど…。
他の形式でも同様。

…うん、printはgnuplot backend使えって話はごもっともなんだけど、アニメーション作成用に
もうちょっと高速な出力手段を模索中。

誰か情報持ってない?
0100名無しさん@お腹いっぱい。
垢版 |
2011/04/15(金) 10:51:34.50
すみません,2ch初心者なんですが….
Octaveのプログラミングについて質問させていただける板ってどこにありますか?
「Octave」「octave」で検索かけてもこの板しか見つかりませんでした.
エラーの返ってきちゃう関数をどうすれば使えるか調べたいんですけど(汗)
0101名無しさん@お腹いっぱい。
垢版 |
2011/04/18(月) 22:25:16.10
>>100
MATLABのスレを探してみてください
OctaveはMATLABのクローンなので

あと、エラーの返ってくる関数を調べる方法は知りませんが
エラー処理はtry, catch でやります



A=[1,2]
B=[1;2]
try
C=A+B
catch
%lasterr
disp('error!!')
D=A+B'
end

AとBはベクトルの向きが違うので、足すとエラーが出るのですが
エラーの出そうな処理をtryの後に書き、エラーが出た後の処理をcatchの後に書きます
コメントアウトしているlasterrは直前のエラーが何かを表示します
0103名無しさん@お腹いっぱい。
垢版 |
2011/06/13(月) 00:08:14.52
octave から gnuplot を使うとき、最近のバージョンのoctave だと
gset や __gnuplot_set とかが使えないんですが

set term tgif みたいな処理はoctave からはどのように
すれば良いんでしょうか?
0104octave for windows メモの筆者
垢版 |
2011/06/16(木) 03:40:35.38
>>103
最近バージョンでは,gnuplotのコマンドを直接たたくことはできません。

plotしたあと
drawnow のdebug オプションを使って
>> drawnow ("tgif", "foo.tgif", false, "debug.gp")

>> system('gnuplot debug.gp');
でfoo.tgifを作成する。
ぐらいでしょうか
0106octave for windows メモの筆者
垢版 |
2011/06/16(木) 04:07:12.45
>>105
うまくいかなかったのはWindows 版のgnuplot のbug のせいのようです。
windowsでは
system('gnuplot debug.gp');
system ('type debug.gp | gnuplot')でうまくいきそうです。
tgifをもっていないのでfoo.tgifをテキストエディタで確認しただけですが。

postscriptでうまくいったので,tgifでもおそらくいくと思います。
0107octave for windows メモの筆者
垢版 |
2011/06/16(木) 06:58:04.50
>>103 たびたびすみません。ケアレスミスがあるので104-106は無視してください。

plotしたあと
drawnow のdebug オプションを使って
>> drawnow ("tgif", "foo.obj", false, "debug.gp");

でgnuplotのスクリプトdebug.gpを出力し
それをsystemコマンドでgnuplotでgif出力(foo.obj)させます。
>> system('gnuplot debug.gp');

debug.gp のデータはバイナリであり,windows 上ではgnuplotバクにより
正しくプロットされません。



0109octave for windows メモの筆者
垢版 |
2011/06/16(木) 07:33:34.95
108 の続き


tgif はもっていないので,fig ファイルを生成するようにして
Cygwin 上Xfigで
でfoo.figを作成したところうまくいきました。

 >> drawnow ("fig", "foo.fig", false, "debug.gp");
 >> system ('type debug.gp | gnuplot');
 できたfoo.fig をXfigでよみこんでプロットを確認しました。
tgifでもうまくいくと思います。
0110名無しさん@お腹いっぱい。
垢版 |
2011/06/18(土) 10:54:38.14
octave for windows メモの筆者さん
>>103です。
いろいろお答えいただきましてありがとうございました。

tgif への出力はできるようになりました。

私がoctaveを使いこなしていないからかも
知れませんが 個人的には gnuplot の細かい設定が
octave上からできる方が便利なのですが。
0111octave for windows メモの筆者
垢版 |
2011/06/18(土) 17:08:46.76
>>110
Octave は3.2(3.2では試験的,3.4から本格的)から
Open GL ベースのグラフィックスを扱うようになり,
整合性の観点から低レベルでgnuplotを直接触ることはやめになりました。
その代わり,octave-forgeにgnuplot パッケージがあり,
gnuplotを直接いじりたい方はそちらを使うという思想のようです。
0114名無しさん@お腹いっぱい。
垢版 |
2011/06/20(月) 11:49:46.70
cygwin x上で以下のようなエラーが出てgnuplotを使うことができません.どなたか解決策が分かる方いましたら教えて下さい.

octave:1> x = [0.0, 0.2, 0.4]
x =

0.00000 0.20000 0.40000

octave:2> plot(x, sin(x))
error: Invalid call to strcat. Correct usage is:

-- Function File: strcat (S1, S2, ...)

error: called from:
error: /usr/share/octave/3.4.0/m/help/print_usage.m at line 87, column 5
error: /usr/share/octave/3.4.0/m/strings/strcat.m at line 92, column 5
error: /usr/share/octave/3.4.0/m/plot/__gnuplot_get_var__.m at line 113, column 11
error: /usr/share/octave/3.4.0/m/plot/__go_draw_axes__.m at line 40, column 18
error: /usr/share/octave/3.4.0/m/plot/__go_draw_figure__.m at line 167, column 19
error: /usr/share/octave/3.4.0/m/plot/__gnuplot_drawnow__.m at line 86, column 5
0116名無しさん@お腹いっぱい。
垢版 |
2011/06/21(火) 15:01:05.47
114です.
cygwinのバージョンを1.7.8-1に直したところグラフ表示できました.ありがとうございました!!
0117名無しさん@お腹いっぱい。
垢版 |
2011/06/21(火) 21:24:25.60
最近octaveを始めたんだけど
octaveのサポート状況の良いディストリってどれ?

ubuntu のoctave はバージョン古い。
FreeBSDのportsのoctaveなんかは最新のおっかけは凄いけど
portsからのインストールは遅い。
0118octave for windows メモの筆者
垢版 |
2011/06/22(水) 03:04:37.49
>>117
jweさんがDebianだからのぞいてみたけど,まだ3.2.4のままですね。
octaveの本家のMLをみるとLinuxの人は割りと自分でビルドしているようです。
0121octave for windows メモの筆者
垢版 |
2011/06/24(金) 04:04:41.54
>>120 FreeBSDのOctaveのメンテナーの方を知っています。
(日本人です。)
その方は多倍長BLASの作者でもあります。
最近連絡を取りました。

ところでoctave 3.4.1には,mkoctfileにバグが見つかり,
3.4.2の準備段階です。(現在RC2がでている)。
FreeBSDは,3.4.2がでたらすぐ対応するようです。
0124名無しさん@お腹いっぱい。
垢版 |
2011/06/25(土) 01:55:02.93
octaveのメーリングリストを見ていると
MysqlでもCUDAでも何でも新機能を導入しようとする場合に
John W. Eaton氏が、GPLかどうかを問いかけて潰れていってる気がする

Rなんか2009年の段階でGPU対応してるのに
http://brainarray.mbni.med.umich.edu/Brainarray/Rgpgpu/
Mysqlにまで対応している
http://www.okada.jp.org/RWiki/?RMySQL

じゃあScilabでもいいやと調べてみても
まともなものが無い
Scilabは他のtoolboxも貧弱だし
0126octave for windows メモの筆者
垢版 |
2011/06/25(土) 02:33:11.93
>>124

MySQLはoctave-forgeで対応している気がする。
自分では使わないから詳細はわかりませんが。

http://octave.sourceforge.net/database/overview.html

These are bindings that allow SQL queries and other database operations
on postgres, mysql, sqlite, and standard ODBC databases from within
Octave. A simplified interface that is uniform across all database types
is provided, as well as the entire C client API for each database
(libpq, libmysqlclient, etc).
0128octave for windows メモの筆者
垢版 |
2011/06/25(土) 06:29:16.81
>>124
CUDAについては,OctaveはGPLですので,
jwe氏が言うことは仕方のないことなのでしょう。
OctaveがGPLから他のライセンスに変えるか,GPLが変わるか
CUDAがかわるかどちらかでないといけないのでしょうが,
まあ実現はしないのだと思います。

ところで,MySQLは,
http://www-jp.mysql.com/about/legal/licensing/faq.html
にあるように問題がないように思います。
だからOctave-forgeのdatabaseパッケージでMySQLはサポートされている
のだと思っています。
0129octave for windows メモの筆者
垢版 |
2011/06/25(土) 06:35:35.07
>>128
ただし,再配布せず自分でやる分には問題がないと思います。
以前GotoBLASが,GPL非互換だったとき自分でソースからビルドして,
octaveのビルド時に組み込んで使用することはできました。

かなり,億劫なことになりますが,
http://scinesur.wordpress.com/2009/11/12/cuda-on-octave-3-x-in-linux-64-bits/
なこのページもあることですし,自力でやることはできるのかなと思います。
0130名無しさん@お腹いっぱい。
垢版 |
2011/06/25(土) 08:57:30.61
>>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では無理っぽいですね
0131octave for windows メモの筆者
垢版 |
2011/06/25(土) 12:23:55.27
>>130

そうですね。3.0.xのころdatabaseパッケージを四苦八苦していれましたが,
postgres と mysqlはあきらめてsqlite3とodbcだけでやったことがあります。

CygwinならたしかpostgresqlがOctaveを意識せずにあったような気がしますが,
それを使ってpkg installをしたことがないので,なんともいえません。
Cygwinの方がUnixに近いのでライブラリをかき集めれば何とかなるかも
知れません。
0132octave for windows メモの筆者
垢版 |
2011/06/29(水) 02:59:55.51
MinGWの体験版のOctave-3.2.4バイナリを作成し,配布してます。
http://www.tatsuromatsuoka.com/octave/Eng/Win/

あくまでも体験版で,
Octave-forgeがはいっていませんし,バグもあると思います。
インストーラーなる気の利いたものもなく,zipファイルを解凍して
適当なフォルダにおきます。
ビルドに必要なツールも一応いれたつもりなので,自分でビルドしてみたい
方はどうぞ。ただし,あまり丁寧な説明はしていません。
0133名無しさん@お腹いっぱい。
垢版 |
2011/07/04(月) 06:29:50.28
どなたか賢い方、助けて下さい…

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なら特に問題ないのですが…
0136octave for windows メモの筆者
垢版 |
2011/07/04(月) 15:38:46.46
>>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もってないのでわからないので。
0137名無しさん@お腹いっぱい。
垢版 |
2011/07/04(月) 23:18:23.00
>>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
でも同義です。

こちらでも迂回策を探してはいるのですが、環境変数も効きませんし、なかなか…
0139octave for windows メモの筆者
垢版 |
2011/07/05(火) 01:56:50.28
>>137 蛇足です。Cygwin版のoctaveでは,おっしゃられている動作をする
ようです。MinGWならではのバグのようです。

職場のパソコンで自分でビルドした3.4.2(MinGW)でも,動作しなければバグ
報告をします。
0140octave for windows メモの筆者
垢版 |
2011/07/05(火) 06:45:34.07
>>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
:
 (以下略)
**********************

0141名無しさん@お腹いっぱい。
垢版 |
2011/07/05(火) 07:58:49.52
>>138
ありがとうございます、現在そちらの方向で検討中です。

>>140
え?なぜ3.4.2はそんな残念な動作に…
3.2.4(Benjamin版)ではC:\Octaveを指定しても駄目なようですね

こちらの職場PCにはBenjaminさんのメモにしたがってビルドした
3.2.4がありますので、そちらも試してみます。
0142octave for windows メモの筆者
垢版 |
2011/07/05(火) 08:11:41.89
>>141
140 は長くて,2chにおこられたので,後から続きを書こうとしてわすれていました。
どーもドライブのルートディレクトリの場合は失敗して,C:\とならず,C:
となるのですが,C:\octaveのような場合は大丈夫です。

一応,development branch でも試すために,現在ビルド中です。 
0143octave for windows メモの筆者
垢版 |
2011/07/05(火) 09:51:31.50
>>142 予想通りDevelopment Branchのソースからビルドしても,
octave --path c:\
のようなルートディレクトリの指定はバグってますね。
時間があるときにbug trackerに登録します。
(直るかどうかわかりませんが。)
0145名無しさん@お腹いっぱい。
垢版 |
2011/07/05(火) 23:05:49.70
>>143
大変感謝です…。

ちなみに、Benjaminさんメモに従ってビルドした3.2.4ですが、
MSYS環境ではpath指定が通りました。

コマンドプロンプトからはlibgcc_s….dllが足りないとか言われて
実行できなかったので、未検証です。
(MSYS環境以下を探しても見つからなかったので諦めてましたが、
よく考えたらMinGW環境以下にありそうですね…忘れてました)
0146octave for windows メモの筆者
垢版 |
2011/07/06(水) 01:46:53.64
>>145
Msys 環境下で指定がうまくいくということは,パスのハンドリングが
octave --path でUnix likeになっているからかもしれません。
なお,libgcc_s….dllなどたらない,dllは,Benjaminさんのビルドのbin
ディレクトリからコピーして,自分でビルドしたoctave.exe,
octave-3.2.4.exeのあるディレクトリにペーストすればいいです。

または,バッチファイルなどでBenjaminさんのビルドのbinディレクトリに
パスを通すという手もあります。

0147名無しさん@お腹いっぱい。
垢版 |
2011/07/06(水) 18:47:15.59
>>146
コマンドプロンプト環境下で試してみました。
dllはOctaveのビルドに使用したc:\mingwのbinにパスを通して
対処してます。

octave --path c:\msys -> OK
octave --path c:\ -> OK(ちゃんとc:\と表示される)
…あれ?

Benjaminさんメモに従うとコンパイルは自動で流れるので、
できるバイナリはインストーラで配布されているものと
同じはず、だと思うんですが…?

なお、本来の目的はOctave起動後にaddpathすることで達して
おりますので、これ以上追いかける意味は無くなってしまったのですが…。
ご報告まで。
0149名無しさん@お腹いっぱい。
垢版 |
2011/08/03(水) 16:34:09.93
質問いいでしょうか?
画像を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;

どなたかお願いします
0152octave for windows メモの筆者
垢版 |
2011/08/08(月) 16:59:04.63
>>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で戻るはずは原理的にないような気がします
0154名無しさん@お腹いっぱい。
垢版 |
2011/08/09(火) 15:43:46.03
むしろこんな感じ

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とかを使わない
0155octave for windows メモの筆者
垢版 |
2011/09/02(金) 10:37:46.27
Blas としてOpenBLASかなり使えます。
https://github.com/xianyi/OpenBLAS

なお,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に )

0161octave for windows メモの筆者
垢版 |
2011/09/22(木) 14:14:55.62
>>159 >>160

ttp://www.gnu.org/software/octave/doc/interpreter/Compiling-Octave-with-64_002dbit-Indexing.html

にしたがってビルドするしかないようですね。
Debian 上での例が載ってます。
0163名無しさん@お腹いっぱい。
垢版 |
2011/09/26(月) 13:34:26.79
>>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ぐらいに壁があるようです。
0164octave for windows メモの筆者
垢版 |
2011/09/26(月) 17:59:23.61
>>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の場合,スタックサイズの上限に問題があるようですね。
0165名無しさん@お腹いっぱい。
垢版 |
2011/09/27(火) 09:00:38.67
>>163
倍精度複素数16bitではなくて16Bytesの間違いでした

全部の変数で2GB未満しかアロケート出来ないっぽいです
2^32は42億9496万7296でしたか、つまり4Gですが
CPUは2の補数をとった2Gまでしかアクセスできないのでしょう
0166octave for windows メモの筆者
垢版 |
2011/09/27(火) 10:26:32.43
>>165
ttp://www.gnu.org/software/octave/doc/interpreter/Compiling-Octave-with-64_002dbit-Indexing.html
をよく読むとArray Indexとなる整数のバイト数を64 bitの体系にあわせて,
ライブラリまで含めて構築しなおす必要があるようです。
(たとえばFortran のライブラリなら(たとえばLAPACK),
interger のデフォルトのバイトを8バイトにする。)
Scilab 64 bitは,そこまで考えてビルドされていなのではと推測します。
0167octave for windows メモの筆者
垢版 |
2011/09/30(金) 10:42:53.78
Octave 3.4.3-rc0 release candidate available for ftp

ttp://octave.1599824.n4.nabble.com/Octave-3-4-3-rc0-release-candidate-available-for-ftp-td3857294.html

だそうです。
0168名無しさん@お腹いっぱい。
垢版 |
2011/10/01(土) 22:47:50.57
Octaveの連想配列はどう書けば良いのですか?
データに番号がついていて連続していない状態で、他のデータから連続していないデータを参照しているので
内部で番号をつけ直しています。つけ直しの時に総ナメのような感じになってしまうので連想配列が使えたら
と思いまして質問しました。
0169名無しさん@お腹いっぱい。
垢版 |
2011/10/02(日) 01:13:05.09
>>168
構造体で、それっぽいことはできたはず。
その用途でしたら、スパース行列でもよさげ。
どっちが速いかは未検討。
0170168
垢版 |
2011/10/02(日) 09:20:50.75
>>169
a.idみたいな感じで丁度構造体を使っているので構造体を使った連想っぽい処理をもう少し具体的に知りたいです
どんな感じで使えば良いのですか?
0172168
垢版 |
2011/10/02(日) 18:24:07.84
どこまで必要な情報なのか・・・書ききれるのか分かりませんが書いてみます
有限要素法のプログラムを勉強のために作っているのですが、データが節点、
要素等番号がついています。NASTRANのデータ形式をGRIDとかCHEXAとか
を使っています。(手を抜いて継続行を一行にしていたりしますが・・・)
これらの番号(ID)は連続した数字ではなく、プログラム内部で参照して番号を
関連付けるしかないのですが、現状総ナメで番号(ID)を内部の連続した配列番号
に関連付けています。変数はelem(:).id、node(:).idがデータの番号で関連付
けした変数はelem(:).no、node(:).noとかにしています。主にelemがnode
を参照するのでnode(:).idを連想配列風の処理で内部の配列番号に変換したいのです
読みにくいと思いますが、構造体を使った連想配列風の処理を教えていただけない
でしょうか?
0173名無しさん@お腹いっぱい。
垢版 |
2011/10/02(日) 23:48:46.22
>>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で信用なりませんが、
各種アルゴリズムの実装を知るには非常に有用です(個人的に、固有値解析のとこは感動しました)。
0174168
垢版 |
2011/10/04(火) 20:03:02.40
>>173
お返事有り難う御座います。
処理速度を早くするためにはスパース行列が良さそうですね、
処理手順を多少弄らなければいけなさそうですが少し考えてみます。
案2の方も少し考えてみます。(使えそうな使えなさそうな・・・)

OpenFEMの情報有り難う御座います。少しググってみます。
0177octave for windows メモの筆者
垢版 |
2011/10/12(水) 16:12:10.66
>>176
残念ながら喜ぶような機能の追加はなく,バグフィックスのようです。
3.4はこれでおしまいで,次は3.6になります。
GUIのインターフェースがつくかも知れませんが,はっきりとしません。
0179octave for windows メモの筆者
垢版 |
2011/10/13(木) 11:33:00.99
>>ネイティブEXCELリーダー
Octave-forgeのio packageである程度のことはできるようです。
私はつかったことがないのでよくわかりません。
ttp://octave.sourceforge.net/io/overview.html

>>純正のOctave Workshop
Qt BaseのGUIが検討されていてもしかしたら,3.6で実装
(たぶんExperimental)されるやもしれません。
Windows版については,最近活動がストップしているBenjaminさんに
変わる人が出てくればいいのですが。
私のスキル,体調,仕事上の都合でそこまでついていけないのが実情です。
0180名無しさん@お腹いっぱい。
垢版 |
2011/10/13(木) 13:02:18.29
scilabでは伝達関数を定義するのに

s=poly(0,"s")
sys=1/(1+s)

ってできますが
Octaveでは
sys=tf( [1] , [1 1] );
ですよね。
scilabみたいに記法する方法はないですかね?

0181octave for windows メモの筆者
垢版 |
2011/10/13(木) 17:08:44.70
制御系には全く無知なのではずしていたらすみません。
Octave 3.4に対応した
Octave-forgeのcontrol packageでは,
ttp://octave.sourceforge.net/control/function/tf.html

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の場合
ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#110906
こちらをご覧ください。
0183octave for windows メモの筆者
垢版 |
2011/10/13(木) 17:18:17.15
>>181
何度もすみません。
****************************
Windowsの場合
ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#110906
こちらをご覧ください。
****************************

WindowsでOctave-3.4.2でcontrol packageなどのOctave-forgeを使いたい場合
ということです。舌足らずな説明ですみません。
0184名無しさん@お腹いっぱい。
垢版 |
2011/10/13(木) 23:33:20.68
早速ありがとうございます。
使ってみます。

ginputのバッティングなんかも解消できているといいのですが。
0185名無しさん@お腹いっぱい。
垢版 |
2011/10/14(金) 15:57:12.92
>>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%にまで上がってるはずです。
0186名無しさん@お腹いっぱい。
垢版 |
2011/10/15(土) 13:48:46.19
>>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だと出来るのか。
0187名無しさん@お腹いっぱい。
垢版 |
2011/10/15(土) 14:33:56.65
>>186
それはわかってるつもりなのですが

伝達関数は計算してから入れればいいという考え派なので

しかし制御の本がScilabばっかりなのは
伝達関数の計算なんかめんどい&scicos(5.2以降ならxcos)で制御を勉強したい
という人が多いのでしょうね
0188octave for windows メモの筆者
垢版 |
2011/10/17(月) 07:33:56.72
>>186
>Octave3.4だと出来るのか。
正確にいうと最近のControl package でできるようになり,
それにはoctaveが3.4以上である必要があるということのようです。

ところで3.4.2 for winodws用のOctave-forge Packageが更新されました。
 http://wiki.octave.org/wiki.pl?OctaveForWindows
を参考にしてください。Control package もバージョンが
あがっているようです。
0190octave for windows メモの筆者
垢版 |
2011/10/18(火) 08:54:52.33
>>189
される見込みは,残念ながら今のところありません。
MaintainerのBenjamin Lindnerさんが5月ごろから,svnの作業ツリーやML
などから,姿を消しておられます。

私は,ビルドしかできないので3.4.2を自分のWebにのせたら,
Nitzan Araziさんが7zipによるアーカイブと octave-forge のパッケージを
(7 zip)作ってくださいました。
0191名無しさん@お腹いっぱい。
垢版 |
2011/10/19(水) 20:34:16.86
lsode関数で微分方程式を解いて時間経過を見るとき
変数xが負の値をとる場合にはゼロになるように条件を加えたいのですが
そういったことは出来るのでしょうか。
0192名無しさん@お腹いっぱい。
垢版 |
2011/10/20(木) 12:35:32.94
>>191 マニュアルを読む限りではそのようなオプションはないと思います。
数学的な工夫でできるかもしれませんが。すみませんがわかりません。
0193名無しさん@お腹いっぱい。
垢版 |
2011/10/21(金) 23:07:54.32
>>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にはあるのに)
0194名無しさん@お腹いっぱい。
垢版 |
2011/10/24(月) 20:16:09.57
>>193 本家のoctave-dev ML (Octave-forgeのメーリングリスト)で聞くしか
ないでしょう。たしかMaintainer が最近変わったようなので。
0197名無しさん@お腹いっぱい。
垢版 |
2011/10/29(土) 15:09:02.44
↑のやつですが、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
0198名無しさん@お腹いっぱい。
垢版 |
2011/10/30(日) 05:18:24.99
>>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を使います。
0199名無しさん@お腹いっぱい。
垢版 |
2011/10/31(月) 01:21:57.38
>>199
すみません、最初にpkg rebuild -autoしたのにどうしてもダメだと思ってましたが
octaveの再起動が必要なことに今の今まで気づいてませんでした;;
どうもお騒がせしました。
0201octave for windows メモの筆者
垢版 |
2011/12/03(土) 10:38:58.08
>>200
情報ありがとうございます。確かにOctave Integrationとありますね。
OctaveのMLでは,なにも話しは出ていませんが,どうなんでしょうね。
Octave MLでは3.6のリリースに向けて議論がなされています。

GUIも開発されつつあります。
0203名無しさん@お腹いっぱい。
垢版 |
2011/12/04(日) 10:21:08.63
FreeMatって

G=1/(1+0.1*s)
bode(G)

みたいな事はできるんですかね?
Octaveは最新版でやっと出来るようになったみたいですが。
0207名無しさん@お腹いっぱい。
垢版 |
2011/12/10(土) 02:50:59.58
>>206
おぉお。
ついに! 
ありがとうございます
0208octave for windows メモの筆者
垢版 |
2011/12/10(土) 17:54:33.57
>>206 >>207
今回のバイナリーには,インストーラーがありません。そのため上記のページに
詳しい解説とインストール方法が記載されています。英語なので,拙Webページに自分の
改定を少し加えた翻訳の解説とインストール方法を記載しましたので,ご利用
ください。

http://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#111210
0209名無しさん@お腹いっぱい。
垢版 |
2011/12/11(日) 23:57:09.22
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
0210209
垢版 |
2011/12/12(月) 00:01:14.96
過去レスにサンプルまでいっしょのレスがありました。驚きです。
cygwinのダウングレードで解決されていましたが、
ダウングレードはするつもりがないので相性がよくなるまで待ちます。
0211octave for windows メモの筆者
垢版 |
2011/12/12(月) 05:14:49.53
>>210
CygwinのMLを見ているとOctaveとの相性の悪い1.7.9に代わって1.7.10が
テストリリースされているようです。まだ,試していませんが問題が解決して
いることを願います。
0213名無しさん@お腹いっぱい。
垢版 |
2011/12/13(火) 21:31:51.59
>>208
すいません

s=tf("s")
bode(s)

ってやるとボード線図は出るのですが、出てきたボード線図のグラフィックウインドウ上でマウスをドラッグしたり
ホイールをまわしたりすると、落ちちゃいます。

僕の環境(WinXP32bit)だけかもしれませんが。

普通にplotだと、出力されたグラフをマウスでいじっても大丈夫なんですが。

http://www.42ch.net/UploaderSmall/source/1323769033.png
0214名無しさん@お腹いっぱい。
垢版 |
2011/12/15(木) 09:13:34.34
Mingw正式リリースの3.2.4を使っると巨大データでこけるので困っていました
(Memory Exhaustedのエラーを吐く)
特にWindows7 64bitだとすごくこけやすかったので
(理論的には2GBまで大丈夫なはずなのに500MBぐらいのメモリー使用でこける)
環境を変えるのはあまり好きでは無かったのですが
3.4.3を入れてみたら全くこけなくなりました、
このバージョンなら2GBまでこけないかも
助かりました

OpenBLASは
ttp://www.tatsuromatsuoka.com/octave/Eng/Win/
のを使わせていただきました

自分でmakeするとエラーが出たので
0215名無しさん@お腹いっぱい。
垢版 |
2011/12/15(木) 19:28:05.14
>>214
MemoryExhaustedは3.2.4でも悩まされてるけど、
3.4.3は、さらに起きやすくなった。実際、同じスクリプトが動かなくなった。
0216名無しさん@お腹いっぱい。
垢版 |
2011/12/16(金) 09:38:28.61
>>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が出ないよという書き込みがあったから
0217名無しさん@お腹いっぱい。
垢版 |
2011/12/18(日) 02:33:58.07
iphone用octaveでないかなー
0220octave for windows メモの筆者
垢版 |
2011/12/20(火) 03:33:44.62
最近,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もビルドできました。
0221octave for windows メモの筆者
垢版 |
2011/12/20(火) 03:37:19.84
最近,HDDが壊れたThink Pad X40にUSB HDDを利用してUbuntu 11.10をいれて触っています。
Ubuntuのソフトウェアセンターのoctaveは3.2.4なので,3.4.3をビルドしてみました。
Windowsでのビルドの経験が役にたって少々の試行錯誤で無事ビルドできました。
なかなか,いい感じです。
しかし,ビルドツールがUnbuntu上ではWindows上よりはるかに速いのでおどろきました。
また,3.5.90のビルドもできました
0222octave for windows メモの筆者
垢版 |
2011/12/21(水) 07:20:59.27
最近,HDDが壊れたThink Pad X40にUSB HDDを利用してUbuntu 11.10をいれて
触っています。Ubuntuのソフトウェアセンターのoctaveは3.2.4なので,
3.4.3をビルドしてみました。
Windowsでのビルドの経験が役にたって少々の試行錯誤で無事ビルドできました。
なかなか,いい感じです。しかし,ビルドツールがUnbuntu上ではWindows上より
はるかに速いのでおどろきました。
0223octave for windows メモの筆者
垢版 |
2011/12/21(水) 07:22:37.20
最近,HDDが壊れたThink Pad X40にUSB HDDを利用してUbuntu 11.10をいれて
触っています。Ubuntuのソフトウェアセンターのoctaveは3.2.4なので,
3.4.3をビルドしてみました。
Windowsでのビルドの経験が役にたって少々の試行錯誤で無事ビルドできました。
なかなか,いい感じです。しかし,ビルドツールがUnbuntu上ではWindows上より
はるかに速いのでおどろきました。
0224octave for windows メモの筆者
垢版 |
2011/12/23(金) 10:37:59.12
>>220 -223
2chブラウザの特性を知らず同じ書き込みを何度もしてすみません。m(__)m
0225名無しさん@お腹いっぱい。
垢版 |
2011/12/23(金) 10:49:14.91
>>214

>OpenBLASは
>ttp://www.tatsuromatsuoka.com/octave/Eng/Win/
>のを使わせていただきました

>自分で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


こうしてできたものを
ttp://www.tatsuromatsuoka.com/octave/Eng/Win/
にアップしました。
0227octave for windows メモの筆者
垢版 |
2011/12/23(金) 12:16:03.65
>>255
たびたびすみません。
>MinGW上ではふつうにビルドしただけではエラーになるようです。

Cygwin上でふつうにビルドしただけではMinGWでエラーになるようです。

で,CygwinのMinGW64の32bit版GCCで静的ライブラリからリンクしなおして,
dllを作成しています。
0229名無しさん@お腹いっぱい。
垢版 |
2011/12/23(金) 13:22:53.36
>>224
あ、おかえりなさいw

普通は自動追尾するはずなんですが、

板欄→板一覧の更新
スレ欄→スレ一覧の更新

を手動でやればいいんでしたっけか。
自分も適当にやったので、本当はどうすればいいのか、実はよくわかってないですw

というわけなんですが、
>>213
の状態になるのは僕の環境だけなんでしょうかねぇ?
0230octave for windows メモの筆者
垢版 |
2011/12/23(金) 16:04:18.95
>>213 >>229
再現確認しました。
現在配布のバイナリは,share\octave\site\m\startup\octaverc
でfltkがgraphics_toolkitに指定してあります。

graphics_toolkit gnuplot
でやると落ちないようです。
gnuplotのmultiplotを使っているので,マウスぐりぐりは
変なことになりますが,落ちることはないようです。

fltkで落ちるのは,バグかなと思います。
ちょっと調べてみます。
0231octave for windows メモの筆者
垢版 |
2011/12/23(金) 16:04:31.43
>>213 >>229
再現確認しました。
現在配布のバイナリは,share\octave\site\m\startup\octaverc
でfltkがgraphics_toolkitに指定してあります。

graphics_toolkit gnuplot
でやると落ちないようです。
gnuplotのmultiplotを使っているので,マウスぐりぐりは
変なことになりますが,落ちることはないようです。

fltkで落ちるのは,バグかなと思います。
ちょっと調べてみます。
0233octave for windows メモの筆者
垢版 |
2011/12/23(金) 16:16:09.81
>>230
subplotが怪しいのかなあとおもいましたが,単にsubplotしただけではfltkでの
グラフ落ちませんでした。Controlパッケージのせいなのかな?
ちょっと見当つかないですが,余力があればBug Trackerにあげてみます。
それで解決するかはわかりませんが。
0236octave for windows メモの筆者
垢版 |
2011/12/24(土) 12:24:11.51
Octave-3.5.91がでました。
ttp://octave.1599824.n4.nabble.com/Octave-3-5-90-snapshot-available-for-ftp-tp4200255p4230198.html
3.6.0へ向けての最後のスナップショットとなると思います。
0237octave for windows メモの筆者
垢版 |
2011/12/24(土) 18:57:01.99
少し前ですが,Octave のWikiが新しくなりました。 
ttp://www.octave.org/wiki/index.php?title=Main_Page
の左の Navigation の index からいろいろなページに飛べます。
0238octave for windows メモの筆者
垢版 |
2011/12/25(日) 05:39:00.48
ttp://sourceforge.net/projects/octave/files/Octave_Windows%20-%20MinGW/Octave%203.4.3%20for%20Windows%20MinGW%20Installer
/
にインストーラー版 Octave-3.4.3 for windowsがおかれました。

ttp://gnu-octave-repository.2306053.n4.nabble.com/Installer-for-mingw32-Octave-3-4-3-td4225772.html

Octave-forgeは含まれないようなので,従来からあるOctave-Forgeを利用される
方は Octave3.4.3_gcc4.5.2_pkgs_20111026.7z の内容をを上書きして,
設定する必要があると思います。
0239名無しさん@お腹いっぱい。
垢版 |
2011/12/25(日) 22:30:58.01
本当に初歩的な質問ですが、octaveで乱数(メルセンヌツイスタ)を使いたいのですが、その乱数がcファイルなので、どうすればoctaveで使えるのですか?
因みに目的はメルセンヌツイスタを用いた乱数発生で円を求める奴です
0241octave for windows メモの筆者
垢版 |
2011/12/26(月) 13:59:09.11
>>239
初歩的な質問でなく,かなり高度な質問(バリア)も高い質問です。

http://www.gnu.org/software/octave/doc/interpreter/Oct_002dFiles.html#Oct_002dFiles

を読んでoct ファイルを作る。C++だから,ラッパーを書く必要があるかも。
MATLABでも使うなら,mexがいいかもしれない。

http://www.gnu.org/software/octave/doc/interpreter/Mex_002dFiles.html#Mex_002dFiles

英語だから苦労するかもしれないけど,勉強だと思って。
0243239
垢版 |
2011/12/26(月) 16:06:13.41
>>240
ごめんなさい、メルセンヌツイスタ縛りなのでrand関数は不可です
あくまでも公式サイトから落としたメルセンヌツイスタプログラムを用いて計算しなければならないので…

てか何故PCから見れないんだ、このスレ(´・ω・`)
0244octave for windows メモの筆者
垢版 |
2011/12/26(月) 17:11:53.04
いまは↓
ttp://toro.2ch.net/test/read.cgi/unix/1256735581/
で見れるようです。私もある方に教えてもらいました。
0245octave for windows メモの筆者
垢版 |
2011/12/26(月) 17:19:19.18
>>243

ttp://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c
ソースはこれですか。
コンパイルして,実行形式を作る。
そのあと,Octaveから system コマンドをつかって実行して,
load コマンドなどでOctaveの変数に取り込むのが手っ取り早いかと。
0246名無しさん@お腹いっぱい。
垢版 |
2011/12/26(月) 18:33:11.68
それです、正にそれです

流石に馬鹿過ぎる質問ですがコンパイルと実行ファイル制作ってどうするんですか?
コマンドプロンプトを使ってやるのですか?
それともoctave上でコンパイルするのですか?

あ、当然ググりました
0247名無しさん@お腹いっぱい。
垢版 |
2011/12/26(月) 19:02:34.54
>>246
課題?

$ gcc -o mt19937ar mt19937ar.c
$ ./mt19937ar
1000 outputs of genrand_int32()
1067595299 955945823 477289528 4107218783 4228976476
3344332714 3355579695 227628506 810200273 2591290167
(以下略)
0248名無しさん@お腹いっぱい。
垢版 |
2011/12/26(月) 23:46:31.06
>>247
無事に窓を用いてコンパイルは出来ました(mt19937ar.exe)
けどそこからがよく分かりません…
system関数?load関数?

因みにこれは微妙に課題です
ゼミでoctaveを使うことになったのでその予行練習課題みたいなものです
0249名無しさん@お腹いっぱい。
垢版 |
2011/12/27(火) 00:10:48.73
>>239
確認ですが、その問題というのは、

0〜1の乱数を2個発生させる。(r1,r2)
r1^2+r2^2< 1 だったら カウンタを1増加させる。

この作業を100万回行う。
カウンタの値/100万×4がπになるはず

っていう問題ですかい?

問題を丸投げするんだから、情報を小出しにせず、
堂々と丁寧に全部書くことをオススメします。


0250名無しさん@お腹いっぱい。
垢版 |
2011/12/27(火) 00:40:58.98
了解しました

課題は2次元球(円)から10次元球までの体積(面積)をoctaveを用いて解くものです
条件としましては
・乱数を用いること、その際条件としてメルセンヌツイスタを用いる
・半径は1(x1+x2+x3+…+xn≦1を満たす、但しx1,x2,x3,…,xnはメルセンヌツイスタを用いて発生させた乱数とする)
・乱数発生回数は問わない(但し回数は考察対象とする)

因みに背景としましては、自分卒研にてベイズ推計を用いての逆問題について研究していますので、その際用いられるMCMC法でメルセンヌツイスタ乱数およびoctaveが必要なので、先生から予行練習課題としてこの課題が出されたのです
0251名無しさん@お腹いっぱい。
垢版 |
2011/12/27(火) 00:46:21.14
訂正です
乱数の範囲は[0,1]です
そして体積はV=(octaveで求めた値)×2^n(n:次元)で求めるものとします

一応octaveの基本はある程度理解をしたのですが、高度なのはさっぱり分からないのでここで聞きました
0253名無しさん@お腹いっぱい。
垢版 |
2011/12/27(火) 01:24:12.38
>>252
多分、方法は2つあって、

1) メルセンヌツイスタのアルゴリズムをOctaveで書き下ろして使う

2) http://dirk.eddelbuettel.com/code/octave-mt.html を読む

のどっちかじゃないすか?

#そもそもなんで、この問題をわざわざoctaveでやるのかの意味がよくわからんです。
 octaveでどんな問題でも解けるように というトレーニングなら1)の方法でしょーね。

0254octave for windows メモの筆者
垢版 |
2011/12/27(火) 06:47:11.09
>>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

うーむ。
0255octave for windows メモの筆者
垢版 |
2011/12/27(火) 06:57:19.79
>>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
とする。
0256名無しさん@お腹いっぱい。
垢版 |
2011/12/27(火) 12:06:42.27
やってみました

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ファイルにしてみようと試みたのですが
これもエラーが出てしまいました
0257名無しさん@お腹いっぱい。
垢版 |
2011/12/27(火) 12:23:14.32
因みに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
0259名無しさん@お腹いっぱい。
垢版 |
2011/12/27(火) 13:54:13.73
アドバイスを参考にスペースが入らないよう解凍位置を変更してみました

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をやっても「だからねーって言ってるだろ」とエラーが出てしまいました
どこが違うのか…
0260octave for windows メモの筆者
垢版 |
2011/12/27(火) 14:08:52.94
>>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がパッケージされていて,
それが認識されないといけないのですが。

ttp://octave.1599824.n4.nabble.com/Re-Fw-Re-msys-from-octave-td4234096.html
が参考になるかもです。

ちなみに'--enable-runtime-pseudo-reloc-v2’はGCC-3.4.5にはないオプションです。
0261名無しさん@お腹いっぱい。
垢版 |
2011/12/27(火) 15:44:46.34
minGWを新しいものに変え、今までの事をやりました
無事randmtが起動できました

そして課題もまとめることができました

本当にありがとうございます!
0263octave for windows メモの筆者
垢版 |
2011/12/28(水) 06:58:12.76
>>213 >>234
http://savannah.gnu.org/bugs/?35159
Control PackageとFLTKの組み合わせでBode線図にグラフに問題があるのは,
Windows だけでないようです。

3.6.0で改善すればよいのですが。
3.6のプレリリースの3.5.90や現在developmentソースでControl packgeが
組み込めない状態なのでちょっと時間がかかると思います。
しばらくは,gnuplot を graphics_toolkit にしてお使いください。
0264名無しさん@お腹いっぱい。
垢版 |
2011/12/28(水) 22:51:43.25
本当に初歩的な質問で申し訳ございません。

今octave3.4.3をインストールして使おうと思っています。
octaveはmatlabと非常に相関性があるということで家ではこのoctaveを使おうと思っています。
そこでいくつか質問があります。

1.octaveを起動させ、matlabコードを張り付けて実行したいのですが
張り付けすることができません。
いちいち、タイプしなければならないんでしょうか?
2.matlabでは、memo帳(functionやscript)が出てきてそこにコードを打って
実際のmatlab上で実行させるのですが、このoctaveはメモ帳のようなものはなく
いちいち打たなければならないのでしょうか?
調べてみると、matlabと同じようにfunctionがあるみたいですが、
これはfunctionが別のところになければ実行できないのですが、
どうすればよいのでしょうか?


よろしくお願いいたします。
0265octave for windows メモの筆者
垢版 |
2011/12/29(木) 06:23:58.44
>>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が別のところになければ実行できないのですが、
どうすればよいのでしょうか?

なにが言いたいのかよくわかりません。もう少し実例をあげてわかりやすく
質問してください。
0266octave for windows メモの筆者
垢版 |
2011/12/29(木) 06:28:52.00
>>265 いかん文章の推敲があまいなあ。

NotePad++を既定のテキストエディタにするには、
Octaveをダウンロードされたページの説明(英語)をよく読んでください。
設定をすれば、octave のプロンプトからeditとうてば起動できます。

2.の部分の説明でNotepad++ を既定のエディタにするために何を読めばいいか
をかきました。
なお、拙ページに説明の翻訳をあげていますので、よければ参考にしてください。

ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#111210
0267octave for windows メモの筆者
垢版 |
2011/12/29(木) 06:34:02.08
>>264
バージョンは、3.2.4ですが、私のoctaveを使った講義の資料を紹介した部分を
あげていますので参考になれば幸いです。

ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#110613
0268名無しさん@お腹いっぱい。
垢版 |
2011/12/29(木) 11:36:23.43
どういうわけかグラフを一つ書きません。
訳がわかりません。

## 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])
0269名無しさん@お腹いっぱい。
垢版 |
2011/12/29(木) 13:53:53.94
Notepad++(テキストエディタ) の インストール(オプション,推奨)

最新の Notepad++ を http://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

と出てきて起動できません。
0270名無しさん@お腹いっぱい。
垢版 |
2011/12/29(木) 20:44:28.38
>>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) こんなもんでどうでしょか?
0271名無しさん@お腹いっぱい。
垢版 |
2011/12/30(金) 00:06:35.73
>>263
対処ありがとうございます。
どうも複合技でバグっているっぽいですね。
慣れ親しんだgnuplotで使い続けさせていただきます。
それにしてももう少し起動が早くならないですかねぇ。
scicoslab (scilabじゃなくて) はとても起動が速いのに。
0273octave for windows メモの筆者
垢版 |
2011/12/30(金) 08:18:47.62
>>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とは別に起動してそこで編集してみてください。
0274octave for windows メモの筆者
垢版 |
2011/12/30(金) 08:33:41.29
>>271 >>263
Cygwin版octaveで、試してみました。FLTKマウスぐりぐりでも、Octaveハング
しません。ただし、マウスぐりぐり自体は少し変ですが。

# Cygwin版では、octave-forgeパッケージはauto loadでないですね。
0275octave for windows メモの筆者
垢版 |
2011/12/30(金) 15:21:23.37
>>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++ が
(少なくとも私の環境では)起動するようになった。
0276名無しさん@お腹いっぱい。
垢版 |
2011/12/31(土) 10:25:08.41
>>270
できました!
すごい。9の時点で動いたので、これからはnotepadにコードを作って
そのたびに5から8の動作をして確かめたいと思います。
本当にありがとうございました:D
0277octave for windows メモの筆者
垢版 |
2012/01/06(金) 15:14:04.04
New dependency libraries and toolkits for MinGW build are uploaded.

ttp://octave.1599824.n4.nabble.com/New-dependency-libraries-and-toolkits-for-MinGW-build-are-uploaded-td4267845.html
0278名無しさん@お腹いっぱい。
垢版 |
2012/01/06(金) 23:34:58.90
matlab風に使いたいのでoctave workshopのinstaller付のwin版を
ダウンロードしたのですが、インストールはできたのに起動しません。
原因をご存知の方がいればお教えください。
0279octave for windows メモの筆者
垢版 |
2012/01/07(土) 12:55:10.79
>>278
Octave Workshopのoctaveあまりにも古く,使用するのはあきらめてください。
GUI Octaveの方が現実的だと思います。
ttps://sites.google.com/site/guioctave/

GUI OctaveではOctave-3.2.4ですが,頑張ればOctave-3.4.3も使用できます。
ttp://guioctave79.freeforums.org/guioctave-stuck-with-gnu-octave-3-4-2-t108.html
(OpenGLのgraphicsが使用できませんが。)
0280名無しさん@お腹いっぱい。
垢版 |
2012/01/07(土) 21:22:43.08
278です。
GUI Octaveをインストールしたのですが
Error message: Redirect console error: 3
と表示されてしまいます。
たびたび申し訳ありませんが、原因をご存知の片がいればお教えください。
0281octave for windows メモの筆者
垢版 |
2012/01/08(日) 07:16:25.00
>>281 私は,GUI に興味がないので使用したことがないので,お役に立てません。
ここで回答がつかなければ,GUI Octaveは生きているプロジェクトのようです
ので敷居は高いですが,GUI Octaveの英語のフォーラムで尋ねられるとよいか
と思います。
0283名無しさん@お腹いっぱい。
垢版 |
2012/01/08(日) 12:30:30.35
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 メモの筆者さんの
http://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#100403
を、ありがたく、よく読んでからな〜
0286名無しさん@お腹いっぱい。
垢版 |
2012/01/11(水) 13:30:25.43
FreeBSD 9.0Rが出たので入れてみたメモ

octaveはpackagesから入れると起動時にGLIBCXXなにがしというエラーが出ます
portsから入れるとmake途中で同じエラーが出ます

原因はglibcのバージョンの問題で

LD_LIBRARY_PATH

の先頭に

/usr/local/lib/gcc46

を入れてください。
一応正常そうに動きました。
0287名無しさん@お腹いっぱい。
垢版 |
2012/01/14(土) 20:02:14.37
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
0288名無しさん@お腹いっぱい。
垢版 |
2012/01/14(土) 20:04:41.86
上のコードは自分で作成しました。
もし、n=5であれば、5つの図を出したいのですが、
上記の場合ですと、1つ目の図はプロットされていますが、
2つ目以降のグラフは、grid とtitleなどが表示された図が表示されるだけで
プロットされてません。
なお、xx1やxx2はちゃんと値が入っているので数字的ミスはまったくないです。

forで回すのは、figureを作成するうえでやめたほうがいいんでしょうか?

よろしくお願いします。
0291octave for windows メモの筆者
垢版 |
2012/01/15(日) 14:17:54.69
>>290

上のコードはこれ単独では動きません。
動かすには,tとdtの設定のほかにも,xx1とxx2の定義が必要ですので。

できれば,単独で動いて動作確認できるコードをあげていただけると
答えがつきやすいと思います。

ところで
t=0:dt:t; はループの外に出すでしょう。ループの中にいれるのは,
間違いでないけど意味が不明です。
0292octave for windows メモの筆者
垢版 |
2012/01/15(日) 18:49:34.46
やってみました。たしかにループでなく描画するとグラフかけますね。
バグかもしれません。
Octaveのバージョン,Windows,Mac,Linuxなどお知らせください。
0295octave for windows メモの筆者
垢版 |
2012/01/16(月) 12:17:54.38
>>287
よくコードを読むと
t=0:dt:t;
がfor loopの中に入っているためn=2からは
区間ではなくなってますね。
t=0:dt:t
をloopの外に出すと正しく動くようです。

以上
0298名無しさん@お腹いっぱい。
垢版 |
2012/01/27(金) 09:11:43.11
>>296
Scilabも5.4.0-alphaからコマンドウインドウの左右に
補助ウインドウが出るようになりました
ただしScilabは左が、変数&履歴ウィンドウ、右がファイルブラウザ

まあでもド素人にMatlab系のプログラミング技術を教えるだけなら
FreeMATでいいかもしれないです
インストールが簡単だし、dos画面じゃないし、
グラフもgnuplotとかではなくてネイティブだし
0299名無しさん@お腹いっぱい。
垢版 |
2012/01/29(日) 11:13:02.52
>>298
FreeMATって、コントロールパックとかあるんでしたっけ?
伝達関数とか、それのインパルス応答とか、ボード線図かくやつ。
0300名無しさん@お腹いっぱい。
垢版 |
2012/01/29(日) 14:56:20.91
>>299
無いですね
tfもzpもstepもbodeも

制御をやる目的ならscilabの方がいいと思います
scilabはmatlabから入ると流儀がわからないかもしれませんが
慣れればどってことないです

octaveは限界が高いですけど
初心者がやるにはハードルも高いと思います
dos画面だけってのは初心者は面くらうでしょう

それで電卓代わりに使う目的ならfreematで十分という話です
0301octave for windows メモの筆者
垢版 |
2012/01/30(月) 07:48:33.24
>>300
OctaveはもともとUnix由来のソフトですし,Windowsの開発陣のリソースは実に
薄い。UnixではTerminalでのソフトはまだ一般的ですし,UnixのTerminalは
コマンドプロンプトよりは使いやすい。

#Windows 2000からはコマンドプロンプトが正しい名称であって
#ドスプロンプトではないです。まあ,それのほうがつうじますが。
0302octave for windows メモの筆者
垢版 |
2012/01/30(月) 07:54:27.43
>>301 ちょっと舌足らずした。
とはいうもののUnixでもGUIのご時世なので,Octave本体もやっと
真剣にGUIインターフェースをつくりはじめています。

ちとお待ちください。
0304名無しさん@お腹いっぱい。
垢版 |
2012/01/31(火) 23:58:19.85
遅ればせながら、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、一瞬期待したのに…!
0305octave for windows メモの筆者
垢版 |
2012/02/01(水) 06:16:26.76
>>303

Release 3.6.0 still not "official"
http://octave.1599824.n4.nabble.com/Release-3-6-0-still-not-quot-official-quot-td4345497.html

で3.6.1がでるようです。qhullのルーチンがごく最近改定されたのでちょうど
いいかもです。Windows版のビルドもATLASのバージョンを変えてテストが
終わりつつあるのでこれもいいかもです。

parforですか。たしかにあるといいと思いますが今の開発陣のマンパワー
だとどうかなという気がします。そこらへんに強い人が開発陣に参戦される
ことを期待したいのですが。
0308名無しさん@お腹いっぱい。
垢版 |
2012/02/10(金) 15:43:20.25
octaveってデフォルトで上三角の連立方程式 U x = y を高速に解けないの?
ちょっと使ってみようと思ってググったら2003年の記事出てきたんだけど、
http://www.math.meiji.ac.jp/~mk/labo/text/a-remark-lu.pdf
これ未だにfixされてない?
0309名無しさん@お腹いっぱい。
垢版 |
2012/02/10(金) 23:24:48.60
>>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回計算してる。上の時間は平均値
0311名無しさん@お腹いっぱい。
垢版 |
2012/02/14(火) 21:52:48.99
久々です
少し訳の分からないエラーが出たので質問したいのですが…
今サクラエディタ上で次のようなプログラムを作ってました

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)

こんな感じのエラーでした
しかし窓でプログラムを制作した場合は何故かエラーなしでグラフを表示することができました

何でこんなエラーが出たのでしょうか?
^
0312octave for windows メモの筆者
垢版 |
2012/02/15(水) 07:42:59.15
>>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.

0313octave for windows メモの筆者
垢版 |
2012/02/15(水) 07:43:43.77
>>311 >>312
上のスクリプトをスクリプトmファイルと認識させたいならfunctionキーワードの
前に命令を入れる。例えば

1;
function dx = f(x,t)
dx = 1/(1+t^2);
end

1;は無意味な命令だがそのおかげで,octaveはこのファイルをスクリプトm
ファイルと認識できる。
0315名無しさん@お腹いっぱい。
垢版 |
2012/02/21(火) 22:33:37.23
流石に課題丸投げは行けないと思うが、悩みに悩んだ結果積んでしまったので教えてください
ttp://loda.jp/subject_2ch/?id=762
これが課題の内容(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)
0316octave for windows メモの筆者
垢版 |
2012/02/23(木) 11:42:18.48
>>315
ttp://loda.jp/subject_2ch/?id=762
がダウンロードできないので,もとの問題についてはわかりませんが,

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が正の整数かロジカルでないといけないので,こういう書き方は許されません。
0318octave for windows メモの筆者
垢版 |
2012/02/23(木) 12:13:15.01
>>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)

は一応等高線はでるが,目指しているものと同じかわかりません。
0320octave for windows メモの筆者
垢版 |
2012/02/23(木) 17:57:12.75
>315-319
要は配列の概念とcontoturfの使い方がわかっていないのかなと思います。

ヘルプを読めばいいのですが,英語ですしね。無理もないかもしれません。

pdfをダウンロードできました。
もう少しいじる必要があると思いますが,基本的にはこれでいいのかな。
あとは自力で頑張ってください。
0321octave for windows メモの筆者
垢版 |
2012/02/23(木) 18:04:53.50
>315-319
要は配列の概念とcontoturfの使い方がわかっていないのかなと思います。

ヘルプを読めばいいのですが,英語ですしね。無理もないかもしれません。

pdfをダウンロードできました。
もう少しいじる必要があると思いますが,基本的にはこれでいいのかな。
課題ですので,あとは自力で頑張ってください。
0323octave for windows メモの筆者
垢版 |
2012/02/28(火) 15:18:33.76
まだ,公式には発表されていませんが,Michael氏がMSVC版のoctaveの復活に意欲
を見せておられます。さて,どうなるでしょうか。
0324octave for windows メモの筆者
垢版 |
2012/02/28(火) 15:18:51.21
まだ,公式には発表されていませんが,Michael氏がMSVC版のoctaveの復活に意欲
を見せておられます。さて,どうなるでしょうか。
0326名無しさん@お腹いっぱい。
垢版 |
2012/03/03(土) 23:33:37.71
いきなりの質問ですみません。
2つほど質問があります。
1.2段のワードの形式で論文を書いているのですが、
どうしても、ワードの大きさに縮小してしまうと、メモリどころか
線すらはっきり映りません。これをどう解決すればよいのでしょうか?

2.グラフを描くときに、色ではなく破線や点線はどのようなコードを
打てばよいのでしょうか?


なにとぞよろしくお願いします。特に1番目の質問が深刻です。
0327名無しさん@お腹いっぱい。
垢版 |
2012/03/03(土) 23:42:00.21
2番目は解決しました。すみません。
0328octave for windows メモの筆者
垢版 |
2012/03/04(日) 17:42:22.14
>>326
?? プロットした図が縮小すると見えなくなるということでしょうか。
ワードだからWindowsですよね。octave-3.2.4でしょうか。
gnuplotの画面をコピーしてワードに貼り付けているということでしょうか。

私はoctave の図をそのまま使わないので良くわかりませんが,
print コマンドでemfか何かでセーブした図を使ったほうがいいかもしれません。
0329名無しさん@お腹いっぱい。
垢版 |
2012/03/05(月) 20:49:38.55
octave-3.6.0で
1.1
ans = 1.10000000000000
single(1.1)
ans = 1.10000002384186
となります。これってどうなんですか?
どなたか教えて下さい。
0332名無しさん@お腹いっぱい。
垢版 |
2012/03/07(水) 14:24:18.76
>>329
補足するとsingle(単精度)の有効桁は10進に治すと約6-7桁なので
それ以上の桁数の数値についての保証はなく 
>>330
の方がおっしゃるように,単精度の範囲では問題ないことになります。
0333名無しさん@お腹いっぱい。
垢版 |
2012/03/29(木) 13:44:37.57
octave 3.6.1-mingwで例えば
text(0.5,0.5,"{\pi}","interpreter","tex")
とやってもTeXでπで書いてくれません。
対処法を教えていただけませんか。
お願いします。
0334名無しさん@お腹いっぱい。
垢版 |
2012/03/30(金) 08:04:27.54
>>333 graphics_toolkit gnuplot
でなんとかなりませんか?
octave 3.6.1-mingwはgraphics_toolkitはfltkがデフォで,texはまだfltkでは
対応していないと思うので。
0337名無しさん@お腹いっぱい。
垢版 |
2012/06/21(木) 00:54:19.14
SourceForgeに登録されてるWindowsバイナリの3.2.4、3.4.3、3.6.1
(MinGW版、いずれもクリーンインストール)を、現在XPで使用中
なのですが、3.2.4と比較して3.4.3、3.6.1の起動がやたらと遅くなって
おります(30secくらい?CPU100%)。

どなたか、回避策をご存知の方とかいらっしゃいませんでしょうか?
0339名無しさん@お腹いっぱい。
垢版 |
2012/06/23(土) 13:28:04.11
>>338
おぉ、やはり他の環境でも再現することがあるのですね。
ぐぐっても何も出てこないので、困ってました。
時間ができたら、起動シーケンスを追っかけてみることにします。Thx!
0341名無しさん@お腹いっぱい。
垢版 |
2012/06/25(月) 22:54:11.86
>>340
そうなんですか…情報感謝。

ただ、MSVC版は開発環境が揃ってないんで、自作octが
コンパイルできないのがネックです。

コンパイラだけでなく、dllとかもぼろぼろ抜けてるような…
0344名無しさん@お腹いっぱい。
垢版 |
2012/07/15(日) 19:18:59.66
337の件、追加でご報告。

どうも、時間が掛かってるのはoctaveのmain関数が呼ばれる前で、
main関数に入ってしまえばコンソールにアクセスできるまで
1秒もかかってません。

dllのロードが重いのかとrebase.exeとか使ってみましたが、効果なし。
私にはここから先のアプローチが思いつかないのですが、どなたか
ヒントお願いします…
0345名無しさん@お腹いっぱい。
垢版 |
2012/07/25(水) 12:26:52.32
octave-3.6.2 mingw版ですが、peaksなどなんでも良いのですがグラフを書いてもちゃんと描いてくれません。refreshすると描いてくれます。以前にもこんなことありましたが対処法はありますか。
0346名無しさん@お腹いっぱい。
垢版 |
2012/07/27(金) 09:14:20.16
345の件
graphics_toolkit("gnuplot")
putenv("GNUTERM","wxt")
でとりあえず希望どおりに動きました。
0347名無しさん@お腹いっぱい。
垢版 |
2012/07/30(月) 20:02:25.49
345の続き
putenv("GNUTERM","wxt")の状態でpeaksなどとしてグラフを描くと、グラフは
ちゃんと描いてくれますがwindowsのターミナルが大きくなってしまいます。
どなたか教えてくれませんか。
最近、書き込みが少なくて寂しいです。
0349名無しさん@お腹いっぱい。
垢版 |
2012/08/17(金) 21:15:22.40
> 男性は聯合ニュースの取材に対し、
暴行を受けている間も警察は積極的に止めようとせず、
男らは韓国人を差別する暴言を吐いたという。

警察はチョンの見方ですから有り得ません。
日本人にどうしても有事を惹起せしめたい欧米軍産複合体の意図じゃん
0350名無しさん@お腹いっぱい。
垢版 |
2012/08/31(金) 22:01:03.02
Congratulations, Max Brister!
ttp://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として含まれるという話。

ソースはこちら。
ttp://inversethought.com/hg/octave-max
誰か試してみません?
0351名無しさん@お腹いっぱい。
垢版 |
2012/09/04(火) 20:33:58.95
Windows(MSYS)版を使ってますが、ファイル選択ダイアログを表示してパスを
取得できる関数、あるいはそういう機能が使えるようになるパッケージって
ないもんでしょうか?
0352名無しさん@お腹いっぱい。
垢版 |
2012/09/05(水) 13:37:47.23
>>351
使ったことないのでよくはわからないが,uigetfile なるものがあるらしい。
ttp://www.gnu.org/software/octave/doc/interpreter/I_002fO-Dialogs.html#I_002fO-Dialogs
0354名無しさん@お腹いっぱい。
垢版 |
2012/09/08(土) 14:29:07.59
画像データを読み込んで行列にしたりそれを表示したりできますが、
この行列データに対して直線や円を描画する関数とかないですか?
0356名無しさん@お腹いっぱい。
垢版 |
2012/09/08(土) 19:05:27.78
行列に対してです。
一応Bresenhamのアルゴリズムとか調べてみましたけど、既に実装
されているものがあればそっちを使いたいなぁと。
0357名無しさん@お腹いっぱい。
垢版 |
2012/09/11(火) 01:08:11.79
そういえばScilab-5.4.0がβ3まで来ましたが
xcosが不安定で使い物にならないですね
5.3.3は安定なんですけど、AFFICH_mがバグって使えない(実行中に数値を表示しない)
0358名無しさん@お腹いっぱい。
垢版 |
2012/09/19(水) 13:27:37.39
Scilabが5.4.0のβ3が不安定なのを認めてひっこめましたね
原因が特定できたらしいので
リリース時には急に落ちる事はなくなりそうです
0361名無しさん@お腹いっぱい。
垢版 |
2012/10/21(日) 18:48:24.67
>>360
ありがとうございます
では、他のフリーソフトで行うことはできませんか?
どうしても自宅でやりたいんですが・・・
0367名無しさん@お腹いっぱい。
垢版 |
2012/12/08(土) 02:35:03.97
leasqrを使って、2変数関数のフィッティングをやりたいんですが、
どう書けばいいですか?

http://octave.sourceforge.net/optim/function/leasqr.html
によると、
x = vector or matrix of independent variables.
と、独立変数がmatrixでもいいように書いてあるので、
2変数でも使えるんじゃないかと思っています。
試しに、xを2次元で取って、それぞれ-1〜1の整数を代入してやると、
推定対象の関数f(x,p)の中で、x=(-1,0,1,-1,0,1)として認識されています。

その先、関数内で2つの独立変数を式にどう表せばいいのかが分かりません。
0368名無しさん@お腹いっぱい。
垢版 |
2012/12/08(土) 03:00:32.70
前のスレから

256 名前:名無しさん@お腹いっぱい。[sage] 投稿日: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に変えました。これで、動かし方を理解できました。

どうもありがとうございます。
0369名無しさん@お腹いっぱい。
垢版 |
2012/12/08(土) 15:59:35.11
[f,p]=leasqr(x,y,pin,"F")と、「x*x→x.*x」ですね。
ありがとうございました。
試してみます(月曜にならないとためせないんですが)。
0370名無しさん@お腹いっぱい。
垢版 |
2012/12/08(土) 18:04:46.43
Octave-3.6.2-vs2010-setup
って、ライブラリもインストールできるのはいいんですが、
pkg rebuild -auto
ってやってもロード出来ない(再起動しても、autoLoadされていない)
のはしょうがないんですかね?

(pkg load all って打てば大丈夫だから、スタートアップに入れておけばいいんだけどさ)
0371名無しさん@お腹いっぱい。
垢版 |
2012/12/09(日) 01:54:34.33
>>368 >>369
・・・って、思ったら「前のスレから256」は、独立変数xが1つの場合ですよね?

知りたいのは、例えば独立変数xが2種類(x1とx2とします)あって、
(x1,x2)の組に対して観測値yが1つあり、
ret = p(1)*x1 + p(2)*x2 + p(3)
みたいな場合に、x1とx2のそれぞれの取る値をmatrix xに入れた上で、
ret = F(x,p)
の式で、matrix xの中のx1に相当する値とx2に相当する値を
どう表現すればいいかってことなんですが・・・。

具体的には、画像座標(x,y)について、各整数画像座標位置に対して与えられる
とある値(例えば標高値)を関数でフィッティングしたいんです。
0372名無しさん@お腹いっぱい。
垢版 |
2012/12/14(金) 23:06:25.18
参考になりますかどうか。
あと、複素数で表すことも出来ます。

function z = f1(x,p)
x0=p(1); y0=p(2);
z = exp( -( (x(:,1)-x0).^2 + (x(:,2)-y0).^2 )/2 );
endfunction

% ns = xpoints*ypoints;
% z(ns,1), x(ns,1) = x of data, x(ns,2) = y of data
% p(1, parameters)

x0 = 0.1; y0 = 0.2;
xt = [-4:0.5:4]; yt = [-4:0.5:4];
[xm, ym] = meshgrid(xt, yt);
zm = exp(- ((xm-x0).^2+(ym-y0).^2)/2 );
plot3 (xm, ym, zm, "linestyle","none","marker","+");
input("type enter","s");

x = [xm(:),ym(:)]; z = zm(:);
pin = [0.3, 0.4];
[f,p,cvg,iter] = leasqr(x,z,pin,@f1);
p
0373名無しさん@お腹いっぱい。
垢版 |
2012/12/15(土) 09:55:39.53
ちょっと板違いかもしれませんが…
WindowsでC++からOctaveを呼ぶ場合、cygwinかMSYSのgccでしか使えないんでしょうか?
VC++で通常のWindowsアプリから使える方法はあるでしょうか?
0378名無しさん@お腹いっぱい。
垢版 |
2013/01/28(月) 19:37:43.92
octaveを使おうとインストールしたのですが、エラーが出てgnuplotが出ません。
error: feval: function `unimplemented' not found
と出ます。どうすればいいのでしょうか。
0381名無しさん@お腹いっぱい。
垢版 |
2013/01/30(水) 14:14:09.52
>>380
MSVC版ですか? MinGW版ですか?
名前にスペースのあるフォルダ (C:\Program Files 等)にインストールして
いませんか?
0385名無しさん@お腹いっぱい。
垢版 |
2013/02/25(月) 23:38:58.12
Windows VS2010版Octave 3.6.2のGUIで
実行するたびにコマンドラインが右にずれるのはなぜでしょうか
日本語ロケールがいけないのかな

ちなみにスタート直後にmoreがかかってるので
more off した方がいいです
0388名無しさん@お腹いっぱい。
垢版 |
2013/03/06(水) 13:58:23.32
>>387
>カーソル位置はずれるけど、
Fileメニューのsetteingでterminalタブでfontを
Lucida Consoleに選んて,chcp 437をかけると少しましになります。
0391名無しさん@お腹いっぱい。
垢版 |
2013/03/07(木) 04:56:26.85
ねえ 作った関数って保存できないの?
0392名無しさん@お腹いっぱい。
垢版 |
2013/03/07(木) 09:16:37.60
>>389
開発版だとGUIがデフォのようですね。
コマンドライン版Octave-cliになってます。
結構安定に動くのでこちらを使おうかな。
0397名無しさん@お腹いっぱい。
垢版 |
2013/03/14(木) 00:25:44.00
Windows用の3.6.2でグラフをprintで保存したいんだけど、msys版だとグラフの
描画がバグる場合があって、VS版だとprintしてもファイルができませんでした。
Windows版でjpgかpngでグラフを保存したい場合、どういう環境/設定を
使えばいいでしょうか?
0398名無しさん@お腹いっぱい。
垢版 |
2013/03/14(木) 10:33:42.87
>>397
msys版じゃなくてMinGW版でしょう。
それはさておき,graphics_toolkitをgnuplotにして試してもらえませんか?

>> graphics_toolkit gnuplot
>> fplot ("[cos(x), sin(x)]", [0, 2*pi])
>> print ('test.png', '-dpng')
0399名無しさん@お腹いっぱい。
垢版 |
2013/03/14(木) 20:24:19.12
gnuplotにしたらVS版で保存できるようになりました。ありがとうございました。
ところで、graphics_toolkitを一旦gnuplotにしたら再起動するまでqtには
戻せないんですかね?available_graphics_toolkitsにも出てこないですし。
0402名無しさん@お腹いっぱい。
垢版 |
2013/04/11(木) 23:04:52.65
規制明け。

>>388
Thanks!!

>>389
JITコンパイラすげー!!!

Octave 3.6.2 (MSVC2010): 2.3 [sec]
Octave 3.7.2+ (MSVC2010): 0.016 [sec]

a = 1; b = 1;
for i=1:1000
 for j=1:1000
  a = a + b;
 end
end

…と思ってたら、a,bが行列の場合は速度Upしないのね…残念。
0406名無しさん@お腹いっぱい。
垢版 |
2013/05/30(木) 09:14:08.16
Octave 3.6.4 for Microsoft Visual Studio released

ttp://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/Octave%203.6.4%20for%20Windows%20Microsoft%20Visual%20Studio/
0407名無しさん@お腹いっぱい。
垢版 |
2013/06/04(火) 23:54:56.16
>>404

Scilab 単独スレってないのかな??

Scilabは、Octaveよりかはメジャーだと思うのだけど。

大学とかCQ出版の本とかでも、よく画像処理や音声処理で用いられているし。
0409名無しさん@お腹いっぱい。
垢版 |
2013/06/21(金) 23:48:34.47
>>408
> >>407
> 「Scilabを触ってみるスレ」とか「SCILABな」とかあったみたいだけど終わっているようですね

終わったというか、サーバーが落ちたときに全スレがなくなって、その後、誰も立ててないってっ感じ。

だれかScilabスレたてて。
0410名無しさん@お腹いっぱい。
垢版 |
2013/06/22(土) 01:10:44.93
プログラム板に「【scilab】サイラボ」ってのも有ったな・・・11レスで落ちたけど。
誰かたててくれるなら俺はうれしいけど、すぐdat落ちする予感。
0411名無しさん@お腹いっぱい。
垢版 |
2013/06/22(土) 08:05:37.47
OctaveなんてただのMatlabクーロンだからMatlabと統合でよい。

Scilabは独自に進化しているからMatlabやOctaveとは違うのだけどなあ。
0412名無しさん@お腹いっぱい。
垢版 |
2013/07/12(金) NY:AN:NY.AN
octave3.6.2_gcc4.6.2をWindows7 64bit環境で使っているのですが
13500x13500程度のデカい行列を扱うとmemory exhausted errorで落ちてしまいます

octaveを64bitに対応させるにはどうすればよいのでしょうか?
0414名無しさん@お腹いっぱい。
垢版 |
2013/08/01(木) NY:AN:NY.AN
Scilabについてなのですが、ここで質問させてください。
(他に適切なスレがあれば誘導お願いします。)

組み込み関数abs(x)のように、渡した行列xのそれぞれの要素に対して
条件分岐をする関数を作りたいと思い、以下のようなコードを書いたのですが
期待通りの動作をしません。

これは for i = 1:length(x) do ... といったようなコードを書かなければならないので
しょうか?

function y = myabs(x)
if x < 0 then
y = - x;
else
y = x;
end
endfunction

x = linspace(-1,1);
plot(x,myabs(x),'-r');
plot(x,abs(x),'-b');
0415名無しさん@お腹いっぱい。
垢版 |
2013/12/13(金) 20:22:23.00
保守
0416名無しさん@お腹いっぱい。
垢版 |
2013/12/16(月) 14:49:07.28
>>414
x = linspace(-1, 1)

y = x.*(x>=0)-x.*(x<0)

これでいいじゃん。
見てないと思うけど。
子供の頃BASICで遊んでいたとき、IF文は遅いのでこういう論理式で処理してた。
0417名無しさん@お腹いっぱい。
垢版 |
2013/12/16(月) 14:55:52.74
>>416
行けました。
ありがとうございます!

function y = myabs(x)
y = x .* (x >= 0) - x .* (x < 0);
endfunction

x = linspace(-1,1);
plot(x,myabs(x));
0419名無しさん@お腹いっぱい。
垢版 |
2014/01/02(木) 17:38:01.08
録音を継続しつつ、いままでに録音した分を参照するには
どうすればいいのでしょうか。
標準のコマンドでいけるのでしょうか。

matlab, scilab, freematならいける?
R言語, numpy, scipyにする
CやJavaで録音する関数を作成しcallする
R/Scilab (D)COM Server経由
録音ソフトからファイルで受け取る
等々面倒な手順が必要?
どういうアプローチをすればいいのか分からず困っています。
0420名無しさん@お腹いっぱい。
垢版 |
2014/01/02(木) 20:15:33.39
octave の windows 版って、 minGW と VC版がありますが、 どう違うの?
0421名無しさん@お腹いっぱい。
垢版 |
2014/01/03(金) 13:11:45.20
Windows8では、
http://wiki.octave.org/Octave_for_Microsoft_Windows
によると、

Note for windows 8 users: As a workaround for a gnulib windows 8 compatibility bug, add command line switches
' -i --line-editing' to the octave.exe shortcut
(i.e. <octave-dir>\bin\octave.exe -i --line-editing)

だそうなので、ショートカットのアイコンの右クのプロパティに追加ですね。
0423名無しさん@お腹いっぱい。
垢版 |
2014/01/04(土) 10:12:29.34
>>420

MinGW版
 gccでビルドされ,コンパイラなどの開発ツールも含まれる。
 (OctファイルやMexファイルの作成が容易)
 インストーラーがないので,手順を読んでマニュアルでインストールが必要。

VC版
 MicrosoftのVC++等でビルドされている。
 Microsoftランタイムライブラリが必要
 インストーラーがあるのでインストールは容易。
 開発環境は用意されていないので,oct,mexファイルを作成するためには
 VC++2010が必要(フリーのExpressEditionでよい)
0424名無しさん@お腹いっぱい。
垢版 |
2014/01/04(土) 22:52:42.98
>>419

Octave または、Scilab,R,Matlab,Pythonなど,アプリ実装方法なんでも良いから、
音声をリアルタイムで入力しつつ、ある程度バッファにたまったら次々と処理したいということですね。

Octave、Scilabでは、簡単にはできないと思います。

元気があるなら、Processingとか、他のアプローチも探ってみるとよろし。

もし、音声エフェクトアプリとかに興味あるのなら、VSTエフェクトの自作とかも探ってみる。
VSTっぽいみたいなのを、簡単にやってみたいなら ↓ とか面白いかも。
http://jvaptools.sourceforge.net/scripteffect/screenshot.htm
Javaの文法で音声エフェクトを簡単にリアルタイムコーディングできて面白い。
0427名無しさん@お腹いっぱい。
垢版 |
2014/01/17(金) 01:21:04.90
>>426
試してみました。

バイナリ:octave-3.8.0-2-portable.zip
動作環境:WinXP on VMware Player

MSYS環境でコンパイルしてあるらしく、相変わらず起動が異常に遅い(CPU 100%)。

> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b; end; end; toc
Elapsed time is 1.5 seconds.
> jit_enable(1)
> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b; end; end; toc
無限ループ…


ヽ(`Д´#)ノ
0429名無しさん@お腹いっぱい。
垢版 |
2014/02/10(月) 23:21:37.84
>>428
Thanks!

Windows7なら、MinGW版でも起動は早い、らしいですね…
3.2から3.4の時に急に遅くなったので、いつかは原因を究明してみたいものですが。
0434名無しさん@お腹いっぱい。
垢版 |
2014/03/05(水) 13:04:19.78
>>427

放っておいてあった古いマシンにUbuntu 12.04 LTS を入れてoctave 3.8.0 をビルドしてみました。

octave:1> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b; end; end; toc
Elapsed time is 4.21553 seconds.
octave:2> jit_enable(1)
octave:3> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b; end; end; toc
Elapsed time is 0.891052 seconds.

Ubuntu 上ではjitは動作してますね。MinGWの特有の問題かもしれません。
0438名無しさん@お腹いっぱい。
垢版 |
2014/03/09(日) 22:16:15.07
>>436
おぉ、そこまでしていただけるとは…。
そうですね、実用段階までまったり待っていることにします。

# Max Bristerさん、燃え尽きちゃったりしないですよね…?
# ttp://hg.savannah.gnu.org/hgweb/octave/search/?rev=Max%20Brister&revcount=200
0439名無しさん@お腹いっぱい。
垢版 |
2014/03/10(月) 13:56:19.63
>>438
いえいえ,ちょうど聞きたいところだったので。

# Max Bristerさん、燃え尽きちゃったりしないですよね…?
すごい勢いですよね。燃え尽きはこわいですね。
0441名無しさん@お腹いっぱい。
垢版 |
2014/03/13(木) 14:37:07.27
Ubuntu 12.04 LTS でmxe-octaveを使って,octave-3.8.1 をビルドしました。

参考 http://wiki.octave.org/Windows_Installer

native-gccでビルドがこけたのでoctave MLで質問してパッチを得ました。
パッチが載ってるスレッドのURLは,ここ。

http://octave.1599824.n4.nabble.com/mxe-octave-cross-build-errors-when-building-native-gcc-tt4662612.html

MinGW上でのビルドはうまくいきません。
クロスビルドするしかないのかなあ。
0442名無しさん@お腹いっぱい。
垢版 |
2014/03/14(金) 11:13:02.21
win7-x64 x86_64-w64-mingw32 gcc-4.9でビルドしてみた。
最初staticライブラリを使ってguiを有効にしてビルドしたんだけど、

1.QtとGraphicsMagickでtiffの関数がかぶる
2.最終リンクでvtable for file_editor_interfaceのエラーが出る
3.Qt有効時には、src/makefileに -loleaut32 -lwinmm -lcomdlg32 -limm32 -lwinspoolの追加が必要
4.ssl有効にしてた場合ssl関連のライブラリ追加が必要

2に関しては試してないけどGUNの掲示板でpatchが出てた。
3、4はmakefile修正で解決
1の問題解決が面倒というかQtかGraphicsMagickどっちかのtiffを無効にしてライブラリ再ビルドか、
もしくはsharedライブラリじゃないと無理?

で、disable-guiでmake。ライブラリはstatic。
今度はrpl_gethostnameが不明とか出たので、…gethostnameをコメントアウトしちゃった。
一応ビルドは通って>>427の計算も速いんだけどうーん。
0443442
垢版 |
2014/03/30(日) 04:01:08.86
GUIもビルド出来た
1.tiffを無効にしたライブラリを使用
2.公式のパッチを当てる
3.LIBSに追加してconfigure
4.3同様

やはり、gethostname.cを処理して無いみたいなので定義をsokets.cに移植
これでビルドは完了するんだけど初回起動時設定ファイルを作成出来ずに
クラッシュしてた。なんとかして設定ファイルを作成し所定の場所に配置

どうにかしてGUIの起動を拝めたんだけど、どうもpngも処理されていない。
まあなんとか起動までは漕ぎ着けたので満足して終了

それと、win7-64bitではatlasのビルド時、atlasの測定ツールみたいなの
が異常終了する。色々ググってたらそういう人多いみたい。
しかし、めげずにmakeを繰り返していると通る。というか通す。
ちな10時間かかった…
atlasはpythonの拡張であるsicpyをビルドする時必須(少なくても自分の環
境では)のようで、openblasではtest中落ちる。sicpyに依存するmatplotlib
もatlasでビルドしたsicpyじゃないとビルド中落ちる。
matplotlibを実行してpythonが無反応になる場合は
font_manager.py中のif not local:の前に
local = None
を書き加える。
MinGWというかwindowsでやるもんじゃないね。VMware上のUbuntuで同じ事
やったら1時間かからなかったつД`)
0444名無しさん@お腹いっぱい。
垢版 |
2014/03/30(日) 12:53:11.07
>>443
おつかれさまでした。

Windowsだと、何かコンパイルしようと思うと異常にハードルが上がるのは、同感です…
でも自分の場合は、お仕事がWindowsメインだから仕方ない

ちなみに教えてほしいのですが、他のライブラリとかはすんなりビルドできました?
Benjaminさんのビルドスクリプトだと、あっちこっちパッチ当てて、涙なしには見れないのですが。。。
0445名無しさん@お腹いっぱい。
垢版 |
2014/03/30(日) 19:48:24.54
お仕事かあー、そりゃ大変なるべく力になるよ!
winでビルドはあまりにも情報少なくて何度も折れそうになったしね

パッチはwinだとOpen Source Waresってトコが頼りになる。
あと ttps://build.opensuse.org/project/show/windows:mingw:win64
と ttp://lfsbookja.sourceforge.jp/BLFS/svn.ja/index.html
ここらで情報収集、だけどまず素でビルドしてみてどうしてもダメなら当てる
あとスクリプトビルドは極力避け地道にコツコツやるといいかも

atlasは前述した通り諦めずもうひたすらmakemakemakemake
scipyのビルド手順もどこぞに書いたのでもし興味あれば参考に
基本Open Source Waresさんの情報通りでいいんだけど、umfpackはCHOLMOD関連でエ
ラーになるのでmakeのコマンドは make CC="gcc -DCHOLMOD=0" library みたいな感
じでやるといいと思う。

guiならGraphicsMagick、qt4が必要、ちなみにimagemagickだとウチではエラー出た。
python@spyderまで視野に入れるならqt4はwebkitも有効にしなくちゃいけない。
qtはmsys上からではなくてcmdからビルド。msysのツールも使いたいので、msys上から
start cmdでコマンドプロンプトを呼び出しビルドする。
staticビルドにするなら、Open Source Waresさんのパッチは必須。winの関数の問題
であれこれライブラリ要求されるけどそれらは随時.proに追加。
それとは別にfreetypeと64bit固有の問題のパッチ当てなきゃダメだったけど、これ
は問題に遭遇した時ググればすぐ出てくる。

ちなみにOpen Source Waresさんのpython使うなら自分でビルドした方がいいと思う
何故なら、恐らくwinだと、readlineとcursesを組み合わせると挙動がおかしくなる
から。cursesはPDCでも通る(要リネーム)。組み込むならどっちかの2択だと思う。

GCCはトランクから引っ張ってビルドした4.9だけど、いやー去年に比べて随分安定し
てきたなー、以前はしょっちゅうセグメントエラー出て大変だったんだけど
こんなとこです
0446名無しさん@お腹いっぱい。
垢版 |
2014/03/31(月) 14:44:14.44
>>445
その苦労をみてるとUbuntu何かを古いマシンに入れてmxe-octaveで
クロスビルドしてwindowsバイナリを作成する方が簡単ですね。

時間はかかるけど,一か所パッチをあてるだけですんなりビルドが通る。
作成されるgnuplotがバギーなので,本家のもので置き換える必要があります。
0447名無しさん@お腹いっぱい。
垢版 |
2014/04/01(火) 00:01:01.23
やばい、ちょっと目を離してる間に、完全に時代に取り残されてるのを感じる…

>>445
丁寧にありがとう!
うん、めっちゃ泥臭い作業が必要だというのは判った。
遠くない未来にWin 64bitでコンパイルしなければならないのですが、それなりの覚悟をしときます。

Pythonは覚えてみたいと思いつつ放置してたけど、spyder+scipy+matplotlibでここまでできるのか!
疎行列の演算とかはそれほど充実してないみたいだけど、スカラーの数値計算ならMATLABレベルのことはできそう。
あとは、JITあり/なしのOctaveと比べて、どの程度の速度がでるかですが、今度試してみます。

>>446
LinuxでWindowsバイナリをクロスコンパイルできることは聞いたことだけありますけど、そんなにすんなり通るんでしょうか?
コンパイル時の問題として
 @configure/makeを通すためのコマンドが足りないor動作がおかしい
 Aコンパイラorソースコードのトラブルで、コンパイル時にエラーになる
の二種類があるとして、上ではAも大きいみたいですけど、Aの条件ってMinGWとあんまり変わらないんじゃないでしょうか…多分。
Windows上でコンパイルするより楽ならこちらの方法も検討してみたいので、ご意見いただけたらありがたいです。
0448名無しさん@お腹いっぱい。
垢版 |
2014/04/01(火) 05:41:05.53
>>447

441に書きましたが,一か所既出のパッチを当てるだけで通りましたよ。
ただ,使っているマシンが32ビットしか対応できないので64ビット
ビルドはやってないのですが。

ちなみに,内部ではBenjaminさんレベルに結構ソースにパッチをかけてやっている。

mxe-octaveは,原理的にはMsys+MinGW(+少しのツール)で動くはずなのですが
全然うまくいきませんでした。なぜ,うまくいかないかは時間がないので追及
してません。
0449名無しさん@お腹いっぱい。
垢版 |
2014/04/01(火) 06:02:42.62
>>441 >>448

http://wiki.octave.org/Windows_Installer
には,Ubuntuの例がなかったのでDebainので
aptitude installをsudo apt-get installに変える必要があります。

ちなみに,mxeというのはいろいろなOSのパッケージをクロスビルドで
作成するためのシステムのようです。
http://mxe.cc/

mxe-octaveはmxeをもとに,jwe氏が作りはじめて,そのほかのOctave-MLに
登場するメンバーなどがかかわってメイテイテナンスされています。
いいところはOctaveの開発メンバーが直接かかわっている点です。
0450名無しさん@お腹いっぱい。
垢版 |
2014/04/04(金) 00:47:18.99
返信感謝です。
mxe-octave、さっそく確認してみました。

てっきりOctave本体だけの話かと思ってましたが、関連ライブラリも含めてコンパイルしてくれるんですね。
また、仰るとおり、パッチを山ほど当ててるみたいです。
http://hg.octave.org/mxe-octave/file/44eb8941c35f/src

なるほど、使いこなせれば、かなり便利そうですね。
ありがとうございます!
0451名無しさん@お腹いっぱい。
垢版 |
2014/04/22(火) 21:46:35.47
廃棄予定のXPマシンをいただいて、Ubuntu(12.04 LTS 64bit)をいれました。
AthlonX2 (64bit)のマシンだったのでメモリを4Gに増設してして使っています。

何とかjit付きでoctave-3.8.1のビルドに成功しました。
ttp://octave.1599824.n4.nabble.com/Is-configure-check-TargetData-h-in-llvm-obsolate-Octave-3-8-1-td4663673.html

その結果、
octave:1> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b; end; end; toc
Elapsed time is 2.99728 seconds.
octave:2> jit_enable(1)
octave:3> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b; end; end; toc
Elapsed time is 0.0284832 seconds.

>>434
よりだいぶ性能がいい。マシンのせいなのか。Octaveが3.8.0から3.8.1になったのが
いいのか分かりませんがなかなかいい感じです。
0453名無しさん@お腹いっぱい。
垢版 |
2014/06/23(月) 14:31:53.85
しかし、本屋の統計コーナーはRばっかりだなあ
MATLAB系はScilabも含めてほとんど使われてない
Rのどこがいいんだかよくわからない

まあ統計の教科書のほとんどがS言語ってのが大きいのかな
0454名無しさん@お腹いっぱい。
垢版 |
2014/12/28(日) 13:58:29.70
>>453
> まあ統計の教科書のほとんどがS言語ってのが大きいのかな

その流れでRが流行っているね。
とりあえず現状は、R使っておけば安心。

だけど、今後は、Python択一になりそうな勢い。 OctaveでやれることもPythonでみたいな。
0455名無しさん@お腹いっぱい。
垢版 |
2015/03/25(水) 20:31:19.89
oct ファイルおよび Octave の C++の内部インターフェースについて調べています。
NDArray と Matrix という、一見よく似たクラスがあるのですが、
これらはどう使い分けるのでしょうか?
0456名無しさん@お腹いっぱい。
垢版 |
2015/04/26(日) 00:45:01.58
パソコンを新しくしたのでWindows8.1になったのも含めて
OctaveやらScilanbやらインストールしてたのだけど
Core i5-5200U 2.2GHzのマシンで

Octave Windows VS2010 ver 3.6.4

n=4096;A=rand(n,n);B=rand(n,n);tic;C=A*B;t=toc,GFLOPS=2*n^3/t*1e-9

をやると
t = 9.2240
GFLOPS = 14.900

だったのに、Scilab-5.5.2 64bitで
stacksize('max')
としてから
n=4096;A=rand(n,n);B=rand(n,n);tic();C=A*B;t=toc,GFLOPS=2*n^3/t*1e-9

をやると、
t = 4.021
GFLOPS = 34.180292

になった。
実はScilabには Intel MKLが入っていて、Octaveに入っているOpenBLASではSSE3までしか対応していないのに対して
MKLではAVX2に対応してるので、1クロックの倍精度実数の演算回数がSSE3の2回から4回に増えるためだと思う。
理論演算速度は2.2GHzの場合、SSE2で17.6GFLOPS、AVX2で35.2GFLOPSで、理論値通りの性能がでているようだ。
0457名無しさん@お腹いっぱい。
垢版 |
2015/08/01(土) 00:23:27.29
Octave 4.0出たようですが、plotでグラフを描くとフリーズします
Windows7 64bit
WIndows8.1 32bit
の両方で確認しております

それと、MATLABがMATLAB Homeとして、個人用の場合
1万5000円ぐらいで買えるようになりました
Simulinkを含めたtoolbooxも各4500円で買えます
Octaveもいいですが、ちょっとお金がある人はMATLAB Home買った方が幸せかも
上のレスにもある通りMATLABならMKLが入っているので
SSE2, AVX, AVX2というSIMD命令とマルチコア演算による
高速な行列演算が可能になります
0458名無しさん@お腹いっぱい。
垢版 |
2015/08/01(土) 13:07:34.94
Matlab Home Edition は
あくまで個人用途みたいだから
ライセンス気を付けないとね

でも個人用途でMatlab使う人なんて
そんなにいるの?
0459名無しさん@お腹いっぱい。
垢版 |
2015/08/02(日) 11:38:28.36
>>458
自宅で作業する場合とかにあると便利でしょうね
Matlab homeの制限はここに載ってます(以下機械翻訳)
http://jp.mathworks.com/products/matlab-home/includes/faq.html
よくある質問
MATLAB Homeライセンスを購入して使用することができますQ.?
A. MATLAB Homeライセンスは、あなたの個人的な使用のためです。
 これは、政府、学術、研究、商業、またはその他の組織使用することはできません。

Q. MATLABホームとMATLABのプロ版の違いは何ですか?
A. MATLABホームは、MATLABのプロフェッショナル版と同じパワーと機能を提供します。
  違いは、MATLABホームは、個人使用のためにのみ利用可能であり、
  政府、学術、研究、商業またはその他の組織の目的に使用することができないことです。

個人で買って家庭のPCにインストールして、家庭で作業をするのはOK
そのアウトプットを組織のアウトプットとして使う場合は、
組織でライセンス取ってねという話だと思われます

MathWorksがやりたいのは、Matlabの裾野を広げたいということで
個人でOctaveやScilabをやってる連中は、仕事で使う場合は喜んで
Matlabの企業ライセンスを買うと思うので、そこはどうでもよくて
一方の、Python系のScipy+Numpy+Matplotが無料で高性能であることから
急速にひろがっておりますが、そちらに行った連中にMatlab体験させるために
格安のMatlabを用意したのでしょう

しかし個人利用限定とはいえOptimization Toolboxまで4500円ってのは破格
https://jp.mathworks.com/store/link/products/home/new?u=HOME&;m=newLicense
0463名無しさん@お腹いっぱい。
垢版 |
2015/09/09(水) 22:25:30.10
おいおいなんでこのスレUNIX板なんだよ
0464名無しさん@お腹いっぱい。
垢版 |
2016/03/20(日) 00:55:33.63
>>463
よく言われるんですが、簡単にはスレ立てできないので、許してください。m(__)m

誰かがソフトウェア板にスレ立てしていただけるといいのですが。
0466名無しさん@お腹いっぱい。
垢版 |
2016/03/20(日) 16:18:52.69
>>465
このスレの最初にスレ立ての理由がかかれていますが、現状ほとんどUnix関係ない。誰かがソフトウェア板にスレ立てしてくれることを希望。m(__)m
0469467
垢版 |
2016/03/20(日) 18:04:35.14
プログラム板と間違えたw
プログラミング技術はプログラム板で
ソフトウェアの設定や使い方はソフトウェア板か
0474名無しさん@お腹いっぱい。
垢版 |
2016/03/21(月) 20:11:56.62
>>472 >>473
msys2には本当にいろんなライブラリがある。これを使って、windows nativeな環境でoctaveがビルドできるかもしれない。

#でも、素直にLinux使ってmxe-octaveでビルドする方がはるかに楽だろうが。
0476名無しさん@お腹いっぱい。
垢版 |
2016/03/27(日) 09:10:46.06
4.0.1のリリースにあわせて,拙Wikiのインストール方法を更新しました。
http://www40.atwiki.jp/gnuoctavejp/

ご意見を頂ければ幸いです。
また,Unix関係は,Ubuntuしか事情が分からないので他のディストリビューションの方が
加筆していただけると幸いです。
0483名無しさん@お腹いっぱい。
垢版 |
2016/04/30(土) 09:22:04.81
コロンがASCIIコード 3Aになってる
文字化けとは言わない
コピペでそうなっても1文字分くらい手打ちでコロンに変えればよかったのに
0489名無しさん@お腹いっぱい。
垢版 |
2016/05/05(木) 06:58:13.05
4.0.2のリリースにあわせて,拙Wikiのインストール方法を更新しました。
http://www40.atwiki.jp/gnuoctavejp/

ご意見を頂ければ幸いです。
また,Unix関係は,Ubuntuしか事情が分からないので他のディストリビューションの方が
加筆していただけると幸いです。

また、Macは全然わからないのでよろしくお願いしたいと思っています。
0491名無しさん@お腹いっぱい。
垢版 |
2016/05/30(月) 18:37:47.83
>>490
octaveは、データ解析だけのツールではないし、数学だけのソフトでもない。総合的な数値計算ツールの1つだ。(最近はsimpyベースのsymbolic packageがよくなってきて、数学ツールとしての側面もでてきたが。)

でも、細かいことをいっても仕方ないので上手く向こうに乗れればいいなあと、思うようになっています。Unix板よりは、いいのかなと。

しばらくは、両方に顔をだします。ここには、長い間お世話になっているので。
0495名無しさん@お腹いっぱい。
垢版 |
2016/07/03(日) 10:47:38.73
octave 4.0.3がでたようです。 ftp%3A//ftp.gnu.org/gnu/octave (ソース),ftp%3A//ftp.gnu.org/gnu/octave/windows(windowsバイナリ)
0500名無しさん@お腹いっぱい。
垢版 |
2016/09/13(火) 22:29:06.16
Octave 4.0.3 のWindowsバイナリ(i686-w64-mingw32)で
GUIのコマンドウィンドウでたまにキーボードの入力を取りこぼすんですが
うちの環境がまずい?あるいはバグ?
0501名無しさん@お腹いっぱい。
垢版 |
2016/09/17(土) 14:37:20.40
>>500
レス遅くてすいません。症状ですが、何ともいえません。私は経験ありませんがタイピングが単に遅いせいかもしれませんし。

また、メーリングリストを見ているとGUI上の不具合は結構環境依存の面があるようです。

4.2.0-rc1 はwindowsバイナリもありますし、こちらを試してみたらいかがでしょう。正式版リリースまでには少しかかるとは思いますが、そう遠くない時期にリリースされると思います。
0502名無しさん@お腹いっぱい。
垢版 |
2016/09/17(土) 21:09:18.54
>501
レスありがとうございます。
自宅/職場のいずれでも発生するので環境ではなさそうな気が。
4.2.0試してみます。
0503名無しさん@お腹いっぱい。
垢版 |
2016/09/19(月) 20:14:22.73
octave 4.2 も引き続きGUIの翻訳をしています。まだ、未翻訳の部分もあります。
ここおかしいとかあれば、教えて下さい。まだ、rc1なので修正ができるので。
0505502
垢版 |
2016/09/24(土) 10:15:30.40
>504
rc2のウィンドウズバイナリ試してみました。
今のところ問題の症状は発生していないようです。
情報有難うございました。

編集→やり直し(Ctrl+Z) の訳は「元に戻す」のほうが一般的かな?という気がします。
0506名無しさん@お腹いっぱい。
垢版 |
2016/09/26(月) 18:13:49.70
>>505

確かに翻訳おかしいですね。
修正を送って適用されたようなので、4.2.0の本リリースでは修正されると思います。
ありがとうございました。
0507名無しさん@お腹いっぱい。
垢版 |
2016/10/07(金) 20:42:28.92
Mac版Octave-gui4.0.3のコマンドウインドウで長い行列をdisp()した時、-- less -- (f)orward, (b)ack, (q)uit
となりますけど、qとかquitとか入力しても改行されるだけで抜け出せません
これはバグでしょうか?
0508名無しさん@お腹いっぱい。
垢版 |
2016/10/11(火) 16:02:56.22
>>507
windowsや linuxでその手の不具合に遭遇していないのでmac版固有の問題かもしれません。

more off
でしのぐしかないのかもしれません。

octave-4.2.0も間もなく出そうなので、それがでたら直るかもしれません。
0510名無しさん@お腹いっぱい。
垢版 |
2016/11/20(日) 20:50:10.21
公式で4.2来てんね
64bit版も公式で来てたんで試してみたけど

32bitだと四次元配列作るとデータサイズオーバーするんで
しょうがなく回りくどい方法で半日かかってた処理が
10分で終わるようになったw

ありがてえwありがてえw
0511名無しさん@お腹いっぱい。
垢版 |
2016/12/06(火) 13:29:11.46
このソフト便利すぎだろ。タダだし。
0513名無しさん@お腹いっぱい。
垢版 |
2017/02/11(土) 04:44:57.38
macに入れたのですが、octave guiの画面のプロンプトに
quitといれてreturnを押すと、虹マークがでて回転して止まりません。
apple menuのforce quitを選んで強制終了させても、octave guiの画面は
消えません。
どうすればquitできるのでしょうか?
0514名無しさん@お腹いっぱい。
垢版 |
2017/02/11(土) 23:42:28.31
http://savannah.gnu.org/bugs/?50025
にレポートがあるけど、どうしようもないとおもう
そこでguiなしで起動する。ターミナルで
octave ―no-gui
と打つか
emacsの設定ファイルに自分で調べて設定を書いて
emacsを動かして、
M-x run-octave
で起動させるしかない。emacsで起動させるとコードに色がつくからいいよ
0520名無しさん@お腹いっぱい。
垢版 |
2017/11/03(金) 19:48:03.06
助けてください
windows8でOctave4系統(4.0.0と4.2.1)を入れたのですが、起動した後すぐに落ちてしまいます
3.6.4だと動いきました。JREは入っています
0521名無しさん@お腹いっぱい。
垢版 |
2017/12/29(金) 07:40:40.52
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

O91V1J5T75
0524名無しさん@お腹いっぱい。
垢版 |
2018/02/14(水) 09:54:36.01
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆
0525名無しさん@お腹いっぱい。
垢版 |
2018/03/14(水) 00:05:41.71
mac で4.2の octave 使ってるんだけど。
グラフのラベルに tex 文字表示できないバグありますね。
\theta や \tau としても heta やら au と表示されます。どうやら \t が無視されてしまう模様
皆さんはどおですか
0526名無しさん@お腹いっぱい。
垢版 |
2018/03/15(木) 06:42:11.97
The source code for Octave 4.2.2 is available for download at:

http://ftp.gnu.org/gnu/octave

-rw-r--r-- 1 3003 3002 25624087 Mar 14 11:11 octave-4.2.2.tar.gz
-rw-r--r-- 1 3003 3002 15483127 Mar 14 11:11 octave-4.2.2.tar.lz
-rw-r--r-- 1 3003 3002 18531988 Mar 14 11:11 octave-4.2.2.tar.xz

md5sum:

89e1824a238417649d4897cfc474fcba octave-4.2.2.tar.gz
e654dbdbab8ff3b753bac66a2445630b octave-4.2.2.tar.lz
5b48de1b81f1bf5b39ac0ad778752f4a octave-4.2.2.tar.xz

Please see http://www.gnu.org/order/ftp.html for mirror sites around
the world. Or you may use http://ftpmirror.gnu.org/octave, which will
redirect automatically to a nearby mirror.

Binaries for Windows systems are available at

http://ftp.gnu.org/gnu/octave/windows
0527名無しさん@お腹いっぱい。
垢版 |
2018/03/15(木) 08:33:08.52
>>525

もしかして、ダブルクォートで文字列を囲ってない?ダブルクォートなら\\にしないと。

”\\tau”

’\tau’
で表示できたよ。
0538名無しさん@お腹いっぱい。
垢版 |
2018/05/03(木) 17:17:48.03
>>534
最新版は4月30日リリースの4.4.0だけど誰かがそれをbrewに登録しないと
brewからはインストールできないはず
登録されてるのかな?

登録情報がどれなのかよく分からないけどこれだとすると
https://github.com/Homebrew/homebrew-core/blob/master/Formula/octave.rb
url "https://ftp.gnu.org/gnu/octave/octave-4.2.2.tar.gz";
mirror "https://ftpmirror.gnu.org/octave/octave-4.2.2.tar.gz";

登録されてるのは4.4.0ではなく4.2.2
0542名無しさん@お腹いっぱい。
垢版 |
2018/05/22(火) 02:55:21.98
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

JSEDY
0544名無しさん@お腹いっぱい。
垢版 |
2018/08/16(木) 07:37:33.59
4.4.1からwindowsバイナリには,2GBを超える配列の線形代数計算ができる
バイナリも配布されている。
名前に w64-64 が含まれています。
0545名無しさん@お腹いっぱい。
垢版 |
2018/08/16(木) 20:41:52.62
debian stable で最新版使いたいんやけどどないしたらええのん?
やはりソースからのみ?
0554名無しさん@お腹いっぱい。
垢版 |
2018/08/21(火) 09:30:53.72
Juliaを始めてみたが、Matlab系とは全然違って大変

表面上は似ているが、配列や行列の代入方法にくせがあり、どう見ても初見殺し
しかも型を意識する必要がある
Juliaに比べれば、Scilabも天国である
いくらJuliaが速いからと言ってあそこまでハードル高くせいとはみな思ってないだろう

Scilabも使いにくいので、Octaveや金があったらMATLAB使ってるのが正解
Octaveがjulia並に速くならんかのお
0555名無しさん@お腹いっぱい。
垢版 |
2018/08/22(水) 01:04:44.88
octave でスペクトグラム描きたいのですが、何かいい関数ありますか?
また、ハイパスフィルタをかけたグラフをかくための関数についても知りたいです。
マトラボのページばかり出てきて困っております。
0560名無しさん@お腹いっぱい。
垢版 |
2018/09/07(金) 13:14:53.30
macOS 用のoctaveは
A native Mac app distribution of GNU Octave
https://octave-app.org/
で準備されている。まだ,Betaリリースのようだが,
そこそこ使えるようだ。
なにせmacユーザーでないのでよくはわからないので,macユーザーの方が
使ってレビューしてくれるとありがたい。
0562名無しさん@お腹いっぱい。
垢版 |
2018/09/23(日) 11:13:24.76
specgram 使うと横軸がデフォだとおかしな値なのですが、どうしたら HH: MM に変えれますか?

ちなみに縦軸をログスケールで撮りたいのですが。。。
0564名無しさん@お腹いっぱい。
垢版 |
2018/09/24(月) 10:21:00.69
>>562
help spcegram から拾ってきた。
融通を聞かせたいなら,sepcgram自体で書かせるのでなく,
変数の返り値を操作してimagesecで描く。
軸の操作などは set(gca, .....) で行う。

[x, Fs] = auload(file_in_loadpath("sample.wav")); # audio file
step = fix(5*Fs/1000); # one spectral slice every 5 ms
window = fix(40*Fs/1000); # 40 ms data window
fftn = 2^nextpow2(window); # next highest power of 2
[S, f, t] = specgram(x, fftn, Fs, window, window-step);
S = abs(S(2:fftn*4000/Fs,:)); # magnitude in range 0<f<=4000 Hz.
S = S/max(S(:)); # normalize magnitude so that max is 0 dB.
S = max(S, 10^(-40/10)); # clip below -40 dB.
S = min(S, 10^(-3/10)); # clip above -3 dB.
imagesc (t, f, log(S)); # display in log scale
set (gca, "ydir", "normal"); # put the 'y' direction in the correct direction
0566名無しさん@お腹いっぱい。
垢版 |
2018/09/24(月) 14:00:08.87
>>562
あとspecgramのhelpを読んで見ることを強くお勧めする。

help 記載の
imagesc (t, f, log(S)); # display in log scale

imagesc (t, f, log10(S)); # display in log scale
だと思う。
0567名無しさん@お腹いっぱい。
垢版 |
2018/12/08(土) 20:44:03.59
octave でバイパスフィルターかけたいんやけど、関数自体ないのね。
自作するしかない?
fft → 適当な周波数成分以下をゼロにする → ifft でいいのかしら?
0574名無しさん@お腹いっぱい。
垢版 |
2019/01/18(金) 17:04:50.15
Octave Online
https://octave-online.net/

>> ver
----------------------------------------------------------------------
GNU Octave Version: 4.2.1
GNU Octave License: GNU General Public License
Operating System: Linux 3.10.0-693.11.6.el7.x86_64 #1 SMP Thu Jan 4 01:06:37 UTC 2018 x86_64
----------------------------------------------------------------------
0575名無しさん@お腹いっぱい。
垢版 |
2019/01/18(金) 17:05:57.07
----------------------------------------------------------------------
Package Name | Version | Installation directory
---------------------+---------+-----------------------
communications | 1.2.1.1 | .../octave/packages/communications-1.2.1.1
control *| 3.0.0 | /usr/local/share/octave/packages/control-3.0.0
data-smoothing *| 1.3.0 | .../share/octave/packages/data-smoothing-1.3.0
divand | 1.1.2 | /usr/local/share/octave/packages/divand-1.1.2
financial *| 0.5.0 | .../local/share/octave/packages/financial-0.5.0
fuzzy-logic-toolkit *| 0.4.5 | .../octave/packages/fuzzy-logic-toolkit-0.4.5
general *| 2.0.0 | /usr/local/share/octave/packages/general-2.0.0
geometry *| 3.0.0 | /usr/local/share/octave/packages/geometry-3.0.0
image *| 2.6.2 | /usr/local/share/octave/packages/image-2.6.2
interval *| 3.1.0 | /usr/local/share/octave/packages/interval-3.1.0
io *| 2.4.8 | /usr/local/share/octave/packages/io-2.4.8
linear-algebra | 2.2.2 | .../share/octave/packages/linear-algebra-2.2.2
ltfat | 2.2.0 | /usr/local/share/octave/packages/ltfat-2.2.0
mapping | 1.2.1 | /usr/local/share/octave/packages/mapping-1.2.1
0576名無しさん@お腹いっぱい。
垢版 |
2019/01/18(金) 17:06:15.12
mechanics | 1.3.1 | .../local/share/octave/packages/mechanics-1.3.1
miscellaneous | 1.2.1 | .../share/octave/packages/miscellaneous-1.2.1
nan | 3.1.4 | /usr/local/share/octave/packages/nan-3.1.4
odepkg *| 0.9.1 | /usr/local/share/octave/packages/odepkg-0.9.1
optim *| 1.5.2 | /usr/local/share/octave/packages/optim-1.5.2
signal *| 1.3.2 | /usr/local/share/octave/packages/signal-1.3.2
statistics | 1.3.0 | .../share/octave/packages/statistics-1.3.0
stk | 2.5.0 | /usr/local/share/octave/packages/stk-2.5.0
struct *| 1.0.14 | /usr/local/share/octave/packages/struct-1.0.14
symbolic *| 2.6.0 | /usr/local/share/octave/packages/symbolic-2.6.0
tsa | 4.4.5 | /usr/local/share/octave/packages/tsa-4.4.5
Did you know you can use Octave Online in your class?
Open a support ticket to inquire about how we can set you up as an instructor.
dismiss


0584名無しさん@お腹いっぱい。
垢版 |
2019/01/26(土) 03:40:43.72
octaveのメジャーうぷまだかな?
debian はしゃーないとして、brew したい
0597名無しさん@お腹いっぱい。
垢版 |
2019/02/11(月) 12:04:10.05
octaveをwslのubunutu18.04にいれたら,qt グラフィックスがうまく描画できない問題は
xseverを-nowglで立ち上げたら問題がなくなった。
0598名無しさん@お腹いっぱい。
垢版 |
2019/02/12(火) 15:21:59.26
wslをだいぶ使い込んだ。Octaveはやはりlinuxで使った方がいいので,
windowsでもwslを使ってlinux版を使い始めた。
ただし,distroにバンドルされているのは大抵バージョン落ち。
いままでは自力ビルドしかなかったが
flatpakという仕組みができた。
いかんせんこれを使ったoctaveのインストールがwsl上のUbuntuでは実現していない。
私個人はoctaveのlinux上でのビルドはずっとやっているから問題がないが,
linuxユーザーでも最近はビルドしない人も多くなっているので悩ましいなあ。
0599名無しさん@お腹いっぱい。
垢版 |
2019/02/19(火) 13:57:26.46
>>598

4.4.1 上手くmake通る? FreeBSDだけれど、結局GUI関係諦めて

./configure \
'--prefix=/usr/home/**********'\
'--with-blas=-L/usr/local/lib -lcblas -lf77blas -lptcblas -lptf77blas'\
'--with-lapack=-lalapack -lptcblas'\
--enable-shared\
--disable-java\
--disable-jit\
--disable-openmp\
--without-qt\
--without-osmesa\
--enable-docs\
--x-libraries=/usr/local/lib\
--x-includes=/usr/local/include\
--localstatedir=/var\
--mandir=/usr/local/man\
--disable-silent-rules\
--infodir=/usr/local/share/info/\
--build=amd64-portbld-freebsd11.2

までオプション落としてようやくmake checkが通る程度の有様(cli でないと
coredumpする。デバッガで起動したらlibcxxrt.soの参照アドレス不整合が
原因らしい)だけれど。

(Qt5-KDE5関連が今丁度端境期っていうのもあるかもしれないし、未だmake
時に使う環境変数指定が不足しているのかもしれないけれど)

ちなみにうちは他への影響が大きく出来合いのpkgは使いたくない為、一々source
からmakeするようにしている。
0601名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 01:47:27.33
>>600

回答有難う。Linuxは一寸苦手だけれど試してみます。
0604名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 09:49:48.79
>>602
(誤)開発者ビルドしたいときかな自分でビルドするときは
(正)開発版ビルドしたいときかな自分でビルドするときは

さらに,wsl ubuntuではflatpakが私の力量では使えない。
Ubuntu上のビルドはさほど苦にならないので問題ないが。
0605名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 18:38:13.85
octave 4.4.0 使ってるんだけど,ssh とかでリモートで octave-cli で絵を描かせると設定したfontsizeや fonttype, ラインスタイルが反映されないないんだけどこれは仕方ない?
0606名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 18:47:57.36
>>605
使っている graphics_toolkit は?
(プロンプトで graphics_toolkit と打てば出てくる。)
print コマンドと使ったいると思うが 出力デバイスは (ファイル形式)?

qtとかfltkは,gl2ps とライブラリを使ってファイルを psotsrcipt に変換してから,
0607名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 18:51:01.15
さらに,ghostscriptやpstoeditで他のファイル形式に変換する。
この時にフォント指定とかが消えることが多い。

graphics_toolkit を gnuplot にすれば余計な変換がない。
gnuplot はインストールしてあるよね?
0608名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 19:25:52.65
>>606
graphics_toolkit と打つと
gnuplot と返された。

ちなみにgnuplotのバージョンは 5.0です。
ちなみにリモート先のOSは debian 4.9 です
0609名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 19:49:43.95
>>606
最後まで答えてなかった、ごめん。

>print コマンドと使ったいると思うが 出力デバイスは (ファイル形式)?

print コマンドではなく、saveas コマンドを使ってます。ファイル形式は pdf です
0610名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 21:07:50.05
saveas は使ってことないなあ。
とりあえず、print コマンド 使ってみて。
あとファイル形式はなに?

gnuplotでも、ファイル形式によっては単純にpngしてしまうとpostscriptベースになる。

gnuplot だったら
Cairoベースを使うのがよい。
pngcairoとかpdfcairoとか。

これは、多分printコマンドつかないと指定できない。
0612名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 21:23:35.54
個人的に決めのグラフ作成にoctaveを使ったことがない。gnuplot のgraphics tookit使うならoctaveにデータはきださせてgnuplotでかいたほうがよっぽどいい。

octaveからバッチ的につかいたいならデータ泣き出せて,systemコマンドでgnuplotをバッチモードでグラフを作ったほうが質の高いグラフが作成できる。

まあ、私最近
pythonにのりかえたので、あまりアドバイスできんが。
0613名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 21:50:23.56
unix使ってるなら、1つのソフトでなんとかしようとするより、ツールを組み合わせて使うもんだと思っている。
gnuplotの機能をoctaveからではフルにつかかえない。正直octaveはグラフをきれいにつくるためのソフトではないと私は認識してる。
0614名無しさん@お腹いっぱい。
垢版 |
2019/02/20(水) 23:42:07.88
>>611
ググってみますありがとうございます。

ちなみに今気がついたのですが、debian母艦で graphics_toolkit すると fltk で、リモート先からgraphics_toolkit すると gnuplot でした。

謎です
0615名無しさん@お腹いっぱい。
垢版 |
2019/02/21(木) 02:21:24.80
sshで接続しているのなら、x11 forwarding してクライアント側で x server たちあげて DISPLAY 環境変数を適切に設定しなければそうなります。
そういう設定をなさっていますか?
0616名無しさん@お腹いっぱい。
垢版 |
2019/02/21(木) 02:44:07.64
>>615
>sshで接続しているのなら、x11 forwarding してクライアント側で x server たちあげて DISPLAY 環境変数を適切に設定しなければそうなります。
>そういう設定をなさっていますか?

いえ、私は ssh でログインした後,コマンドラインで図を作成したものを保存する,という作業を想定してます.
できた図はDropboxで同期させて確認している,と言った感じです。
全てコマンドラインで作業してます。

なのでX のフォーワーディング等は設定してません
0617名無しさん@お腹いっぱい。
垢版 |
2019/02/21(木) 05:07:22.16
>>616
了解です。fltkやqtはグラフィックスがないとつかえません。その場合は自動的にgnuplotになります。osmsaでなんとかなるかもしれないので環境がある場所でテストしてみます。
0619名無しさん@お腹いっぱい。
垢版 |
2019/02/21(木) 09:06:22.92
>>614
ssh接続でやってみた
x=0:10;
plot (x, x.^2);
set(gca, "linewidth", 4, "fontsize", 24)
print -dpdfcairo tmp.pdf

fontsizeやlinewidthも反映しました。
0621名無しさん@お腹いっぱい。
垢版 |
2019/02/26(火) 18:28:58.40
GUIのUIの日本語の翻訳をやっています。
今,pythonに移行中なので,正直やっつけ仕事です。
翻訳のおかしい点があれば,ここで書いてください。
暇があれば,パッチを提出します。
0622名無しさん@お腹いっぱい。
垢版 |
2019/02/26(火) 19:42:28.87
改善点qtやfltkのgraphics toolkitでのプロットの改善。print書き出しの改善。
MATLAB互換の改善。
でしょうか。
5にあげる必要あるのかといわれればそうなのですが,バーナンバーポリシーを
変更したらしいのでよくわかりません。
0627名無しさん@お腹いっぱい。
垢版 |
2019/03/08(金) 01:21:07.58
>>626
windowsが一番早かったが、linuxもflatpakが対応して自分でビルドしなくても最新版が早く使える。結果、macが一番バージョンアップが遅くなった。
0628名無しさん@お腹いっぱい。
垢版 |
2019/03/13(水) 18:35:01.42
octave 4.4 系を使用してます。
x軸を上下2つを使って xtick の値をある倍数だけ片方の軸のみ変えることってできますか?

例えば
# 下のx軸
ax1 = [1, 2, 3, 4];

# 上のx軸は上の値の2倍に変換
ax2 = [2, 4, 6, 8];
0630名無しさん@お腹いっぱい。
垢版 |
2019/03/14(木) 18:53:13.22
>>629
> On gnuplot, one can make a plot which has two different ranges (upper and lower) by
> x2range ...
>
> How can I do on octave?

You can create a second axes object and set its limits however you want.
For example

x = 0:99;
y = rand (1, 100);
hax = [axes, axes];
plot (hax(2), x, y);
set (hax(1), "xaxislocation", "top", "xlim", [0, 5]);

--
mike
0634名無しさん@お腹いっぱい。
垢版 |
2019/03/19(火) 20:41:46.63
octave で データ点が多い(100000点)ようなものを plot させようとすると

GL2PS info: OpenGL feedback buffer overflow

というエラー出るんだけどなんとかならんものか。
0638名無しさん@お腹いっぱい。
垢版 |
2019/03/21(木) 10:13:24.57
>>637
5.1.0 を使っている?OpenGL周りの内部ルーチンは4.4系とかなりそうだ。
私のGPUはそれ程でもない,Sandy Brigde世代のCore i5 の
Intel Graphicsだからな。

graphics_toolkit をgnuplotにしてみたら,描画は遅くなるがOpenGL使わないので
問題はなくなるだろう。

>> graphics_toolkit gnuplot
>> x=linspace(0,1,100000);
>> plot(x);
>> print -dpngcairo test.png

また,OpenGL のgraphics_toolkitは描画は速いが(特に3D),単精度実数だから
大きなオフセットがあるときの微小変化のグラフには不向きなので
その場合はgnuplotを使わざるを得ないしね。
OpenGL graphicsとgnuplot graphicsは一長一短があるので
上手く使い分けて。
0639名無しさん@お腹いっぱい。
垢版 |
2019/03/21(木) 10:14:50.83
>>638
失敬
OpenGL周りの内部ルーチンは4.4系とかなりそうだ。
ー>
OpenGL周りの内部ルーチンは4.4系からかなり改善されたかそうだ。
0640名無しさん@お腹いっぱい。
垢版 |
2019/03/21(木) 10:39:33.40
>>638-639
レスありがとうございます。
ictave は 4.0.3 を lnux で使用中です.
ソースから 4.4 に上げたら描画の挙動(?)が4.0.3と変わってしまって、また4.0.3 に出戻りさせた。
例えば
plot(x, - -k), で破線書かせてみると、破線の間隔が妙に幅を持って出力されたりとか色々と変な感じになったので.
こうなったら 5.1 系に上げてしまおうか
0647名無しさん@お腹いっぱい。
垢版 |
2019/03/31(日) 19:50:47.43
>>641
亀レスで申し訳ありません。
無事に 5.1 に上げれました。

気になるのはやはり、図の見た目が変わってしまうことです。仕方ないと諦めるしかないですかねぇ
0648名無しさん@お腹いっぱい。
垢版 |
2019/03/31(日) 21:32:10.94
>>647

私の場合、少し前までは仕上げはgnuplotで作っていたので、気にしてなかった。
最近はpython屋になりつつあるので、さらに気にしていない。pythonのmatplotlibは素晴らしいから。
0650名無しさん@お腹いっぱい。
垢版 |
2019/06/28(金) 00:14:25.66
中括弧のセルの連結方法について質問させて下さい。
数が少ない場合だと下記のようにセルを結合するのは簡単ですが,
[a{i,1};a{i,2}]
100 個や 200個セルがある場合, 手書きで結合するには少々しんどいのですが
なにかいい方法ありますでしょうか?
0654名無しさん@お腹いっぱい。
垢版 |
2019/08/11(日) 15:00:13.19
懐かしいな、octave。
MATLAB買う金なかったからよく使ってたな。

今じゃPythonがあるからいらないけどな。
0656名無しさん@お腹いっぱい。
垢版 |
2019/08/12(月) 19:32:56.13
>>655
良いぞ。
使ってみな。
0658名無しさん@お腹いっぱい。
垢版 |
2019/08/14(水) 18:54:42.34
>>657
Rも使ってるぞ。
スクレイピングからデータの処理はPython。
機械学習はRでやってる。
0659名無しさん@お腹いっぱい。
垢版 |
2019/08/16(金) 00:47:58.67
私もpythonに移行した。言語仕様がいいのとmatplotlibが質の高いグラフを提供してくれるので。
ただし、行列計算機としてはoctaveを使う。こっちのほうが手間少ないから。
0662名無しさん@お腹いっぱい。
垢版 |
2019/08/21(水) 19:00:11.28
なんでMATLAB使わないの?
0663名無しさん@お腹いっぱい。
垢版 |
2019/08/22(木) 13:41:25.64
>>662
だって、ね(;´_ゝ`)。
0669名無しさん@お腹いっぱい。
垢版 |
2020/02/14(金) 14:34:22.28
みなさんご存知だとは思いますが

5.1.0の

C:\Octave\Octave-5.1.0.0
にある
cmdshell.bat
をダブルクリックするとshellが立ち上がり
g++やgfortranでコンパイルができます
mkoctfileも作れます
ほとんどのcygwin or linuxのコマンドが使えます

また cmdshell.bat の中の

Rem set HOME to 8.3 format
for %%I in ("%HOME%") do set HOME=%%~sI


の後ろに


set HOME=home/hoge

と入れれば

C:\Octave\Octave-5.1.0.0\home\hoge

がホームディレクトリになります
0671名無しさん@お腹いっぱい。
垢版 |
2020/07/15(水) 01:05:58.07
プログラミングにはやってはいけない勉強法がある!?爆速で成長する王道のプログラミング学習法を紹介!
https://www.youtube.com/watch?v=ZJqVQJwvwNI
慶應主席レベルの秀才がプログラミングの独学に失敗した理由
https://www.youtube.com/watch?v=F2m1bsqaAHg
知らずに転職したら失敗する!ブラックIT企業を見分ける11のポイントを徹底解説
https://www.youtube.com/watch?v=a8qDFMsYAqM
営業マンが独学のみでプログラマーに転職して1年で月収80万超えた話
https://www.youtube.com/watch?v=94YQSckQGCs
未経験から2年でフリーランスエンジニアに!安定的に稼げるようになるための5ステップ
https://www.youtube.com/watch?v=oGNpEmFOEcU
フリーランスエンジニアになるなら大規模ベンチャー or 小規模ベンチャー どっち?
https://www.youtube.com/watch?v=-39tg9icRlU
【初心者必見】Webライター・Webマーケターを目指すならまずこの5冊!プロ御用達の文章術本を徹底紹介
https://www.youtube.com/watch?v=y_QBBLdG9QM
【本質】稼げるフリーランスライターになるための前提とは【記事数=ライターの価値じゃない】
https://www.youtube.com/watch?v=xFDMgcpknDA
生産性10倍!知らないと損する3つの最強デザインツール
https://www.youtube.com/watch?v=z6x1R1455Kc
0672名無しさん@お腹いっぱい。
垢版 |
2020/07/16(木) 20:24:17.49
>>671
グロ
0675名無しさん@お腹いっぱい。
垢版 |
2020/08/31(月) 21:27:49.52
octaveでスペクトル解析してみたいんです。
サンプリングレート100ヘルツのデータ a があります
こいつを
Y = fft(a)
して周波数行列 f をつかって
Plot(f, Y) すると両端 (0 hz 100hz )に強いピークを持つんですが、どう処理したらいいでしょうか?
ナイキスト周波数は50ヘルツなのでそれ以上はダミーなのですよね?
0676名無しさん@お腹いっぱい。
垢版 |
2020/09/06(日) 17:07:42.68
http://霈&#9251;甕&#9251;朧http://なねおゆそとろぬうわたせをみう http://ほんくめあいけむしいいはゐねも http://めのにほわねめもいめつむきしひ http://おれのまはそはんひえあそきほ
http://きやふふあわふひよのやはゐをえ https://のようのえれてこらといやきあと https://あはけからねおふまきくあへまや https://よあれほここえんえやめへはねに https://ひらもるしさをぬこせうぬもえに https://ねれやなさきつれうほめおかに
http://もヱるみさおさのほゐるにぬにり https://ぬれみほすつつわかねあくゐひん http://めこんむてひえるうんよせむへぬ http://んおみきしみヱいとゐにはをうせ https://もむたさゆめおえせりてくさるも http://ういけくそれうそねろもんとさ
https://むせそせつのきひむににもんちほ https://おいはほぬめゐんみけよりへそわ https://せりけつたつもはへひさにゐうの https://うぬしほねささふかはむそささん https://みへへねよてぬはむかてわゐんゆ https://るゆぬなくほにむてりゆゆくね
https://ちゆゐりむけわねくされりそわえ http://てほゆぬにのてはなあみきほめみ https://ぬむをえれえみしくうにとゐめさ https://きなふたくんつひいすれよせおへ https://ふいもぬちつけためてまよのへに http://えろつしうらわつしさへむくな
http://くけるりれきてねえんしまくらね http://くれりむたおこちおもりきヱはら https://へまむめねへはのめなえけをへい http://せえはなあろしはるへんあらすね https://へはせよくゆきよせろのゐらちに http://ててヱしやむこよやいもいふそ
https://のふほるたきほわへねもやすみつ http://まおるかちにんそほらうんあぬせ http://ろをるふれこんうせすよひまそお https://かぬゆくわにひとぬてらけるとけ http://ひにみまそよくそくらみうみさす https://めててけうひりままれおのたこ
http://やありむんみやりはよめみかかま https://くのをなねあらあわんふそのせら http://ひちくとたこほえよねせこほてあ http://へはせひむなこそあろえつヱんの https://ひたひきりなんらゆれたつまんす https://すろええはそささよのしせるか
0677名無しさん@お腹いっぱい。
垢版 |
2020/11/30(月) 15:51:35.45
GNU Octave 6.1 リリース!
0678名無しさん@お腹いっぱい。
垢版 |
2020/12/07(月) 06:29:38.04
懐かしいスレだな
まだあったんかw

Ryzen9 3900X、3950X持ってるけど

>>456

n=4096;A=rand(n,n);B=rand(n,n);tic;C=A*B;t=toc,GFLOPS=2*n^3/t*1e-9
試すと、余裕で
500GFLOPS
叩きだすからなあ

確かに当時一週間以上掛かってた計算を最近やったら10時間で終わったんで
本当にそれくらいあるんだと実感する
0680名無しさん@お腹いっぱい。
垢版 |
2021/02/26(金) 07:23:31.28
octave 6.2releaseされたけど、Macのbrew でインスコすると不具合でません?
gccの参照がうまくいかなくなって、リンク貼り直しの刑になったんだが
0684名無しさん@お腹いっぱい。
垢版 |
2021/05/28(金) 07:17:28.27
だって使える人少ないじゃん
一般人で使えてもパッケージインストールしてちょっと使うくらいでしょ
0686名無しさん@お腹いっぱい。
垢版 |
2021/10/30(土) 11:56:44.60
WindowsのOctaveだと4コア制限掛かってるみたいで
LinuxのOctaveと同じスクリプト走らせても明らかに遅いんだけど
コア数指定するにはどうすりゃいいの?

システム環境変数に
OMP_NUM_THREADS
設定しても意味ないっぽいし

Octaveで有効になってるコア数確認するコマンドとかある?
0688名無しさん@お腹いっぱい。
垢版 |
2021/12/07(火) 20:03:14.06
ではマジレスすると、>>686 のようなタイプはさっさとPython乗り換えオススメ
ドキュメントも豊富にあるしロクに調べもしないでも答えてくれる人もたくさんいるよ
最近のPythonは技術計算周りも充実している
マルチコアとかGPU使うにしても苦労してoctaveのやり方調べるよりはるかに楽だろう
0689名無しさん@お腹いっぱい。
垢版 |
2021/12/07(火) 20:05:01.61
一応質問に質問で返すと
まず、Windows版て色々とあるけどどれ?エスパーすると自前ビルドでなくて、どこかのバイナリーと思われるが、ビルド条件で色々変わる
自前ビルドだとすると並列計算するオプションが必要らしいが…
> WindowsのOctaveだと4コア制限掛かってるみたい
> 設定しても意味ないっぽいし
は一体どうやって確認したの? getenv("OMP_NUM_THREADS") すら実行してなさそうな文章
0690名無しさん@お腹いっぱい。
垢版 |
2021/12/07(火) 20:08:23.59
> Octaveで有効になってるコア数確認するコマンドとかある?
どうやって調べて見つからなかったの?

実は質問に答えようかと10数年ぶりにWindowsにoctaveインストールした
で、コア制限なんてかかってないように見えた
普通にOMP_NUM_THREADSで設定した通りにnprocで表示される
ただし、オレのオンボロPCは2コア4スレッドなので5コア以上動くか確認出来ない
しかし、OMP_NUM_THREADSに6を指定したらその通りに表示されたので使えそう
ここまで確認出来た上で、なお、4コアまでしか動かないなら、バグじゃないの?
作ってる人に報告しなきゃ改善されないだろう

オレはちょっとググっただけだ
標準添付のヘルプでも出てくる内容
アホくさくて一度は答える気が無くなったのだった
まあ、結局コア数も足りなくて検証も出来ないし
0691名無しさん@お腹いっぱい。
垢版 |
2021/12/19(日) 18:33:09.66
>>689
8コアCPUで計算するとCPU使用率50%
12コアCPUで計算するとCPU使用率34%
くらいで頭打ちになるんだよ

因みに同じコードをLinuxで走らせると100%で張り付くので明らかに挙動が違う

Octaveはビルド済の64bit版使ってて最新にしても変わらん

>>690
2コア4スレッドじゃ確認できないわなw
全然参考にならん

Windowsだから制限がかかるのか
Octaveで制限掛かってるのか
どっちかはっきりしたい
0692691
垢版 |
2021/12/19(日) 18:42:24.72
>12コアCPUで計算するとCPU使用率34%

34%なわけないw
20数%で頭打ちになる

2コアで粋ってる奴の意見はどうでもいい
8コア以上でやってる奴の意見希望
0694名無しさん@お腹いっぱい。
垢版 |
2021/12/20(月) 14:57:32.06
コンピュータの基本が分かってない人は2コアなら1/2、4コアなら1/4、
8コアなら1/8の時間で終わると思ってるからね。私は2コアだから彼にはアドバイスしませんけどね^^
0695名無しさん@お腹いっぱい。
垢版 |
2021/12/20(月) 16:36:16.84
ソースもハードも自分が持ってて自分で原因を調べようとせず、
まぁスキルがないからだとは思うが、なぜ上から目線の態度で他人の意見を聞こうとするのか。
0696名無しさん@お腹いっぱい。
垢版 |
2021/12/21(火) 19:55:18.34
雑魚どもがピーチクパーチク囀っとるなw

Linuxだと100%張り付くと書いてるのに何訳の分からねえ事ほざいてんだよ
8コア未満の役立たずどもは
おい、脳無しども有益な情報の一つでも出してみろよw

高パフォーマンスにしてプロセス優先度高くしても50%行けばいい方か
Windowsだめだなw
0697名無しさん@お腹いっぱい。
垢版 |
2021/12/25(土) 14:20:23.02
全く自分でデバッグもできないとか低レベルすぎてツッコミどころ満載^^
まぁそんなの技術者には当たり前だろというよくある話だが態度が悪いんで何も教えてあげない^^
0698名無しさん@お腹いっぱい。
垢版 |
2021/12/25(土) 15:13:54.01
UNIX板は大学デビューが多いからITスキルは低いものだ。大半がアセンブラ分からない、禄にコード書けない読めない。
しかもCからがメインだから機械語を全く理解してないからCのコード見てもどこがボトルネックか分からない。
逆にWindows板はCP/M、DOS、Windowsの流れの人が多いから下から上まで把握してる。

>高パフォーマンスにしてプロセス優先度高くして
というかWindowsド素人やん。なぜWindowsのほうがサクサク動くのか全然分かってないね。
0699名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 11:04:55.77
教えてあげないんじゃなくて
自分でも分からねえんだろ?ん?w

有益な情報すら持ってない雑魚は黙ってりゃいいのに
恥晒すために何でしつこく書き込んでくるかなあw
0700名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 11:42:43.29
あと、御託は良いからさ
態度で示してくんない?

そんだけ偉そうに語れるんだから
8コアでも16コアでも良いけどWindowsで
octaveスクリプト実行してタスクマネージャーで
80〜100パーで張り付いてるスクショでも
出して見せろや?
簡単に出来んだろ?ん?
0703名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 14:54:04.42
問題の出るスクリプトも出さすスクショ出せとかかなり頭が弱くないか。
ここはタコにもやさしい犬板じゃないからな。

ググレカス
0704名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 15:52:08.48
偉そうな事言っておいて
スクショの一枚も出せない雑魚しかいねえのかよw

お前らには失望した
お前らなんだかんだ結局言って出来ないんだろ?ん?
0705名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 17:04:11.00
コア分けたら100%使わないというFAQ並の話にブチ切れしてないで少しはググったらどうだ。
Windowsがなぜ世界市場トップなのか。世界最強デバッガが用意されてるからだよ?
使わない手はないのになぜ使わない?  きみのそのシワのない脳味噌に少しでもシワを増やし給え。
そのスクリプトや環境を公開しない時点で自分で原因を探るしかないだろう。ほんとキミは馬鹿だな。
0706名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 18:55:09.93
差分法、B-spline法、スペクトル法で
数値微分と数値積分ゴリゴリやってる
五千行くらいのスプリクトだけど
お前理解できんの?

出来るんだったら上げてやってもいいけど
そういうのもあるから一般論で出来るか出来ねーのか
聞いてんだよ
分かったか、間抜けw
0707名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 19:12:31.56
>>706
学部四年生程度のイキり腐ったガキだな。
しかもoctaveで数値計算してるから関数は知ってても、その中身についてはよくわかってない可能性もある。
数値計算するならFortran使えクソガキ
0708名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 19:33:15.22
理解できないからって決めつけて罵倒とか本当に
しょうがねえ使えねえ奴だな
別に学生じゃなくても実装くらいできんだろw

B-splineとかde Boorがresearchgateで自ら掲載してる
から読んでみろよ?ん?

顔真っ赤にしてる暇があったら
早くスクショの一つでも上げて見せろや無能w
0709名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 20:18:02.17
休みのネタに期待したのに結局問題となるスクリプトコードとどの実行処理系かは言わないのかよ。
今年のクリスマスは盛り下がりまくりだな!!!
0710名無しさん@お腹いっぱい。
垢版 |
2021/12/26(日) 23:22:19.88
このスレは数学屋はくるがコンピュータ科学には疎い。しかしこの板はUNIX板でコンピュータ科学には強い。
この初学者君が悩んでるのは数学ではなくコンピュータ科学だ。キミがいかに頓珍漢なマウンティングをしてるか分かってほしい。

IT音痴君にありがちな分散処理したら速くなるとかコンピュータが一発でデジタル計算できる魔法の機械だとでも思ってるのだろう。
だが違う。コンピュータ屋はCPUとてアナログ回路として見る。そんなのIntelの論文見れば明らかだ。アナログの話ばっかりだ。
コアを分ければ距離が出き、配線が伸び、抵抗が増え、信号が遅れる。コンピュータ屋にとっては光の速度は既に激遅なのだ。
待ち時間が増えるのだ。コアが待機して動かない? だからそんなの当たり前だ。ここまで分かればじゃあどう最適化すれば答えは見えてくるだろう。

まずキミは自分が井の中の蛙だと知り、態度を改めたまえ。
0712名無しさん@お腹いっぱい。
垢版 |
2021/12/30(木) 10:12:56.72
物理学と数学は両輪で互いに進んで科学は発展していくみたいな話があるが、
現代は、物理屋は数学を道具として利用するが、数学屋は物理を道具として見てないというお話でしたとさ。
0713名無しさん@お腹いっぱい。
垢版 |
2021/12/30(木) 19:35:40.96
馬鹿専用のiOSでは馬鹿が勘違いして文句言わないように
CPU使用率やメモリ使用率を見せないようにした。
0715686
垢版 |
2022/07/23(土) 11:52:21.21
>>688
python使ってみたけどさあ
行列演算の実装が全然直観的じゃねえじゃん
行列計算メインで使ってるなら乗り換える意味ないよw

あと、秋田から答え出るまで放置してたけどアホが吠えてただけとか、どんだけだよw
0717名無しさん@お腹いっぱい。
垢版 |
2022/09/09(金) 16:15:16.39
>>715 pythonのリストの実装に線形代数計算ライブラリを突っ込んだという感じで行列計算が
線形代数の記法とあってないのは事実。matplotlibを使いたいがら我慢して使っているところがある。
0720名無しさん@お腹いっぱい。
垢版 |
2022/10/19(水) 15:33:27.04
Python, RはGPUに対応していて
Pythonは知らんがRはGNUプロジェクト
S言語をGPUプロジェクトでフリー化したのがR

Rみたいな頭のおかしい言語の参考書が
本屋であふれかえっているのは
経済や生物や医学などの無駄に統計を取っている統計の使い方だけ知っている集団が
「P値と有意水準が簡単に計算できないとね!」
とSを使っていたから。

RでGPU使って機械学習というのもPython並に普通

MATLABはGPUに対応しているが
OctaveやScilabは全然対応してない

MATLABやOctaveユーザーから見るとPythonというかnumpyはクソなので
OctaveをGPU対応にしてほしい。Octaveのユーザーコミュニティだけでは難しい
0723686
垢版 |
2022/10/19(水) 23:28:10.83
>>720
ScilabはGPGPU用の関数整備してなかったっけ?
0724名無しさん@お腹いっぱい。
垢版 |
2022/10/20(木) 08:06:45.62
>ScilabはGPGPU用の関数整備してなかったっけ?
調べました。してるようです。

Octaveの方ですがoclというoctave-forge package がありそれでGPUを使えるようです。
Windowsバイナリにはocl packageは実装されていません。
おそらくlinuxじゃないと動かないのでしょう。おそらくですが。
ちなみに最後の更新は2021-12-07です。

GPU Linear algebra extensions for GNU/Octave
って論文もあります。
https://iopscience.iop.org/article/10.1088/1742-6596/368/1/012062/pdf
0725名無しさん@お腹いっぱい。
垢版 |
2022/10/31(月) 00:44:32.85
モジュールをどうやって入れるかでいつも迷う
ディストリビューションが用意するモジュールで入れるとなんかいまいち依存問題出たり
0729686
垢版 |
2023/11/24(金) 23:16:06.71
Octaveのグラフィックス関数で何処まで出来るか試してみたくて遊んでたんだけど
結構やるやんけ

コーディング10時間、バグ鳥10時間くらい掛かった
座標軸はOctaveで作ってるのが分かるように態と残してる

ttps://imepic.jp/20231124/827240
ttps://imepic.jp/20231124/827241
ttps://imepic.jp/20231124/827242
0731名無しさん@お腹いっぱい。
垢版 |
2023/12/08(金) 06:07:56.05
test
0732686
垢版 |
2023/12/08(金) 06:11:34.67
>>730 どうも〜

プロシージャル技術を学ぶのに結構使えそうだし
Matlabコマンド使えるOpenGL wrapperと考えるとかなり使い易いけど
Octaveだとこの辺りが限界かなあ?

まあ、SpeedTreeとかTerragenみたいな専用ソフトには敵わないし
ポリゴンにテクスチャ貼れないしね

ttps://imepic.jp/20231206/805440
0736名無しさん@お腹いっぱい。
垢版 |
2024/03/27(水) 20:19:51.46
ワースト表わざわざ反応するか(-.-)Zzz・・・・
最近 言わなく〜
レスを投稿する


ニューススポーツなんでも実況