Path: jaist-news.jaist!coconuts.jaist!wnoc-tyo-news!etlnews.etl.go.jp!news.trc!nf2.iij.ad.jp!nr0.iij.ad.jp!news.iij.ad.jp!rim.or.jp!tamaru-news!kuee-news!kuis-news!news.cs.ritsumei.ac.jp!igakukei!nadesico.cc.tsukuba.ac.jp!news-sv.sinet!perun!rindow!jirocho!news.u-tokai.ac.jp!news.cc.u-tokai.ac.jp!41ee3142 From: 41ee3142@keyaki.cc.u-tokai.ac.jp (Norikatsu Shigemura) Newsgroups: fj.comp.lang.misc,fj.sci.math Subject: Re: My octave's program didn't work. Why? Message-ID: <6vkci3$nt6$1@news.cc.u-tokai.ac.jp> Date: 9 Oct 98 07:04:35 GMT References: <6usq3r$8an$1@news.cc.u-tokai.ac.jp> <6veuko$72g@news.nc.u-tokyo.ac.jp> Organization: Tokai Univ. Computing Center(shonan), Hiratsuka, Japan Lines: 50 NNTP-Posting-Host: keyaki.cc.u-tokai.ac.jp X-Newsreader: mnews [version 1.21-NR/X] 1997-12/25(Thu) Xref: jaist-news.jaist fj.comp.lang.misc:59 fj.sci.math:5017 重村法克@東海大学工学部電子工学科です。 <6veuko$72g@news.nc.u-tokyo.ac.jp>の記事において 牧野@東大駒場さんは書きました。 >> 牧野@東大駒場です。 Octave も ODEPACK (LSODE) も使ったことがある >> わけではないので外しているかもしれませんが、、、 ODEPACK の肝心の部分が FORTRAN だったりするので難儀しています(^^;。 >> 初期条件に 1E-8 とかが入っているので、 ATOL=1E-20 はいいかもしれ >> ませんが、 RTOL=1E-20 は通常の計算機での倍精度(64ビット)計算では >> 達成不可能な値です。 相対許容誤差, 絶対許容誤差がわかってない人間の質問ではありますが, double (今調べたのでは TurboSPARC/Solaris2.5.1。PentiumPro/Slackware 3.5 のマシンも使っているのですがこれはどこに設定があるのだろう…) の最大値が 1.7976931348623157E+308, 最小値が 2.2250738585072014E-308 となっています。これでは駄目なのでしょうか? # これを設定した理由は後述. >> まあ、 ODEPACK は ATOL + RTOL*X みたいなのを条件に使うので、これ >> は問題ではないかもしれません。が、方程式を眺めた限りでは、逆に >> ATOL が大き過ぎるので解がすべて0とみなされるということは起きるか >> もしれません。 ATOL, RTOL とも 1e-100 と設定したことあるのですが(^^;, ATOL だけ設 定したことはありませんでした。これ試してみます。 >> また、すべて0というのはとりあえず平衡解にはなっているようですが、 >> それ以外の解がもとまるはずであるということはわかっているのでしょ >> うか? このプログラムの元々の出どころがありまして, それは, 私が所属して いる研究室の先輩が作ったものです。それを私が Octave の慣熟をかね て再構成しています(具体的にはパラメータを function 〜 endfunction の外部から与えられるなど)。 元々のプログラムではそれらしい答えが出てるのと, t が与えられた積 分範囲内で動いてるのを確認できるなど, 私が作ったプログラムとは違 う動作をしています(下記 URL を参照してください)。 http://www.lb.u-tokai.ac.jp/~nork/octave/CaMKII_oldversion.m http://www.lb.u-tokai.ac.jp/~nork/octave/CaMKII_oldversion.ps ATOL と RTOL についてですが, 元々がこういう設定だったのと, これを 設定しなかったが故のトラブルについての記録が残っていたので設定しま した。