データ解析ツールoctaveを語ろう
at UNIX
[前50を表示]
100:名無しさん@お腹いっぱい。
04/06/24 12:59
>>95
MATLABのことを考えると,毎年PCを買い換えれますね.
MATLABは基本的に毎年ライセンス料を払わないといけないプレッシャーが
あります.
まぁ,払わなくてもいいんだろうけど,修正パッチとか
バージョンアップのことを考えるとライセンス料を払い続けるしか
ないシステムになっています.
101:名無しさん@お腹いっぱい。
04/06/24 13:03
>>95
ベンチマークだいすきですぅ。
102:名無しさん@お腹いっぱい。
04/06/25 14:28
MATLAB個人で買いましたよ。
octaveじゃできないこともおおいし。
ちなみに「データ解析ツール」じゃなくて「行列言語」な。
間違えるなよ。
103:名無しさん@お腹いっぱい。
04/06/25 22:18
行列言語ってのもなんだな...
104:名無しさん@お腹いっぱい。
04/06/25 22:28
Octave使っているのだけど,マニュアルとかが英語なのがちょっとね.
何かお奨めな参考書とかWebページとかりますか?
105:名無しさん@お腹いっぱい。
04/06/25 22:28
とかありますか?
106:名無しさん@お腹いっぱい。
04/06/26 09:24
あまり役に立たない本
「Octaveを用いた数値計算入門」
北本 卓也著
ピアソンエヂュケーション
ISBN4-89471-448-5
107:名無しさん@お腹いっぱい。
04/07/01 07:59
卒研で構造物の強度計算をすることになりました。
それで手頃なツールをさがしているのですが、
Octaveでできますか?
研究室のOSはNetBSDというものだそうです。
108:名無しさん@お腹いっぱい。
04/07/01 08:02
強度計算がどんな計算をするものなのかわからないので、わからない。
行列計算とか微分方程式とかに帰着させられるんならできるだろうけど。
OSは無関係。
109:名無しさん@お腹いっぱい。
04/07/04 23:00
初めて立ち寄ってみました。
lsodeの中身は4段のRunge-Kuttaなのでしょうか?
何を見たら分かるのでしょう?どなたか教えてください。
110:名無しさん@お腹いっぱい。
04/07/04 23:34
微分方程式は Runge-Kuttaを使っていたと思います.
今のOctaveは外部の数値計算ライブラリに依存しているから
そのソースコードを確認するのがいいのではないでしょうか?
でもFORTRANとかで書かれているのでちょっと困りますが...
111:名無しさん@お腹いっぱい。
04/07/04 23:43
>>109
lsodeはRunge-Kuttaではなく、stiffな問題にはBDF法、nonstiffな問題にはAdams(predictor-corrector)と使い分けています。
いずれもRunge-KuttaのようなSingle step methodでは無く、Multi step methodと呼ばれる方法です。
URLリンク(www.llnl.gov)
もともとODEPACKというFORTRANのパッケージに含まれていて、ソースはwww.netlib.orgからダウンロード出来ていたと思います。
lsodeでググってみたら出てきますよ。
112:名無しさん@お腹いっぱい。
04/07/05 07:45
二つの異なる情報ですが、ありがとうござました。
linspaceで刻み幅を固定して計算するのだからRKだろうか
と思っていました。ソースを読んで見ます。
BDFかあ。懐かしいなあ。ずっと以前でしたが、理解するのに
一苦労したっけ。小生は、現在は、刻み幅自動調整の
RKFの愛用者です。
113:名無しさん@お腹いっぱい。
04/07/05 07:48
異なる内容でしたが、ありがとうございます。
linspaceで刻み幅を固定するので、RKかと思っていました。
小生は、現在は、刻み幅自動調整のRKFを愛用しているので
つい、そう思っていました。ソースを読んで見ます。
114:名称未設定
04/07/07 22:57
Matlabのtoolboxが必要なら、octeva-forgeをインストすれば
115:名無しさん@お腹いっぱい。
04/07/14 03:05
>>114
こんなんあったんだね。
これはちょっと使えるかも。
116:名無しさん@お腹いっぱい。
04/07/21 20:37
さてMATLAB R14が出たわけだが。
117:名無しさん@お腹いっぱい。
04/07/21 21:18
MATLABは新しくなればなるほど重く不安定になってくる。
R12以前くらいかな良かったのは。
118:名無しさん@お腹いっぱい。
04/09/28 22:30:37
久々にベンチマークネタ age
octave-2.1.57:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.57:2> tic;A\b;toc
ans = 4.5008
CPU: AMD Athlon(tm) XP 1700+ (1472.93-MHz 686-class CPU)
Origin = "AuthenticAMD" Id = 0x681 Stepping = 1
そんなに速くないな...motherboardも古いし...
119:名無しさん@お腹いっぱい。
04/09/29 04:41:37
octave-forgeってどーですか
120:名無しさん@お腹いっぱい。
04/10/02 21:42:10
>>119
けっこう使えるよ。
公開されてるMatlab用のプログラムが変更無しで動く
121:名無しさん@お腹いっぱい。
04/10/02 21:56:19
octave-forge ってそもそも何ですか?
122:名無しさん@お腹いっぱい。
04/10/03 00:20:31
>>121
cat /usr/ports/math/octave-forge/pkg-descr
123:名無しさん@お腹いっぱい。
04/11/13 20:43:16
あげ
124:名無しさん@お腹いっぱい。
04/11/13 20:45:19
あげ
125:名無しさん@お腹いっぱい。
04/11/14 03:58:42
日本語化パッチはまだでつか?
126:名無しさん@お腹いっぱい。
04/11/14 04:15:32
Octave に日本語って必要なんですか?
127:名無しさん@お腹いっぱい。
04/11/14 04:23:04
必要かどうかは解かりませんけど、
道具が人を選んではいけないと思います。
128:名無しさん@お腹いっぱい。
04/11/14 04:35:04
>>127
意味分かりません
129:名無しさん@お腹いっぱい。
04/11/14 05:48:38
英語読むのめどい
130:名無しさん@お腹いっぱい。
04/11/19 11:26:10
馬鹿とハサミは使い方次第ですね
馬鹿には道具は使えないんでしょうかねぇ
131:名無しさん@お腹いっぱい。
04/11/19 11:28:12
んなこといっちゃってはずかしいくせに
132:名無しさん@お腹いっぱい。
04/11/19 16:55:41
Octaveって線形代数電卓って感じだなぁ.
普段何気なく使っていて,それほど必要だとは思わないんだけど
自分の使っているマシンに入ってないと気づいたときのショックは
計り知れない.
無いとかなり不便なんだよね.
133:名無しさん@お腹いっぱい。
04/11/23 06:37:06
FreeBSDの ports の Octave 新しくなりましたね.
何が変わったのかな?
134:FreeBSD5.2.1-R
04/11/23 20:41:54
2.1.63にアップグレードしたら次のメッセージが出るようになった
warning: lo_ieee_init: unrecognized floating point format!
何でしょうねこれ
135:134
04/11/24 01:33:20
自己レス
最適化がきつすぎたみたい
コンパイルオプション変えたら出なくなった
136:名無しさん@お腹いっぱい。
04/11/24 05:47:50
スレ違いでしたらすいません。
Octaveで以下の式を解きたいのですが、どの様な手順で進めるたらいいか、どなたか救いの手をよろしくお願いします。
dx(i)/dt = P(i) - k(i)x + a(i)x(i) - b(SUMx(j))
ここでxは2つあり、x=1の時は以下の式で解を求めます。
When D <> 0
x1(t) = (Ps/2S + Pd/2D) + (x1(0) - Ps/2S)e^(-St) - (Pd/2D)e^(e-Dt)
When D = 0
x1(t) = xd(0) + Pdt/2 + Ps/2S + (xs(0) - Ps/2S)e^(-St),
where
S = k + B;
D = k - B;
xs=x1+x2;
xd=x1- x2;
Ps = P1+ P2;
Pd = P1- P2;
x=2の場合、Pd -> -Pd, x1 -> x2, xd -> -xdとし、同じ様に解を求めます。
137:名無しさん@お腹いっぱい。
04/12/13 00:21:01
CPUとマザーボードを買い換えました.
AthlonからPen4に変えたのですが
octave って再コンパイルが必要だったんですね.
138:名無しさん@お腹いっぱい。
04/12/14 20:04:09
-march=athlonとかやってたんでないのか?
139:名無しさん@お腹いっぱい。
04/12/21 23:47:43
Octave は関係ないんだけど atlas がコンパイル時にSSEや3D Now を
自動的に認識して最適なコードを出力します.
Athlonだと3D Now が入ってしまうから Pen4だと動かなくなってしまいます.
140:名無しさん@お腹いっぱい。
04/12/22 05:03:05
FreeBSD 5.3-stable + プレスコットなPen4で ATLASを
コンパイルしたら以下のようなエラーが出るようになりました.
何かエラーを解消する方法があれば教えてください.
同じOSで PentiumM なら問題なくコンパイルできたのに...
pre=s, loopO=JIK, ta=N tb=T, mb=0, nb=0, kb=0, lda=0, ldb=0, ldc=0
mu=4, nu=1, ku=8, muladd=0, lat=1 ====> mflop=1573.458410
*** Error code 255
Stop in /usr/ports/math/atlas/work/ATLAS/tune/blas/gemm/THREADED.
*** Error code 1
Stop in /usr/ports/math/atlas/work/ATLAS/bin/THREADED.
Assertion failed: (fp), function GetMMRES, file ../atlas_install.c, line 327.
141:140
04/12/23 09:52:22
PentiumM でコンパイルしたATLASを pkg_create してプレスコットな
Pen4 2.8GHz に入れました。
思ったより速くないですね。
PentiumM でコンパイルしているので SSE2 とかは有効になっている
はずです。
octave-2.1.63:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.63:2> tic;A\b;toc
ans = 4.3339
octave-2.1.63:3> tic;A\b;toc
ans = 4.1330
142:名無しさん@お腹いっぱい。
04/12/23 17:52:46
portsから入れるならWITH_OPTIMIZED_FLAGSを定義しておく
その他CFLAGSやFFLAGS等も適切に設定しておく
143:名無しさん@お腹いっぱい。
04/12/23 18:21:14
>>141
SSE2の速度はPentiuMとPen4でぜんぜん違いますね。
>>142
WITH_OPTMIZIZED_FLAGSは定義しないでください。gcc-3.4.2の
バグで無限ループに陥ることアリ。CFLAGS/FFLAGSは意味なしです。
144:名無しさん@お腹いっぱい。
04/12/23 19:31:54
意味無いこと無いだろ
145:名無しさん@お腹いっぱい。
04/12/23 20:05:09
mahoたん降臨とみた。
146:名無しさん@お腹いっぱい。
04/12/23 22:58:33
>>143
Pen4 ってSSE2 速いんですか?
それほどでもないと思うのですが...
147:143
04/12/23 23:06:00
>>64 で X31 のベンチがありましたが
こちらも同じマシンですがベンチの結果はほぼ同じです。
同じ環境で PenM 1.4GHz 5.5秒 Pen4 2.8GHz 4.3秒...
これをどうみるか...
148:名無しさん@お腹いっぱい。
04/12/25 13:29:55
>>145
するどい。143です。
>>147
octaveではないですが、ATLASだとdouble(REAL*8)の
FLOPSがPen4, PenMで全然違います。厳密には覚えてないですが、
Pen4 2.4Gでdgeemが1600MFlopsでPenMが500MFlops程度
だったかと。dualでもtheoretical peak近いところまででます。
(宣伝したい訳ではないが) FreeBSD Expert 2005にATLASの
ベンチマークを行った結果を詳しく書いています。ただPentiumMに
関しては書いていません。REAL*8はあまりに低速だったからです。
single precisionということはないですか?
PenMのほうが同クロックだと相当高速ですよ。
149:名無しさん@お腹いっぱい。
04/12/26 01:01:24
>>148
プレスコットでも北森でも同じなのでしょうか?
研究室で数値計算用に一台PCを組もうと思っているんですが
世間のPen4の不人気具合いからためらっています.
とりあえず FreeBSD Expert 買ってみます.
150:名無しさん@お腹いっぱい。
04/12/26 17:44:12
>>149
Expert2005のXeon dualはプレスコットだろうか? すまぬ。厳密な
チェックは怠った...しかし、FreeBSD/amd64を入れてみたがブートはしなかった。
SSE2は理論性能は実クロックx2Flops
でます。簡単にはXeon dual (3.4G)ならば3.4x2(dual)x2(theoretical)
=12.8GFlops Opteronも同様。まぁそこまでは出ません。
数値には出にくいのですが、複雑な処理をさせるとXeonは不利で、
Opteronがキビキビしてるなというのが良く解ります。
FreeBSD ports+HPCというのに僕は期待しています。
ノウハウをみなで共有できたら良いと思いますし、よい記事執筆者
が出ることを期待もしています。
151:143
04/12/27 22:56:58
少しスレ違いな話で申し訳ないのですが
うちのプレスコなPen4とThinkPad X31 で FreeBSD 5.3-stable の
kernelコンパイル時間を計測してみたのですが
make buildkernel KERNCONF=MYPC
とやると ThinkPadX31(PenM 1.4GHz),自作PC(プレスコPen4 2.8GHz)
X31は 10分35秒, 自作PCは8分42秒でした.
またuser time と CPU使用率は
X31 545.5秒 97.9%
自作PC 795秒 181%
でした.
正直いってプレスコ使うのが嫌になってきています.
152:140
04/12/27 22:57:38
>>151
ごめん名前間違えた 143 ではなく 140です.
153:名無しさん@お腹いっぱい。
05/01/17 19:45:19 ,
すいません。
お聞きしていいですか??
現在、octaveで1次元有限要素法のプログラムを書いているのですが、量子井戸の波動関数を求めようとした際に、どうしても解が振動してしまいます。
波動関数の2乗の値はまともなのに、2乗しないとだめです。
どうしてでしょうか??
154:名無しさん@お腹いっぱい。
05/01/18 17:46:38
>>153
ネタ?
155:名無しさん@お腹いっぱい。
05/01/18 19:00:34
>>153
> 波動関数の2乗の値はまともなのに、2乗しないとだめです。
ここの意味がわかりません.
156:名無しさん@お腹いっぱい。
05/01/18 21:58:47
>>153
とりあえずソースを
固有エネルギー・固有状態がほしいのか
波動関数の時間発展をみたいのか
何をしたいのか明確に説明プリーズ
157:153
05/01/19 04:45:16
すいません。
説明不足でした。
波動関数が振動するとは、1要素ごとにプラスとマイナスが入れ替わってるような、ギザギザした形状になってしまうということです。
以下にソースを載せますので、暇であればお試しください。
欲しいのは時間に依存しない方程式を解いて、固有関数と固有値です。
URLリンク(cyobe36.k-server.org)
158:153
05/01/19 04:46:57
URLリンク(cyobe36.k-server.org)
159:名無しさん@お腹いっぱい。
05/01/19 21:31:54
>>157
ちゃんと解読してないけど
固有値が一番大きな方の波動関数をプロットしてない?
だったら1サイトごとに振動してても問題ないかと。
固有値が小さいやつをプロットしてみたらどうでしょう。
ただ、plot(x,v(:199))をしてみたけど
ポテンシャル井戸に局在してるようなモードでは無かったです。
対角化したときに固有値・固有状態がどういう順番で出るのか良く知らないんですけど。
160:名無しさん@お腹いっぱい。
05/01/29 17:13:41
ATLASってiccでビルドするとどれくらい速くなるんでしょうか
161:名無しさん@お腹いっぱい。
05/02/11 19:46:36
Octave GTK+
URLリンク(octave-gtk.sourceforge.net)
162:名無しさん@お腹いっぱい。
05/02/11 22:01:01
すいません、宣伝になっちゃいますけど
liboctaveの使い方をまとめたLiboctaveWikiを立ち上げました
URLリンク(liboctave.halfmoon.jp)
ちょっとliboctave使ってみたいなっていう初心者の方から、
liboctaveなら俺に任せろ!な猛者まで、
Wikiの編集に参加していただけるとうれしいです。
なんでOctaveじゃなくてliboctaveの方なんだっていうのは無しの方向で・・(汗
163:名無しさん@お腹いっぱい。
05/04/29 23:16:47
age
164:名無しさん@お腹いっぱい。
05/04/30 21:37:06
sage
165:名無しさん@お腹いっぱい。
05/05/02 03:31:08
% grep -1 BROKEN /usr/ports/math/octave/Makefile
.if ${OSVERSION} < 500000
BROKEN="Does not compile on FreeBSD 4.x"
.else
BROKEN="Does not compile on FreeBSD >= 5.x"
.endif
これはMakefile読めってことですか。
166:名無しさん@お腹いっぱい。
05/05/02 18:59:44
FreeBSDではもうoctaveは使えません
167:名無しさん@お腹いっぱい。
05/05/02 19:32:52
>>166
(´・ω・`)ショボーン
168:名無しさん@お腹いっぱい。
05/05/03 20:28:50
>>166
マジ?
169:名無しさん@お腹いっぱい。
05/05/08 07:09:16
だめじゃん
170:名無しさん@お腹いっぱい。
05/05/08 18:22:22
焦って/usr/ports/distfilesを見たけどoctaveのファイルは残ってなかった
誰かFreeBSD5.4R用のi686バイナリパッケージくれよ
171:名無しさん@お腹いっぱい。
05/05/08 19:39:29
こういう時こそportdowngradeの出番では
172:名無しさん@お腹いっぱい。
05/05/10 12:26:18
FreeBSDのportsってたまに Octave が Broken になりますよね.
またしばらく待っていると復活しますよ.
173:名無しさん@お腹いっぱい。
05/05/10 13:21:18
>171
joke かと思ったら本当にあった... sysutils/portdowngrade
174:名無しさん@お腹いっぱい。
05/05/13 00:07:36
mahoタソがその内直してくれるんじゃね
175:名無しさん@お腹いっぱい。
05/05/30 22:52:46
なおった?
176:名無しさん@お腹いっぱい。
05/06/01 10:16:48
少なくとも一昨日の段階ではまだ直ってなかったけど...
mahoタソたのむ
177:名無しさん@お腹いっぱい。
05/06/01 10:51:19
5.x以降なら直ってるみたい。
4.xはBrokenだけど。
178:名無しさん@お腹いっぱい。
05/06/01 12:51:40
漏れも使っているので、メンテ頼む mahoさん
179:名無しさん@お腹いっぱい。
05/06/01 14:04:37
matlab だと、
x{1} = 1; x{2} = 2;
x{1} = [];
で、x の最初の cell を消去できますが、octave ではどうするんでしょうか?
同様に structure array の要素の消去の仕方も、[] を代入では駄目でした。
180:179
05/06/01 14:11:47
すみません。嘘付きました。
cell array の要素の消去は、[] を代入でできるんです。
しかし、structure array の要素の消去が分かりません。
181:179
05/06/01 14:36:59
解決しました。
web では見つけられませんでしたが、よく考えれば分かりました。
for i=1:10; x(i).f=i; end
とし、
x(7) の削除は、
x = x([1:6 8:10]);
ですね。
182:名無しさん@お腹いっぱい。
05/06/03 07:45:41
今、FreeBSD で portsから octave を入れたのだけど
微妙に良くなっていっているよね octave
メンテや改良ってまだどんどん行われているの?
183:名無しさん@お腹いっぱい。
05/06/03 09:17:17
FreeBSD 5.3でportsからoctaveを入れようとしたけれど、
===> octave-2.1.63 is marked as broken: Does not compile on FreeBSD >=5.x
って出て、インスコできなかったよ。
これってFreeBSD 5.x以上では使えないってことなの?
184:名無しさん@お腹いっぱい。
05/06/03 10:01:00
>>183
portsを新しくしてください。
185:183
05/06/03 14:38:31
>>184
portsは新しくしたはずなんだが…オカシイナ
186:名無しさん@お腹いっぱい。
05/06/07 19:33:20
URLリンク(adlib.rsch.tuis.ac.jp)
に2.1.Xから多次元配列がサポートされたって書いてあるけど,具体的にどう使えるのでしょうか?
ChangeLogとかNEWSとかにも multi とか Arrayとか検索しても引っかからないし,
zeros(3,3,3)とかも使えないし….
どなたか教えてください.
187:名無しさん@お腹いっぱい。
05/06/07 20:35:35
octaveじゃないけど
math/sdpaも壊れてるような
188:名無しさん@お腹いっぱい。
05/06/09 00:35:11
>>186
バージョンは?
2.1.50ではだめだけど、2.1.60以降ではzeros(3,3,3)でいける。
189:名無しさん@お腹いっぱい。
05/06/09 22:07:53
>>188
2.1.71にしたら出来ました!ありがとうございました!
190:名無しさん@お腹いっぱい。
05/06/21 11:04:05
imageコマンドで起動される外部画像ビューアーが、インストールされた計算機によって、
imagemagicだったり、xvだったりするのですが、この違いはなぜ生じるのでしょうか。
また、明示的にどちらかを使いたい場合、どうすればよいでしょうか。
191:名無しさん@お腹いっぱい。
05/07/06 23:18:05
printf('kita---(.v.)-----!'); sleep(10);
これが10秒後まで表示されないんですよね
どうしようもないですか?
192:名無しさん@お腹いっぱい。
05/07/16 22:05:40
>>191
printf('kita---(.v.)-----!'); fflush(stdout);sleep(10);
193:名無しさん@お腹いっぱい。
05/07/27 01:39:55
ちょっと板違いなんですが、他に内容に沿ったスレ見つけられなかったんで失礼します。
今VisualC++で卒業研究のプログラム作ってるんですが、VC++で使える数値計算ライブラリってないですか?
欲しいのは特異値分解だけなんですが、そこら辺に転がってるソース改変して使っても計算精度が悪くて使えないんです。
Octave C++もcygwinを通してのgccでしか使えないっぽいし、どうにかVC++で特異値分解をさせるライブラリのようなものお願いします。
194:名無しさん@お腹いっぱい。
05/07/27 08:15:02
>>193
URLリンク(vision.kuee.kyoto-u.ac.jp)
これじゃだめ?
195:名無しさん@お腹いっぱい。
05/07/27 14:59:39
(.v.)オレ
196:193
05/07/27 17:12:02
>>194
若干板違いだったのに、わざわざ有用な情報をありがとうございます。
結構色々調べたつもりだったんですけど、Octave C++をVC++で使えるとは知らなかったです。
Octaveを使うのあきらめてclapack使おうかと思っててたんですが、こっちの方が良さそうですね。
では、卒業研究頑張ってきますノシ
197:193
05/07/28 02:03:21
なんかうまくいかねーorz
198:名無しさん@お腹いっぱい。
05/10/08 07:15:57
Octave で補間や補外ってできますか?
199:名無しさん@お腹いっぱい。
05/10/21 23:36:59
octave-2.9.3 に UMFPACK をリンクさせたいんですけど、どーやっても configure が libumfpack.a を見つけてくれません。
誰か助けてー。
200:名無しさん@お腹いっぱい。
05/10/25 23:34:33
octaveの可視化機能は、どこまでMatlabに近いですか?
URLリンク(www.cybernet.co.jp)
こんな画像を出したいのですが、octave-forgeを入れていても、関数が無いようです。
201:199
05/10/26 00:15:58
>199
自己レス。
UMFPACKv4.4 の共有ライブラリを自分で作って CVS 版の octave で configure したら認識しました。
でも make がコンパイルエラーで止まる…今度はデバッグか…orz
202:199
05/10/27 06:28:25
>201
さらに自己レス。解決しますた。静的ライブラリでも大丈夫だった。
足りないライブラリを持ってきて Makefile をやっつけハックでいけた。
2048 * 2048 三重対角行列の LU 分解 - Pentium III Coppermine 1GHz です。
octave:1> a=eye(2048).*rand(2048)+diag(ones(2047,1),1)+diag(ones(2047,1),1)';
octave:2> t=time();[L U]=lu(a);time()-t
ans = 46.189
octave:1> b=sparse(eye(2048).*rand(2048)+diag(ones(2047,1),1)+diag(ones(2047,1),1)');
octave:2> t=time();[L U]=splu(b);time()-t
ans = 0.30429
(*´д`*)
203:名無しさん@お腹いっぱい。
05/12/01 11:28:50
portsからoctaveをインストールしようと思ったんだけど、
atlasのコンパイルに無茶苦茶時間かかりますね。
CPU毎に最適化したatlasのpackageってどこかに落ちてない?
204:203
05/12/01 11:31:15
>>203
ここのスレ的にはいちいち言わなくても問題ないと思いますが、
使っているOSはFreeBSD6.0Rです。
ここの板にいると、ついついみんなFreeBSDを使っていると思ってしまう。
205:名無しさん@お腹いっぱい。
05/12/01 22:07:16
FreeBSD 6.0Stable, pentium-m 1.3GHzでAtlasのチューニングに36時間かかった
パッケージは保存したよ
デュアルブートでBSD使ってるからもうあんなのやりたくねえ
206:名無しさん@お腹いっぱい。
05/12/02 00:03:18
今日はじめて使いました。
自分の作ったFFTのプログラムがあまりに遅かったので…。
ところで、起動時のフォルダって変更できるんですか?
微妙に不便
207:名無しさん@お腹いっぱい。
05/12/03 12:19:24
?/.octaverc に好きなコマンドを突っ込んでおけば起動時に実行される
スタートアップファイルには他にもいろいろあって順番が決まっている
208:名無しさん@お腹いっぱい。
05/12/03 20:42:54
>>207
なるほど。
ありがとうございました。
209:名無しさん@お腹いっぱい。
05/12/07 14:24:02
しかし、Opteron dual な鯖で、昨夜の8時からatlasのインストールしているのに
まだ終わらない。
210:名無しさん@お腹いっぱい。
05/12/26 17:28:06
liboctaveでodeをする方法だれかわかりませんか?
微分方程式がどけない、、、、、
211:名無しさん@お腹いっぱい。
05/12/28 21:59:59
非線形だからMatlabとかという理屈がよくわからん
そんな非線形解なんてニュートン法でいいじゃん
ニュートン法自体はすげー簡単で単純
学部の頃はQuickBASICで書いてたぞ
奥村晴彦のコンピュータアルゴリズム事典にも載ってるし
ニュートン法でポテンシャルのパラメータを出して
インパクトパラメータを計算してた
212:名無しさん@お腹いっぱい。
05/12/29 18:19:06
非線形っていうけど、Matlabって線形計算用なんだよね
もともとは...
213:名無しさん@お腹いっぱい。
06/01/02 07:04:26
FreeBSDでoctaveを使いたいのだけど、atlasのコンパイルに時間がかかりすぎます。
それでpackagesを探しているのですが、FreeBSD6.0 or 6-stable用の
atlasのpackagesが見付かりません。
どこかにないでしょうか?
214:名無しさん@お腹いっぱい。
06/01/02 10:22:57
ports にこう書いてあるから、自分で頑張る方が良いんじゃないかな...
NO_PACKAGE= Optimizes for the local machine, so a package is not generally useful. Set FORCE_PACKAGE to override
215:名無しさん@お腹いっぱい。
06/01/02 13:35:50
>>213
オレ、年末にoctaveのportsをmakeしたけど
PentiumIII900MHzで30時間かかったよ
216:名無しさん@お腹いっぱい。
06/01/04 10:13:40
LMItoolboxみたいのありますか?
217:名無しさん@お腹いっぱい。
06/01/04 22:50:27
>213
ATLASは実際にCPUにいろいろ計算させて、その結果を見て最適化していくんだよ。
だから、お前の希望するFreeBSD6.0 or 6-stable用、かつ、お前の使ってるCPU用のバイナリじゃなきゃだめじゃないの?
218:名無しさん@お腹いっぱい。
06/01/04 22:55:46
まあatlasが必要ない用途も多いな。
219:名無しさん@お腹いっぱい。
06/01/05 02:28:44
>>217
Atlas使うといっても何時間もかかるような数値計算をするわけでも
ないので、それほどカリカリに最適化してもらわなくてもいいんだけど...
220:名無しさん@お腹いっぱい。
06/01/05 02:43:06
atlasってそんなにインストールに時間掛かるの?
openoffice位か?
221:名無しさん@お腹いっぱい。
06/01/05 06:06:19
演算の最適化部分を省けばたいしたことないと思うけどね。
簡易インストールみたいなのないの?
222:名無しさん@お腹いっぱい。
06/01/05 22:51:42
>221
最適化をあきらめる選択肢も必要だよね
チューニングに時間がかかりすぎるし
ATLASを使わないで、BLASだけでつかえたらいいのにね
223:名無しさん@お腹いっぱい。
06/01/05 22:54:08
ところで、どうしてFreeBSDのPortsにあるATLASには-ffast-mathオプションが付いてるんだろう
はずさないとだめなんじゃないの?
224:名無しさん@お腹いっぱい。
06/01/05 23:59:39
カリカリに最適化してくれるから俺はports
ひいてはFreeBSDを使っているわけだが
225:名無しさん@お腹いっぱい。
06/01/06 00:03:13
>222
そういう make option の盛り込み案を maho たんに提案しる
226:名無しさん@お腹いっぱい。
06/01/11 17:41:06 BE:81633582-
質問なのですが、save のファイル名の引数に文字列を保持した変数を
与えることはできるのでしょうか?
a=[1,2; 3,4];
filename = "test.dat";
save filename a;
とやると,"test.dat"ではなく"filename"というファイルに出力されてしまいます。
変数filenameの中身をみてくれる方法はないのでしょうか?
227:名無しさん@お腹いっぱい。
06/01/13 23:14:55
>226
■俺も初心者。
とりあえず、save関数を使ってやってみてだめだった。つーか、マニュアルを見るとこうある。
たぶんだめなんじゃないのかな?代わりにfopenコマンドを見つけたから試してみたらどうかな?
1.fopenでファイルオープン 2.fputで書き込み 3.fcloseでファイルクローズ
perlのファイルハンドルみたいだし、""無かったら変数も展開してくれそうな雰囲気はあるよな。
俺も日頃からクソつまらない作業ばかりの社会人で試す前に寝てしまった。暇ができたらやってみるけど。
■saveコマンド
15.1.3 Simple File I/O
save options file v1 v2 . . . Command
Save the named variables v1, v2, . . . in the file file.
The special filename '-' can beused to write the output to your terminal.
■15.2.1 Opening and Closing Files
[fid, msg] = fopen (name, mode, arch) Built-in Function
fid list = fopen ("all") Built-in Function
file = fopen (fid) Built-in Function
For example,
myfile = fopen ("splat.dat", "r", "ieee-le");
fclose (fid) Built-in Function
■15.2.2 Simple Output
fputs (fid, string) Built-in Function
Write a string to a file with no formatting.
■これを参照した。
GNU Octave A high-level interactive language for numerical computations
Edition 3 for Octave version 2.1.x
228:名無しさん@お腹いっぱい。
06/01/14 00:44:12
どうしてもsaveにこだわるのなら
eval(sprintf("save %s a",filename))
で可能。
こんな方法を使うメリットがあるかは疑問だが。
229:名無しさん@お腹いっぱい。
06/01/14 01:29:15
>228
おおう
なるほど
230:名無しさん@お腹いっぱい。
06/01/15 00:02:40
MatlabではM関数をエデットすればそれが次ぎの実行で反映されるのですが
Octaveでは一度読み込んだ関数はそのMファイルが書き変わっても反映されない様です
それでしょうがなく関数を書き換えたらexitしてoctaveを立ち上げ直しているのですが
関数を初期化する方法は無いでしょうか?
231:名無しさん@お腹いっぱい。
06/01/15 08:34:26
clear all っぽい
でも何かエラーが出る
232:名無しさん@お腹いっぱい。
06/01/15 13:00:18
x="output.txt"
y=[1,2,3,4]
save("x","y");
ってなかったけ
233:名無しさん@お腹いっぱい。
06/01/15 20:07:34
>>230
マニュアルには更新日時を見て
再読込するよな事が書いてあるけど、
実際の動作は違うのか?
help -i reload
>>231
clear allは普通にできないか?
>>232
できない。
234:名無しさん@お腹いっぱい。
06/01/21 18:48:32
Octaveで偏微分方程式は解けますか?
235:名無しさん@お腹いっぱい。
06/02/07 13:45:49
octaveとscilabってどう違いますか?
初心者にお勧めはあります?
236:名無しさん@お腹いっぱい。
06/03/05 16:18:36
cygwinでscilabをコンパイルできた人居る?
cygwinのコンソールでscilabを使いたいよ
237:名無しさん@お腹いっぱい。
06/03/12 21:25:19
Windows用 Octave 統合環境
Octave Workshop
URLリンク(www.math.mcgill.ca)
インストールしたらちゃんと動いた!
でもグラフは gnuplot for win
エディタはメニューの File で open すれば立ち上がる
これの凄い所は全部 MinGW で作ってある所!
Cygwin 無しなので、UNIXになじみの無い職場でも使えるかも
238:名無しさん@お腹いっぱい。
06/03/13 16:40:29
そういえば、Octave Workshopって、FreeBSDのportsに入っていないね。
239:名無しさん@お腹いっぱい。
06/03/16 14:32:49
floating pointの形式はieeeじゃなきゃだめなのね。
故に、-mfancy-math-387 -ffast-mathなんかつけるとこけてしまう。
240:名無しさん@お腹いっぱい。
06/03/17 23:32:02
FreeBSDのatlasのportsのfiles/{blas.h,atlas.h}って
+#ifdef __cplusplus
extern "C"
{
+#endif
--略--
+#ifdef __cplusplus
}
+#endif
なpatchをあてないとc言語の時に困るので
誰かsend-prしてください m(_ _)m
241:名無しさん@お腹いっぱい。
06/03/17 23:52:31
cygwinでoctaveとatlasをインストールしようとしてたやついる?
gcc3.4でoctaveをコンパイルすると遅くなるって言ってたけど
gcc4.0とか普通にコンパイルできるぞ?
今からこれでoctaveをコンパイルしてみる
242:名無しさん@お腹いっぱい。
06/03/18 06:12:02
>>241
atlasしらんが、octaveは出来そうだな。
liboctave/lo-ieee.ccかな?にCygwin_initとかいう関数がある。
243:名無しさん@お腹いっぱい。
06/03/20 21:09:03
SciLabは4.0が出たみたいだな
使いにくいから使わないけど
244:名無しさん@お腹いっぱい。
06/03/21 01:11:46
octaveの方がいろいろルーズでいいな
245:名無しさん@お腹いっぱい。
06/03/22 12:30:18
>>244
確かにな
mファイルをコマンドとして使えないとか
関数mファイルを明示的に読み込まないといけないとか、、etc..
Octaveみたいに操作方法もMatLab互換にすればみんな使うのに
246:名無しさん@お腹いっぱい。
06/04/03 00:21:50
俺はLMI tool(MATLAB非互換)が使いたいからSciLabも使うけどね。
慣れればSciLabもいいよ。
247:名無しさん@お腹いっぱい。
06/04/05 23:06:34
octave-forgeのfillは頂点が4つまでしか描けないの?
有限要素法の研究をoctaveでやらにゃならんのに
8頂点の要素がかけないのはつらい・・・。
情報をください。エロい人!!
248:名無しさん@お腹いっぱい。
06/05/14 07:20:32
>241
ATLASはgcc-3.3.3でmakeしました。3.4でもいいはずなのですが
ファイルの一部がmakeできなかった?(よく覚えていない)
octave以外はgcc-3.2でmake
(3.4はbroken octaveになるそう。3.3.3は例外処理が遅いため遅い。
cygwin1.dllの一月のverupより遅さが緩和されているような気がしますが)
gcc-3.2は普通にはgetできないので
www.nuce.nagoya-u.ac.jp/e8/Matsuoka/OctCpp.html
を参考にもってくる。
249:名無しさん@お腹いっぱい。
06/05/14 07:23:26
>248 自己フォロー
>octave以外はgcc-3.2でmake
ごめん。
octaveはgcc-3.2でmake
の間違い
250:名無しさん@お腹いっぱい。
06/05/20 12:12:17
Octave Workshop (>>237) を使っています。
起動直後に私のホームフォルダに自動的に移動しておいて欲しいのですが、
どのファイルにコマンドを書き込めばいいのでしょうか。
あちらこちらにある設定ファイルらしきものに書き込んでみたのですが
まったく変化がありませんでした。ヒントをもらえると嬉しいです。
251:名無しさん@お腹いっぱい。
06/05/20 14:06:11
>250 自己解決しました。
普通にリンクファイルでフォルダを設定すればOKでした。
失礼しました。
252:名無しさん@お腹いっぱい。
06/06/25 16:16:16
>>40のleastsqr.m を動かそうとしているんだけど、なかなかうまくいかない。
なにをやったか書くので、なにがいけないのか、分かる人がいたら教えてください。
x=[1 2 3 4 5];
y=[1 3 6 7 8];
function ret=F(x,p)
ret = p(1)*x*x + p(2)*x + p(3);
endfunction
pin=[1 1 1];
[f,p]=leasqr(x,y,pin,"F")
といった形で実行させると、
error: input(x)/output(y) data must have same number of rows
といったエラーが出る。leastsqr.mのソースを見ると、
% check data vectors- same length?
m=length(y); n=length(pin); p=pin;[m1,m2]=size(x);
if m1〜=m ,error('input(x)/output(y) data must have same number of rows ') ,end;
といった箇所があって、m=length(y)と[m1,m2]=size(x)のm1を比較している。
つまり、上の例だとmが5となり、m1が1となるので、両者がマッチしない。
だから、エラーになったということのようだった。
このあたり、データの与え方が間違っているのかと思って転置行列 x' で
実行させてみたりしたけれど、なかなかうまくいかない。Octave のバージョンは、
GNU Octave, version 2.1.53 (powerpc-apple-darwin7.5.0).
GNU Octave, version 2.1.69 (i386-pc-linux-gnu).
両者とも同じ結果だった。
253:名無しさん@お腹いっぱい。
06/06/26 10:54:43
>>252
そのメーリングリストで流れてたleasqr.mはバギーで動きません
元々のleasqr.mはMatLAB R12ごろに使われていたものですが
フリーの非線形最小二乗関数のleasqr.mでは儲ける事が出来ないので
独自にlsqcurvefit.mを作りOptimization Toolboxに入れて売ってます
leasqr.mの方は現在 Octave-forgeに収録されており、
最新版ならバグ無く動く様です(私の所では)
必要なのはleasqr.mとdfdp.mだけなので、octave-forgeをインストールしなくても
このソースだけ拾ってくれば使えます。
このleasqr.mはmatlabでもそのまま使えますので
optimization toolboxは買えないけどmatlabは使いたい人は使ってみてはどうでしょう
lsqcurvefit.mと違って共分散行列(対角項が各説明変数の分散になる)と、
R^2つまり決定係数が得られて便利です。
254:ゆーき
06/06/27 19:52:37
すみません。。。
matlabハイパー初心者なのですが。。。
csapeで曲線を描きたくて調べたのですが、どうしてもcsape(X,Y,CONDS,VALCONDS)
のVALCONDSに何を入れたらいいのか分かりません。。。
特異値とか特異条件とかが関係してくるっぽいんですが。
どなたか教えて下さい。
255:名無しさん@お腹いっぱい。
06/06/27 20:31:38
最近,Octaveを使い始めたんですが,図を複数作る方法がわかりません.
subplotみたいに1つのグラフにいくつかの波形をプロットするではなく,
1つのグラフに1つの波形をプロットしたものをいくつか作る方法を教え
てください.
GNU Octave2.1.73を使っています.figureを使ってもグラフが表示されま
せんでした.
256:名無しさん@お腹いっぱい。
06/06/27 20:52:22
>>253
octave-forge から持ってきて、leasqrdemo.m をにらめっこしながら、
ようやく動かすことができました。
x=[1; 2; 3; 4; 5];
y=[1; 3; 6; 7; 8];
function ret=F(x,p)
ret = p(1)*x.*x + p(2)*x + p(3);
endfunction
pin=[1 1 1];
[f,p]=leasqr(x,y,pin,"F")
まず、xとyを列ベクトル標記に変え、さらにx*xの計算のところを
x.*xに変えました。これで、動かし方を理解できました。
どうもありがとうございます。
257:名無しさん@お腹いっぱい。
06/07/03 16:42:51
初めて書き込ませていただきます。
構造体に関する質問なのですが、
例えば
octave:1> Kozo(1).name = "ichiro"
octave:2> Kozo(2).name = "jiro"
octave:3> Kozo(1).height = 170
octave:4> Kozo(2).height = 175
というふうな構造体作ったのですが
変数aにichiroの身長を代入しようと
a=Kozo(1).heightとしても
scalar cannot be indexed with .
とエラーが出てアクセスできません。
どなたか参照する方法を教えて頂けませんでしょうか?
octave:5> Kozo(1)
Kozo(1) =
{
height = 170
name = ichiro
}
258:名無しさん@お腹いっぱい。
06/07/04 09:27:40
>>257
octave-2.1.71:1> Kozo(1).name = "ichiro";
octave-2.1.71:2> Kozo(2).name = "jiro";
octave-2.1.71:3> Kozo(1).height = 170;
octave-2.1.71:4> Kozo(2).height = 175;
octave-2.1.71:5> a=Kozo(1).height
a = 170
octave-2.1.71:6> b=Kozo(1).name
b = ichiro
octave-2.1.71:7> fieldnames(Kozo)
ans =
{
[1,1] = height
[2,1] = name
}
何の問題もありませんが?
259:名無しさん@お腹いっぱい。
06/07/04 13:43:14
>>258
別のマシーンでやってみたところ問題ありませんでした。
ということで文法上の問題でなく
インストール上の問題のようです。ありがとうございました。
260:名無しさん@お腹いっぱい。
06/07/16 02:39:09
forge入れて、変わったなーって実感したいんですけど
何かサンプルプログラムありませんか?
261:名無しさん@お腹いっぱい。
06/07/16 03:22:13
octaveで得たグラフとかって論文に載せてもいいの?
信頼性りかの問題で
262:名無しさん@お腹いっぱい。
06/07/16 03:38:54
り、のとこ、と、の間違いでした。
すいません。
263:名無しさん@お腹いっぱい。
06/07/16 04:41:49
>>262
octaveってグラフはgnuplotで描いていると思うけど、
gnuplotは学術論文のグラフ描画によく使われているよ。
そういった意味では問題は少ないと思うな。
もしもoctaveの計算精度の問題を言っているのであれば、
それは自分で精度を検証してから使うべきだろう。
もちろん、octave自身けっこういろいろなところで使われているので
信頼性はそれほど低くはないと思うけど、
あまり使われていない関数などはバグがけっこう入っていそうだ。
264:名無しさん@お腹いっぱい。
06/07/16 09:54:11
むしろ >261 は何だったら載せていいと思っているのか問い詰めたい
265:名無しさん@お腹いっぱい。
06/07/16 14:56:30
FFTした後の振幅って、その中のピークで規格化するのが一般的なんですか?
実際のパワースペクトル密度を得たいときはどうすればいいんですか?
勉強不足ですいません。よろしくおねがいします。
266:名無しさん@お腹いっぱい。
06/07/16 21:05:49
ニューラルネットの例題プログラム作ってみたけど
思ったより計算速度は速かった。
ベクトル演算が鍵なのかな。
267:名無しさん@お腹いっぱい。
06/07/16 21:08:49
>>266
そうだろうね。
同じ演算でも行列使った時とループ使った時では格段に計算時間が違う。
268:名無しさん@お腹いっぱい。
06/07/22 00:57:02
>>261
Excelよりは信頼性あるだろ
269:名無しさん@お腹いっぱい。
06/07/22 23:03:41
そういや、あまり知られてないけどExcelってバグ多いよね。
一度、共同研究先が用意したデータを処理しようとしてExcel使ったけど、
マニュアルの記載にも間違いがあったりして、まともに
計算結果がでなくても困ったことがある。
そういった意味ではOctaveの方がましだと思った。
270:名無しさん@お腹いっぱい。
06/07/22 23:16:57
特に財務計算の関数はアレなんだっけ。
金の問題だけに検算しないとw
271:名無しさん@お腹いっぱい。
06/07/23 00:12:51
実験データを excel でいじろうとする奴を見ると
殴りたくなるよなっ!
272:名無しさん@お腹いっぱい。
06/07/23 00:21:08
現状のExcelじゃ扱える行数が少なくてどうにもならん。
次ので増えると聞いたが。
273:名無しさん@お腹いっぱい。
06/07/25 01:33:11
>>271
そうなの!?
結構普通じゃない!?
274:名無しさん@お腹いっぱい。
06/07/25 11:20:44
>273
ガッ
275:名無しさん@お腹いっぱい。
06/07/27 12:06:56
>>271
俺の周りはどんなデータもFORTRANでいじろうとする奴ばかりだな
Octave使ってる俺だけ浮いてる orz
276:名無しさん@お腹いっぱい。
06/08/07 17:07:19
すごくFAQっぽくて恐縮なのですが、質問させてください。
cygwinのコンソール上でoctaveを使おうとしています。
(正確にはoctaveのC++向けライブラリを使いたい)
それで、cygwinのインストール時にg++関連(3.4.4)とoctave関連(2.1.73)をすべて導入し、
gnuplotのWindows版バイナリ(v4.0)にもパスを通して、
\usr\share\octave\2.1.73\m\startup\octavercと
\usr\share\octave\site\m\startup\octaverc(違いがよく分からないので両方)に
gnuplot_binary = "pgnuplot";を追加しました。
この状態でコンソールからoctaveと入力しても、「何もおきません」。
何か根本的に勘違いしているでしょうか?
277:名無しさん@お腹いっぱい。
06/08/10 01:33:29
octaveはscilabとかMatlabみたいに
G=1/(1+s)
って記述は出来ないんすか?
G=tf([0 1],[1 1])
ってわかりにくい。
278:名無しさん@お腹いっぱい。
06/08/10 08:02:00
octave:1> s = 1
s = 1
octave:2> G = 1/(1+s)
G = 0.50000
279:名無しさん@お腹いっぱい。
06/08/10 10:19:02
function F(t)
F=sin(t);
endfunction
t=0:0.1:2*pi;
y=F(t)
この最後のところで
error: value on right hand side of assignment is undefined
になるのは何故ですか?
280:名無しさん@お腹いっぱい。
06/08/10 10:20:17
>>277
そういう事がしたければSCILAB使えばいいじゃん。
281:名無しさん@お腹いっぱい。
06/08/10 12:12:32
>>278
あとあと、tf関数とか使って、ボード線図が書きたいという趣旨ぢゃないすか?
282:名無しさん@お腹いっぱい。
06/08/10 12:13:40
>>266
ベクトル演算が速くなるように書くっていうのはCray1の昔からですねw
283:278
06/08/10 21:54:29
趣旨とか言われてもシラネ
284:名無しさん@お腹いっぱい。
06/08/12 17:35:48
>>283
G=tf([0 1],[1 1])
って書くと
bode(G)
って出来るけど
G=1/(1+s)
って書いても
bode(G)
って出来ないってことでしょ?
scilabなら
s=poly(0,"s")
G=1/(1+s)
bode(G)
って書ける。
285:名無しさん@お腹いっぱい。
06/08/14 11:29:50
>>278
ワロス
286:名無しさん@お腹いっぱい。
06/08/18 14:34:02
liboctave使っているのですが、liboctaveの説明十分なマニュアル・チュートリアル的な
ものは存在するのですか?
探してみましたが、liboctave wikiぐらいしか見つからなくて困っています・・・
287:名無しさん@お腹いっぱい。
06/08/19 16:23:09
マニュアルあってもいいけど
Doxygenで作ったAPIリファレンスで事足りる
288:名無しさん@お腹いっぱい。
06/08/26 19:57:32
FreeBSDの倍精度が64bitじゃなくて53bitで扱われてるって書いてある本があったけど・・・
どうしたらいいんだ
289:名無しさん@お腹いっぱい。
06/08/27 05:50:44
何が53bitなの?
IEEE規格で計算しているから64bitのはず。
290:名無しさん@お腹いっぱい。
06/08/27 10:58:54
>>288
仮数部の有効桁じゃないのか?
291:名無しさん@お腹いっぱい。
06/08/27 13:18:12
仮数部52ビット、符号部1ビット、指数部11ビット。
FreeBSDと限定する意味がわからんなあ、その本。
292:名無しさん@お腹いっぱい。
06/08/27 14:23:30
>>291
「正規化方式で実質的に 53bit」って話は聞いたことがある
293:名無しさん@お腹いっぱい。
06/08/27 16:57:17
intel のFPUは内部レジスタは80bitの精度を持っているけど、
IEEE規格だと64bitだからね。
もっともコンパイルオプションを指定すれば80bitで計算できたはずだけど...
294:名無しさん@お腹いっぱい。
06/08/27 23:39:22
IEEEにも拡張精度は定義されてるけど
295:名無しさん@お腹いっぱい。
06/08/28 02:05:31
「IEEE」って… まあ意味分かるけど。
Wikipedia項目リンク
URLリンク(docs.sun.com)
296:名無しさん@お腹いっぱい。
06/08/28 07:08:00
man fpsetprec
297:名無しさん@お腹いっぱい。
06/08/28 22:53:00
これか
URLリンク(www.jp.freebsd.org)
FreeBSD QandA 2003年10月16日 更新分
管理番号 587 (更新) 更新履歴
Q. gccで "long double" を使用して数値計算を行ないましたが、同じ CPU での
Linux の結果と比べて計算精度が悪く、計算結果が異なります。
A. FreeBSD の標準カーネルでは浮動小数点の仮数部の精度が (IEEE754 と異なり)
53bit に設定されているために起きる現象です。
Intel x86 系の FPU の仮数部の精度は 24/53/64bit に設定可能です。
FreeBSD では仮数部の精度が 53bit に設定されているために、long double
を使用しても仮数部の精度が 53bit (つまり、double と同じ) しかありません。
1. 関数 fpsetprec()/fpgetprec() を使用して、FPU の仮数部の精度を 64bit
に変更する事が出来ます。fpsetprec(3) を御覧下さい。
2. GNU Multiple Precision Arithmetic Library (GMP)、PARI 等 FreeBSD 標
準以外の数値演算ライブラリを利用してもよいでしょう。
298:名無しさん@お腹いっぱい。
06/08/29 22:29:53
カーネルの設定で64bitにするにはどうしたらいいの
299:名無しさん@お腹いっぱい。
06/08/30 10:51:41
hackしろ
300:名無しさん@お腹いっぱい。
06/08/30 11:22:55
ついでに見てやったぞ。
i386なら、/sys/i386/include/npx.hの__INITIAL_NPXCW__
amd64なら/sys/amd64/include/fpu.hの__INITAIL_FPUCW__
を適当に変えろ。
301:288,297
06/08/30 20:48:29
ソースを見て怪しい部分をさがせばいいのか
デーモン君みたいだな
よくわかんないけどがんばるよ
302:名無しさん@お腹いっぱい。
06/09/11 14:40:45
octaveって(GNU Octave, version 2.1.73 (i686-pc-cygwin).
A=[
1 2
3 4
]
は
A=[\
[1,2];\
[3,4]\
]
って、CRLFをエスケープしなきゃダメ?
303:名無しさん@お腹いっぱい。
06/09/12 14:43:02
やってみればわかる
304:名無しさん@お腹いっぱい。
06/09/12 16:53:55
>>303
matlabだと
A=[
1 2
3 4
]
でいいのに、octaveだと\をつけなきゃならんのは、片手落ちだとおもう
305:名無しさん@お腹いっぱい。
06/09/13 00:32:48
それ、 octaveじゃなくてターミナルの問題じゃね?
306:名無しさん@お腹いっぱい。
06/09/13 10:45:57
>>305
あ、ちょっと言葉足らずだった。ごめん
A=[
1 2
3 4
]
って、g.mに書いて、
source("g.m")
ってすると、ダメなんですよ。
って書いていて気がついた。
そか。改行をCRLFじゃなくてLFにしなきゃだめなんだ→やってみた→うまくいった。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5162日前に更新/221 KB
担当:undef