このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
FORTRAN使いが優しくコメントを返しますが、
お礼はFORTRANの布教と初心者の救済と次期Fortran2008規格でのCOMEFROM文採用をお願いします。
●注意事項
・質問する前にGoogle等の検索サイトで検索しましょう。
・回答者にわかりやすい様に、質問内容はできる限り詳しく書きましょう。
・エラーの場合は起きた状況、環境(OS・コンパイラ・バージョン)、エラーメッセージも詳しく書きましょう。
●前スレ
くだすれFORTRAN(超初心者用)その5
http://toro.2ch.net/test/read.cgi/tech/1269704830/
●過去スレ
くだすれFORTRAN(超初心者用)その4
http://pc12.2ch.net/test/read.cgi/tech/1232789521/
くだすれFORTRAN(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1196384126/
くだすれFORTRAN(超初心者用)その2
http://pc11.2ch.net/test/read.cgi/tech/1164121236/
くだすれFORTRAN(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1138063703/
探検
くだすれFORTRAN(超初心者用)その6
■ このスレッドは過去ログ倉庫に格納されています
2012/08/16(木) 20:58:00.31
577デフォルトの名無しさん
2014/08/30(土) 13:35:28.03ID:SJevJ5zH578デフォルトの名無しさん
2014/08/31(日) 23:33:34.12ID:ChHwlQ4k 興味でお聞きしたいのですがfortranで株の発注のようなことはできたりしませんか?
例えば証券ホームページににログインし発注操作するなど・・
そういう言語じゃないのかもしれませんが・・
例えば証券ホームページににログインし発注操作するなど・・
そういう言語じゃないのかもしれませんが・・
579デフォルトの名無しさん
2014/08/31(日) 23:49:50.53ID:lawRyb1w fortranからC言語の関数呼び出せるので...
それじゃ邪道ですかw
まあHFTも金勘定も数値計算だしいいんじゃないでしょうかね
それじゃ邪道ですかw
まあHFTも金勘定も数値計算だしいいんじゃないでしょうかね
580デフォルトの名無しさん
2014/09/01(月) 03:24:17.76ID:xOVRhMZQ そう言えば、Fortranって少数第n位以下を切り捨てみたいな関数ないんだね…
Excelで言うrounddownみたいなやつ。
今、ファイル書き出すのに一々四捨五入されちまって困りマクリングでつ、はい(´・_・`)
Excelで言うrounddownみたいなやつ。
今、ファイル書き出すのに一々四捨五入されちまって困りマクリングでつ、はい(´・_・`)
581デフォルトの名無しさん
2014/09/01(月) 13:00:12.21ID:3fk/vRi5 >>580
簡単だし自作したら良いじゃない?
簡単だし自作したら良いじゃない?
582デフォルトの名無しさん
2014/09/01(月) 22:10:23.80ID:wdLC/vQV583デフォルトの名無しさん
2014/09/02(火) 07:37:26.28ID:ADLMggi1584デフォルトの名無しさん
2014/09/02(火) 08:58:57.02ID:wSUV6Pdf そんなに端数が気になるならもうひと桁増やして丸めればよかろうに
585デフォルトの名無しさん
2014/09/02(火) 20:48:24.61ID:vngmZpQR むしろ、簡単に実装できるのにわざわざ関数がある言語のが珍しいかと
586デフォルトの名無しさん
2014/09/02(火) 21:36:00.72ID:2O5G2v8m >>584
0.4999999999を小数点以下3桁で切り捨て表示するために4桁で文字列化しても内部処理が丸めだと0.500になってしまうかもしれんぞ
素直に1000倍して切り捨てて1000で割るがよろしい
0.4999999999を小数点以下3桁で切り捨て表示するために4桁で文字列化しても内部処理が丸めだと0.500になってしまうかもしれんぞ
素直に1000倍して切り捨てて1000で割るがよろしい
587デフォルトの名無しさん
2014/09/03(水) 02:46:13.39ID:TB1UfkpT >>580
なぬ?途中の計算の話じゃなくて、I/O 時の話か?
それならあるぞ。F2003もしくはF2008の機能だと思うが。
write(*, '(rd, f15.1)') 1.45 ! 1.4
write(*, '(ru, f15.1)') 1.45 ! 1.5
このほか rz, rn, rc もある。
それぞれ round up, round down, round to zero, round to nearest, round to compatible
最後の二つは最近接への丸めだが、等距離の時に、偶数への丸めかゼロから遠い方への丸めかだと思う
まぁ詳しくはマニュアルとIEEE754-2008の仕様をよく読んでくれ。
なぬ?途中の計算の話じゃなくて、I/O 時の話か?
それならあるぞ。F2003もしくはF2008の機能だと思うが。
write(*, '(rd, f15.1)') 1.45 ! 1.4
write(*, '(ru, f15.1)') 1.45 ! 1.5
このほか rz, rn, rc もある。
それぞれ round up, round down, round to zero, round to nearest, round to compatible
最後の二つは最近接への丸めだが、等距離の時に、偶数への丸めかゼロから遠い方への丸めかだと思う
まぁ詳しくはマニュアルとIEEE754-2008の仕様をよく読んでくれ。
588デフォルトの名無しさん
2014/09/03(水) 13:00:08.93ID:TB1UfkpT 昼休みに調べたら rd ru の類はF2003だった。
あと rp processor dependent という処理系依存型もあるようだ。
あとOPEN文で指定する方法もある。
しかし、正直いって>>580の基本的発想が間違っている。
他の人達のアドバイスにあるように、そもそも内部二進表現を十進表現に
直すときに丸めなどが入ってしまう。そのうえでさらに十進表現を
丸めようとするのが Fortran 的センスではおかしい。
だからみんな当惑した反応しか返さない。
とはいえ自然科学ではない商習慣等での丸め等もあるようだから
別にそれがいけないわけでなく、それに合った言語例えば
BCD演算できるCOBOLなどで計算すべきのみ。
あと rp processor dependent という処理系依存型もあるようだ。
あとOPEN文で指定する方法もある。
しかし、正直いって>>580の基本的発想が間違っている。
他の人達のアドバイスにあるように、そもそも内部二進表現を十進表現に
直すときに丸めなどが入ってしまう。そのうえでさらに十進表現を
丸めようとするのが Fortran 的センスではおかしい。
だからみんな当惑した反応しか返さない。
とはいえ自然科学ではない商習慣等での丸め等もあるようだから
別にそれがいけないわけでなく、それに合った言語例えば
BCD演算できるCOBOLなどで計算すべきのみ。
589デフォルトの名無しさん
2014/09/03(水) 22:10:06.94ID:aKlULROR 2015出たんだね
590デフォルトの名無しさん
2014/09/04(木) 02:18:06.97ID:dS3FSElc Fortran コンパイラメーカ
Intel PGI Pathscale (Intel NVidia AMD/ATI) アクセレレータ御三家
Absoft NAG 独自色
Lahey/Fujitsu Silverfrost 斜陽族
GFortran g95 GNU Free系
こんなとこか?
Intel PGI Pathscale (Intel NVidia AMD/ATI) アクセレレータ御三家
Absoft NAG 独自色
Lahey/Fujitsu Silverfrost 斜陽族
GFortran g95 GNU Free系
こんなとこか?
591デフォルトの名無しさん
2014/09/04(木) 02:51:19.67ID:Yy5o2rJg Free系にOpen64と(一応)dragoneggがあるぞ
dragoneggはgcc4.8.3以降はサポートしてないしflangは開発止まってるし
この辺が活発化すれば若い人がたくさん来ると思うんだけどな
dragoneggはgcc4.8.3以降はサポートしてないしflangは開発止まってるし
この辺が活発化すれば若い人がたくさん来ると思うんだけどな
592デフォルトの名無しさん
2014/09/05(金) 04:17:28.12ID:tI2mbO8v GNUでFortranやAdaが熱心にサポートされているのは、米国防総省あたりからの
金が流れているからなのかな?
意識高いw進歩的wCS学科若年層には人気は全くないのに。
それともおっさん層しかやってないからなのか?
そのわりにGNU COBOLとかPL/IとかALGOL、PASCAL、Modula-2とかやらないし。
金が流れているからなのかな?
意識高いw進歩的wCS学科若年層には人気は全くないのに。
それともおっさん層しかやってないからなのか?
そのわりにGNU COBOLとかPL/IとかALGOL、PASCAL、Modula-2とかやらないし。
593デフォルトの名無しさん
2014/09/05(金) 08:06:03.87ID:DENIJuH5 >>587
でもfortran95でしょ、ほとんどサポしてるのは
でもfortran95でしょ、ほとんどサポしてるのは
594デフォルトの名無しさん
2014/09/07(日) 03:06:28.08ID:5kwVdIF1 Cray, IBM, PGI, Intel が F2003 完全対応したな。
NAGはあと一歩。
GFortranは進捗どうですか?
スパコンだと SXは90 Hitachiも90? Fujitsuは95?
それぞれつまみ食い的に拡張してあるが。
NAGはあと一歩。
GFortranは進捗どうですか?
スパコンだと SXは90 Hitachiも90? Fujitsuは95?
それぞれつまみ食い的に拡張してあるが。
595デフォルトの名無しさん
2014/09/07(日) 04:28:58.48ID:+IELT+xO 日立のはコンパイルオプション-hf95で問題なく使えてたがあれ完全準拠じゃなかったのかな
まあ完全準拠だったらわざわざfortran90コンパイラとは名乗らないか
まあ完全準拠だったらわざわざfortran90コンパイラとは名乗らないか
596デフォルトの名無しさん
2014/09/10(水) 14:57:01.18ID:rySPmzVQ そういや、fortranのデータの取り扱い方について詳しくかいせつしてる本てあまりないね。
597デフォルトの名無しさん
2014/09/13(土) 13:38:42.01ID:xbN/YUGu fortranのデータってなんじゃい?ファイルのことか?
598デフォルトの名無しさん
2014/09/13(土) 20:59:58.06ID:1ASLKxa3 >>596
format read writeのことなら、コンパイラーの取扱説明書が(独自仕様拡張部分も含めて)もっとも詳しいよね。
format read writeのことなら、コンパイラーの取扱説明書が(独自仕様拡張部分も含めて)もっとも詳しいよね。
599デフォルトの名無しさん
2014/09/14(日) 15:27:09.67ID:aEQdUpNg intel fortranはIMSLも非商用は無償にしてくれないかな・・
600デフォルトの名無しさん
2014/09/15(月) 02:35:29.49ID:0r1HU9OA IMSLは会社が違うから無理だべ。
IntelはCPU売るためにソフトのコンパイラを撒き餌としてばら撒いてもペイするが、
IMSLの方としては特に得しないし。
富士通がLaheyにOEM供給した時にコンパイラにSSL2とかただでバンドルしていたが。
NECがASLをちょー高値で売っていたことを考えれば、ちょー太っ腹だった。
それはそうと日本の大学の大型計算機センターにたまっていたライブラリも、
NETLIBみたいにネットに公開して吐き出せばいいのに。
IntelはCPU売るためにソフトのコンパイラを撒き餌としてばら撒いてもペイするが、
IMSLの方としては特に得しないし。
富士通がLaheyにOEM供給した時にコンパイラにSSL2とかただでバンドルしていたが。
NECがASLをちょー高値で売っていたことを考えれば、ちょー太っ腹だった。
それはそうと日本の大学の大型計算機センターにたまっていたライブラリも、
NETLIBみたいにネットに公開して吐き出せばいいのに。
601デフォルトの名無しさん
2014/09/15(月) 09:55:29.48ID:SmofGg9r602デフォルトの名無しさん
2014/09/15(月) 11:07:29.74ID:WIy8nvhC GForce思い出したわ
603538
2014/09/16(火) 03:14:29.14ID:EYsbMZCB604デフォルトの名無しさん
2014/09/17(水) 01:15:32.64ID:OkbA3cQE >>603
当該 READ 文の FORMAT 文を見ると分かる。
たぶん昔のプログラムだから READ(99, 1000) N,B,C... みたいになっているだろう。
その場合行番号付で 1000 FORMAT(1H , 云々) となっている FORMAT文を見ればいい。
その行と引用しているREAD文を2chにコピペすればいい。
どの行かわからんというならDEBUGオプションでtracebackをオンにしてやれば
エラーで死んだところで行番号が出るはず。
当該 READ 文の FORMAT 文を見ると分かる。
たぶん昔のプログラムだから READ(99, 1000) N,B,C... みたいになっているだろう。
その場合行番号付で 1000 FORMAT(1H , 云々) となっている FORMAT文を見ればいい。
その行と引用しているREAD文を2chにコピペすればいい。
どの行かわからんというならDEBUGオプションでtracebackをオンにしてやれば
エラーで死んだところで行番号が出るはず。
605デフォルトの名無しさん
2014/09/18(木) 00:30:49.37ID:+0AmgyUa Fortranってどの程度配列メモリに記憶出来てるのかな?
例えば
do i = 1, 100
Read(20,*) (a(i,j),j=1,20
End do
で write(*,*) a(99,15)とかどこまで記憶出来てるもんなんやろ?
例えば
do i = 1, 100
Read(20,*) (a(i,j),j=1,20
End do
で write(*,*) a(99,15)とかどこまで記憶出来てるもんなんやろ?
606デフォルトの名無しさん
2014/09/18(木) 21:41:43.06ID:16BBiZdw eclipseである程度長いサブルーチンも何十個か呼び出しているプログラムで
call systemが通らくなるのですがなにか原因ありますか?
ブラウザソフト立ち上げながらでもダメだったのでメモリがらみと思うのですが
ざっくりしすぎですいませんがなにかヒントあればおねがいします・・
call systemが通らくなるのですがなにか原因ありますか?
ブラウザソフト立ち上げながらでもダメだったのでメモリがらみと思うのですが
ざっくりしすぎですいませんがなにかヒントあればおねがいします・・
607デフォルトの名無しさん
2014/09/19(金) 00:43:16.70ID:0+vn6Zlr608デフォルトの名無しさん
2014/09/19(金) 01:31:53.81ID:3dCDoxc8 >>607
ありがとうございました
ps alxで見るとrssがまさに満杯でいっぱいのようでした
cat /proc/meminfoで見るとフリーが10Gぐらい残っていて
大丈夫と思っていたのですが違いが分かっておらず
違いを勉強しようと思います
もしご存知でしたらまた教えていただけると幸いです
ありがとうございました
ps alxで見るとrssがまさに満杯でいっぱいのようでした
cat /proc/meminfoで見るとフリーが10Gぐらい残っていて
大丈夫と思っていたのですが違いが分かっておらず
違いを勉強しようと思います
もしご存知でしたらまた教えていただけると幸いです
609デフォルトの名無しさん
2014/09/19(金) 03:08:40.00ID:f7fTMqdH >>607
そうなの?
そうなの?
610デフォルトの名無しさん
2014/09/19(金) 22:55:20.41ID:0+vn6Zlr611デフォルトの名無しさん
2014/09/20(土) 20:11:45.61ID:onD5DKrz >>610
ありがとうございます。べんきょうになりました。
メモリ節約のために可能な限りallocatableに変更したら余裕ができて解決しました。
個人利用のプログラムには必要ないと思っていましたが大事でした
ありがとうございました
ありがとうございます。べんきょうになりました。
メモリ節約のために可能な限りallocatableに変更したら余裕ができて解決しました。
個人利用のプログラムには必要ないと思っていましたが大事でした
ありがとうございました
612デフォルトの名無しさん
2014/09/22(月) 04:03:57.88ID:Huxb6fEK 配列a=/2,3,4,5,8,5,4......./みないなのがあったとして, 最大値の8すなわち,a(5)までをファイルに書き込みたいんだけど…
do i = 1, maxloc(a)
write(20,*) a(i)
Enddo
ではエラーになるよね。おそらくmaxloc(a)がrank 1 でdo loop にはrank 0 (スカラー値)じゃなきゃいかんってことなんだろう
配列をスカラー値に戻す関数ってないのかね?
do i = 1, maxloc(a)
write(20,*) a(i)
Enddo
ではエラーになるよね。おそらくmaxloc(a)がrank 1 でdo loop にはrank 0 (スカラー値)じゃなきゃいかんってことなんだろう
配列をスカラー値に戻す関数ってないのかね?
613デフォルトの名無しさん
2014/09/22(月) 08:08:38.00ID:/rW2WBkU 配列は要素を指定すればスカラーになるだろ
614デフォルトの名無しさん
2014/09/23(火) 00:55:12.38ID:07zJk+Gd >>612
次元を指定すればおk。1次元でもあえて1を指定すればスカラーで返してくれる。
do i = 1, maxloc(a, 1)
1要素配列を返す奴らに使える、基本的なテクニックですぞい。
改行要らなければ
write(20,*) a(:maxloc(a, 1))
で1行で済む。
次元を指定すればおk。1次元でもあえて1を指定すればスカラーで返してくれる。
do i = 1, maxloc(a, 1)
1要素配列を返す奴らに使える、基本的なテクニックですぞい。
改行要らなければ
write(20,*) a(:maxloc(a, 1))
で1行で済む。
615デフォルトの名無しさん
2014/09/23(火) 02:10:29.02ID:UZWdIj2A >>614
いやぁ助かります。
ここは参考書に載ってないテクを知ってる方がたくさんいるからやめられない…
このようなテクって自分で見出すもの?それとも何か参考書みたいのってあるのですか?
あと、科学数値計算やってる方に聞きたいのですが、最適な刻み幅ってどう決定してますか?
対数刻みやらなんやらありますが、結局自己流やらなんやらでしっくりしたものに出会えず時間を無駄にしてる感たっぷりなんです
いやぁ助かります。
ここは参考書に載ってないテクを知ってる方がたくさんいるからやめられない…
このようなテクって自分で見出すもの?それとも何か参考書みたいのってあるのですか?
あと、科学数値計算やってる方に聞きたいのですが、最適な刻み幅ってどう決定してますか?
対数刻みやらなんやらありますが、結局自己流やらなんやらでしっくりしたものに出会えず時間を無駄にしてる感たっぷりなんです
616デフォルトの名無しさん
2014/09/23(火) 12:59:19.57ID:07zJk+Gd >>615
maxloc とかに dim 引数が入ったのは F95 以降で、
F90 時代は要素1個の配列を返されて誰もが窮していた。
Numerical Recipes の F90 版では、SUM(MAXLOC(a)) みたいな形でこの問題を
避けていたが、俺的にはこれは無いなって感じだった。(元々あんまいい本じゃなかったし)
仕方ないから律儀に要素1個の配列を宣言して使っていて、もう解決策はないと諦めていた。
なので f95 が出てからも、この方法に全く気付かずにいた。
ある日、他人のソース眺めていて、1次元配列なのに maxloc の類で dim
引数指定していたのがあって、こいつ馬鹿じゃねーのwwwと思ってよく見たら
このスカラー返しのテクニックだった。馬鹿なのは私でした。
たぶん10年以上無駄な1要素配列のプログラム書いていたwww
maxloc とかに dim 引数が入ったのは F95 以降で、
F90 時代は要素1個の配列を返されて誰もが窮していた。
Numerical Recipes の F90 版では、SUM(MAXLOC(a)) みたいな形でこの問題を
避けていたが、俺的にはこれは無いなって感じだった。(元々あんまいい本じゃなかったし)
仕方ないから律儀に要素1個の配列を宣言して使っていて、もう解決策はないと諦めていた。
なので f95 が出てからも、この方法に全く気付かずにいた。
ある日、他人のソース眺めていて、1次元配列なのに maxloc の類で dim
引数指定していたのがあって、こいつ馬鹿じゃねーのwwwと思ってよく見たら
このスカラー返しのテクニックだった。馬鹿なのは私でした。
たぶん10年以上無駄な1要素配列のプログラム書いていたwww
617デフォルトの名無しさん
2014/09/26(金) 01:28:02.38ID:sHXJvEEg618デフォルトの名無しさん
2014/09/26(金) 02:38:03.65ID:jeu5JnPX >>617
配列 a(7) = (/ 2,3,4,5,8,5,4 )/ があるとする。
最大値の位置を返す組み込み関数 maxloc に a を渡すと maxloc(a) は
1次元で1要素の配列 (/5/) を返す。
これを左辺で取るには integer :: m(1) が必要。スカラー変数では受け取れない。
m = maxloc( a ) !ok ; integer :: n ; n = maxloc(a) !error
要するに do i = 1, maxloc(a) は、do i = 1, m(:) と同じ意味になり文法エラーが出る。
>>612 の質問は、do i = 1, m(1) に当たる事を実行したいので、
配列をスカラー値に戻す方法はないか?と質問している。
それに対する>>614の答えは、maxloc( a, dim = 1 ) を使えと言っている。
これは配列の要素を返す。普通は多次元配列に対して用いて、行や列の成分を
取りだすのに使う。
配列 a(7) = (/ 2,3,4,5,8,5,4 )/ があるとする。
最大値の位置を返す組み込み関数 maxloc に a を渡すと maxloc(a) は
1次元で1要素の配列 (/5/) を返す。
これを左辺で取るには integer :: m(1) が必要。スカラー変数では受け取れない。
m = maxloc( a ) !ok ; integer :: n ; n = maxloc(a) !error
要するに do i = 1, maxloc(a) は、do i = 1, m(:) と同じ意味になり文法エラーが出る。
>>612 の質問は、do i = 1, m(1) に当たる事を実行したいので、
配列をスカラー値に戻す方法はないか?と質問している。
それに対する>>614の答えは、maxloc( a, dim = 1 ) を使えと言っている。
これは配列の要素を返す。普通は多次元配列に対して用いて、行や列の成分を
取りだすのに使う。
619デフォルトの名無しさん
2014/09/28(日) 02:23:58.55ID:qwG5nd4I >>618
1次元配列の特定の1つの値を返すのに、それは1次元の1要素の「配列」として返されるからdo文では使えないということですね。それが配列の次元(dimension)を1と言うと解決するあたりがしっくりきませんね・・・。
1次元配列の特定の1つの値を返すのに、それは1次元の1要素の「配列」として返されるからdo文では使えないということですね。それが配列の次元(dimension)を1と言うと解決するあたりがしっくりきませんね・・・。
620デフォルトの名無しさん
2014/09/28(日) 03:11:58.13ID:W6jZi88T >>619
多次元配列を maxloc に渡すと、最大値の座標を (/ 1, 2, 3 /) みたいな感じで
一次元配列で返す。 この成分を取り出すのが dim 引数。
1要素配列でも成分取り出せる。
まぁしっくりくるまで文法書を舐めるように読んでくれprpr
多次元配列を maxloc に渡すと、最大値の座標を (/ 1, 2, 3 /) みたいな感じで
一次元配列で返す。 この成分を取り出すのが dim 引数。
1要素配列でも成分取り出せる。
まぁしっくりくるまで文法書を舐めるように読んでくれprpr
621デフォルトの名無しさん
2014/10/08(水) 00:58:36.59ID:9VdrGSON x(100)があるとして、計算しているのになぜか例えばx(40)から値が0になってしまいます
考えられる原因ないでしょうか
無茶ぶりですいません
考えられる原因ないでしょうか
無茶ぶりですいません
622デフォルトの名無しさん
2014/10/08(水) 01:09:28.89ID:fqHZeb8H さすがに無理
もう少しヒントをくれ玉へ
もう少しヒントをくれ玉へ
623デフォルトの名無しさん
2014/10/08(水) 07:15:04.02ID:90i0u9P7624デフォルトの名無しさん
2014/10/08(水) 08:00:58.16ID:99q9svOz 今時逝ってよしとかねえよ
625デフォルトの名無しさん
2014/10/08(水) 20:12:54.14ID:9VdrGSON626デフォルトの名無しさん
2014/10/09(木) 00:38:44.90ID:n00d9Wif627デフォルトの名無しさん
2014/10/09(木) 02:25:56.01ID:FBZt25be >>625
xが途中で変わってしまうなら
xの代入文や計算式が間違ってないか探す(特に範囲指定)
途中で変数を書き出し、変数の変化を追う
デバッガを使って変数に代入されるタイミングを調べる
くらいしか思い付かない
実は0になる計算をしていたなんてことはないよね
xが途中で変わってしまうなら
xの代入文や計算式が間違ってないか探す(特に範囲指定)
途中で変数を書き出し、変数の変化を追う
デバッガを使って変数に代入されるタイミングを調べる
くらいしか思い付かない
実は0になる計算をしていたなんてことはないよね
628デフォルトの名無しさん
2014/10/10(金) 03:19:01.38ID:OpKqoeIe まぁ大方書き込んだつもりになっているが、ループが39までしか回ってないという
パターンだろう。
初期値に1e38とかNaNとか書いておけばいい。
パターンだろう。
初期値に1e38とかNaNとか書いておけばいい。
629デフォルトの名無しさん
2014/10/11(土) 16:00:47.58ID:C1s+VS97 >逝ってよし
逝ってよし ってフレーズ最後に見たの何年前だろう?10年くらい前?
ちょっとクスッと来てしまった。
悪くないよ〜
逝ってよし ってフレーズ最後に見たの何年前だろう?10年くらい前?
ちょっとクスッと来てしまった。
悪くないよ〜
630デフォルトの名無しさん
2014/10/12(日) 11:19:06.43ID:Zy5yf7AD631デフォルトの名無しさん
2014/10/12(日) 22:43:53.80ID:q3BSJrqr gfortranで
call system(cd ..)
とやっても上のディレクトリに移動できません。
他のコマンドは動くのですが…
これは仕様なのでしょうか?
call system(cd ..)
とやっても上のディレクトリに移動できません。
他のコマンドは動くのですが…
これは仕様なのでしょうか?
632デフォルトの名無しさん
2014/10/13(月) 20:38:43.03ID:qvDo+/hC >>631
systemからのcd実行なら仕様。
別のshellが起動してcdを実行して処理を終了するので、呼び出しもとのshellとは無関係。
GNUならディレクトリを変更したい場合はCHDIRが使える。
systemからのcd実行なら仕様。
別のshellが起動してcdを実行して処理を終了するので、呼び出しもとのshellとは無関係。
GNUならディレクトリを変更したい場合はCHDIRが使える。
633デフォルトの名無しさん
2014/10/13(月) 21:42:58.17ID:BJqw9Buj634デフォルトの名無しさん
2014/10/14(火) 10:25:49.65ID:gGwwURe/ とか言って失敗しましたw CHDIRをつかうとshからpremission deniedと怒られます。
if (IPTCMD(1:3).eq.'cd ') then
DSTDIR=IPTCMD(4:)
call CHDIR(DSTDIR)
end if
のようなコードです。SELinuxのせいかと思いましたが違いました。
ご教示いただければ幸いです。
if (IPTCMD(1:3).eq.'cd ') then
DSTDIR=IPTCMD(4:)
call CHDIR(DSTDIR)
end if
のようなコードです。SELinuxのせいかと思いましたが違いました。
ご教示いただければ幸いです。
635デフォルトの名無しさん
2014/10/14(火) 10:53:43.84ID:gGwwURe/ 追加すると、cdコマンドは成功しています。でも、
sh: 1: ..: Permission denied
と怒られますw
sh: 1: ..: Permission denied
と怒られますw
636デフォルトの名無しさん
2014/10/17(金) 08:36:55.32ID:/3IlFIL9 素朴な疑問なんですが
write( *,101) n
write(10,101) n
こういう式って一行にまとめられないんですか
write( *,101) n
write(10,101) n
こういう式って一行にまとめられないんですか
637デフォルトの名無しさん
2014/10/17(金) 14:01:54.72ID:5NvG3gNF >>636
write ... ; write ,,,
write ... ; write ,,,
638デフォルトの名無しさん
2014/10/18(土) 03:21:07.25ID:1z7UQB1P 言い換えます
write( *,101) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
write( 10,101) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
write( 11,101) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
みたいな文を一行でまとめたいのです
write(10,101) n
write( *,101) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
write( 10,101) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
write( 11,101) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
みたいな文を一行でまとめたいのです
write(10,101) n
639デフォルトの名無しさん
2014/10/18(土) 04:32:28.37ID:pf8oYVZE 10,11だと外部ファイルか
それだと複数の装置番号に同時に出力する方法はない(0以上のスカラーでなければならない)
変数をまとめたいなら配列nにa-zを代入すればできる
それだと複数の装置番号に同時に出力する方法はない(0以上のスカラーでなければならない)
変数をまとめたいなら配列nにa-zを代入すればできる
640デフォルトの名無しさん
2014/10/18(土) 06:08:15.41ID:5RvmRbo5 >>638
出力するユニットが同じならサブルーチンでまとめれば良いんじゃない?
出力するユニットが同じならサブルーチンでまとめれば良いんじゃない?
641デフォルトの名無しさん
2014/10/18(土) 07:53:57.67ID:py32Gd52 fortranからRを呼び出すようなことはできないでしょうか?
system call?からRを呼び出すぐらいしかないでしょうかね?
system call?からRを呼び出すぐらいしかないでしょうかね?
642デフォルトの名無しさん
2014/10/18(土) 08:55:47.73ID:XNaq3m/i gnuplotでもそうだが
Rのソースをfortranで生成するようにして
system callから実行させればいいだろ
Rのソースをfortranで生成するようにして
system callから実行させればいいだろ
643デフォルトの名無しさん
2014/10/18(土) 09:10:45.91ID:XNaq3m/i644デフォルトの名無しさん
2014/10/18(土) 09:18:33.82ID:XNaq3m/i 考えてみれば四行に増えたなwwwwwww
645デフォルトの名無しさん
2014/10/19(日) 01:11:43.08ID:66Dn4RCH たしか coarray を使うとプロセスが複数走って、それぞれのプロセスで
別々にI/Oできるから形式上は1行でできるぞ。
まぁこれがやりたいことではないのは重々承知だがwww
別々にI/Oできるから形式上は1行でできるぞ。
まぁこれがやりたいことではないのは重々承知だがwww
646デフォルトの名無しさん
2014/10/19(日) 13:24:38.74ID:jrAJRFBN647デフォルトの名無しさん
2014/10/20(月) 00:32:03.39ID:w06RwgSj 配列内の最大最小を、区間指定でできませんか?
maxだとできなかったんですが
maxだとできなかったんですが
648デフォルトの名無しさん
2014/10/20(月) 01:10:20.17ID:Q283dmtl 区間指定ってなんだよw
maxlocのことか?それともmaxval(a(20:20))のことか?
他人に理解できる表現で頼むぜw
maxlocのことか?それともmaxval(a(20:20))のことか?
他人に理解できる表現で頼むぜw
649デフォルトの名無しさん
2014/10/21(火) 04:04:46.35ID:dBWrLa1J >>647
部分配列に代入して、maxを使うという意味?
部分配列に代入して、maxを使うという意味?
650デフォルトの名無しさん
2014/10/21(火) 08:48:40.55ID:RmR2qSHy >615
亀レスですが、最適な刻み幅については、
森口繁一『数値計算術』に
「題4章 刻み幅の自動調節」
という記述があります。
ご参考までに
亀レスですが、最適な刻み幅については、
森口繁一『数値計算術』に
「題4章 刻み幅の自動調節」
という記述があります。
ご参考までに
651デフォルトの名無しさん
2014/10/22(水) 21:06:47.85ID:ZWb1Adxr652デフォルトの名無しさん
2014/10/23(木) 00:20:38.34ID:uxreCuFc653デフォルトの名無しさん
2014/10/23(木) 00:27:54.57ID:ULvaqeb6 ならば MAXVAL(a(10:20)) だ。
654デフォルトの名無しさん
2014/10/23(木) 08:52:15.53ID:afuBwKUi >652
p.195〜206
なおプログラムはpascalで書かれています
p.195〜206
なおプログラムはpascalで書かれています
655デフォルトの名無しさん
2014/10/23(木) 23:13:40.41ID:lbc4SK47 >>653
できました!ありがとうございました
できました!ありがとうございました
656ホモおじさん
2014/10/24(金) 00:54:53.39ID:vm5n6mmb657デフォルトの名無しさん
2014/10/24(金) 01:31:35.96ID:IV+qiUp4658ホモおじさん
2014/10/24(金) 03:18:53.64ID:vm5n6mmb >>657
xが大きい方で計算したいなら通分して 1/(1-exp(-x)) の形で計算するのが定石だが、
どっちにしろ x=20〜30くらいでもう 1/1=1 でその先は無理に計算しなくてもいい。
この辺は数値計算術にいっぱい書いてある。
森口繁一の本は古いけど結構面白い。
数値計算術〜計算数学夜話<<数値計算工学の感じで真面目になる。
それにつけても蔵王のお釜が白濁液まみれというニュースが興味深いよね。
xが大きい方で計算したいなら通分して 1/(1-exp(-x)) の形で計算するのが定石だが、
どっちにしろ x=20〜30くらいでもう 1/1=1 でその先は無理に計算しなくてもいい。
この辺は数値計算術にいっぱい書いてある。
森口繁一の本は古いけど結構面白い。
数値計算術〜計算数学夜話<<数値計算工学の感じで真面目になる。
それにつけても蔵王のお釜が白濁液まみれというニュースが興味深いよね。
659デフォルトの名無しさん
2014/10/28(火) 00:52:02.95ID:UO1zyFOr Fortran で realloc に相当することをやりたんだけど、どうしたらいいでしょうぁ。
660デフォルトの名無しさん
2014/10/28(火) 03:20:58.44ID:1iw7NGT6 >>659
宣言でallocatable
使う前にallocateで割り当て
大きさ変える前にdeallocateしてallocateで再割り当て
中身を確実に保存したかったらdeallocate前に別の変数にコピー
これで一応配列の大きさを変えれる
宣言でallocatable
使う前にallocateで割り当て
大きさ変える前にdeallocateしてallocateで再割り当て
中身を確実に保存したかったらdeallocate前に別の変数にコピー
これで一応配列の大きさを変えれる
661デフォルトの名無しさん
2014/10/28(火) 03:55:09.13ID:2ZNKkFIp Fortran2003なら move_alloc を使う。
alloctae(tmp(new_size))
new_size(1:size(array)) = array
call move_alloc(tmp, array)
move_alloc は番地(ポインタ)を写すだけなのでメモリー内容のコピーは1回で済む。
modern fortran explained 15.5.3 Transferring an allocation 参照
alloctae(tmp(new_size))
new_size(1:size(array)) = array
call move_alloc(tmp, array)
move_alloc は番地(ポインタ)を写すだけなのでメモリー内容のコピーは1回で済む。
modern fortran explained 15.5.3 Transferring an allocation 参照
662デフォルトの名無しさん
2014/10/29(水) 00:46:52.02ID:RDb2D61y ちょっとスレチかもしれませんが…
無限級数の和が1になるものうち、\Sigma^{\infty}_{0} (1/2)^n よりも収束速度がゆっくりなものって何かありますか?
刻み幅に使いたいんですが中々思いつかないですm(__)m
無限級数の和が1になるものうち、\Sigma^{\infty}_{0} (1/2)^n よりも収束速度がゆっくりなものって何かありますか?
刻み幅に使いたいんですが中々思いつかないですm(__)m
663デフォルトの名無しさん
2014/10/29(水) 12:33:02.25ID:HQN23iJw 質問がおかしいので、たぶん刻み幅っていうより問題設定が間違っている。
664デフォルトの名無しさん
2014/10/30(木) 00:25:40.34ID:BI8qle6I >>663
つまりは足し上げて1に収束するような数列を知りたいんです。
(1/2)+(1/2)^2+(1/2)^3+(1/2)^4+.....+(1/2)^n->1 ですよね?
これだと収束スピードが速すぎるので、もう少し緩めに収束する数列を知りたいんです
つまりは足し上げて1に収束するような数列を知りたいんです。
(1/2)+(1/2)^2+(1/2)^3+(1/2)^4+.....+(1/2)^n->1 ですよね?
これだと収束スピードが速すぎるので、もう少し緩めに収束する数列を知りたいんです
665デフォルトの名無しさん
2014/10/30(木) 22:03:37.99ID:jLdY1ojF intel fortran compilerが、非商用版があると聞いたんですけど
ホームページに行ってもありませんでした
もう非商用版は終了したんでしょうか
ホームページに行ってもありませんでした
もう非商用版は終了したんでしょうか
666デフォルトの名無しさん
2014/10/30(木) 23:06:25.70ID:BI8qle6I >>665
ありますよ
ありますよ
667デフォルトの名無しさん
2014/10/30(木) 23:08:34.49ID:jLdY1ojF668デフォルトの名無しさん
2014/10/30(木) 23:46:30.56ID:BI8qle6I >>667
ttp://pen.agbi.tsukuba.ac.jp/~RStiger/hiki2/?Fortran+(Intel+Parallel+Studio+XE)+%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8
この辺参考にしましたよ(^^)
ttp://pen.agbi.tsukuba.ac.jp/~RStiger/hiki2/?Fortran+(Intel+Parallel+Studio+XE)+%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8
この辺参考にしましたよ(^^)
669デフォルトの名無しさん
2014/10/31(金) 06:45:08.15ID:vB//dhHV 非商用ページにたどり着く方法, 頻繁に変わって不便だよなあ
ライセンス登録して.licファイルなりシリアルコードなり持ってるなら直接DLするって手もあるが
ttp://registrationcenter-download.intel.com/akdlm/irc_nas/4584/parallel_studio_xe_2015.tgz
ライセンス登録して.licファイルなりシリアルコードなり持ってるなら直接DLするって手もあるが
ttp://registrationcenter-download.intel.com/akdlm/irc_nas/4584/parallel_studio_xe_2015.tgz
670デフォルトの名無しさん
2014/10/31(金) 18:03:58.39ID:NN74lK+x671デフォルトの名無しさん
2014/11/01(土) 22:28:08.66ID:wAFS/Rlb amazon ec2で計算してる人いる?
672デフォルトの名無しさん
2014/11/02(日) 10:01:51.45ID:P1O0Zm4b >669
御呈示のアドレスはLinux版ですが、Windows版
について情報をおもちではないでしょうか
御呈示のアドレスはLinux版ですが、Windows版
について情報をおもちではないでしょうか
673デフォルトの名無しさん
2014/11/02(日) 10:23:39.60ID:Y+tjsjxk674デフォルトの名無しさん
2014/11/02(日) 20:58:20.47ID:r8jFoIGa 乞食か
675デフォルトの名無しさん
2014/11/06(木) 01:07:08.08ID:NBIHQ5C4 Linux版以外も学生非商用は無料だろ。
676デフォルトの名無しさん
2014/11/06(木) 07:51:33.96ID:lC8feXNL >>675
嘘つくなよ、ゴミ屑
嘘つくなよ、ゴミ屑
677デフォルトの名無しさん
2014/11/16(日) 23:31:47.83ID:jtA73LXf 2つの実測値の相関係数を出したいのですが、
fortranでできないでしょうか
実測値は単純な直線傾向ではないです
エクセルで手動でやることも考えたのですが、
実測値が100ケースほどあって、
今後も増えることを考えるとプログラムで作りたいと思いました
もしよければアドバイスいただけないでしょうか
fortranでできないでしょうか
実測値は単純な直線傾向ではないです
エクセルで手動でやることも考えたのですが、
実測値が100ケースほどあって、
今後も増えることを考えるとプログラムで作りたいと思いました
もしよければアドバイスいただけないでしょうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★8 [おっさん友の会★]
- 【外交】前台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」 [1ゲットロボ★]
- Bloomberg「やり過ぎた中国、高市首相の政策遂行手助け」 [481941988]
- 【高市悲報】なんか優しそうな普通の人「政治のことは分からんけど小野田紀美さんはメディアを嫌ってるところとか好き☺」 [771977901]
- 杉村太蔵、新人議員時代の「料亭行ってみたい」発言を回顧 「コメンテーターから『日本は終わった』とまで言われた」 [309323212]
- 高市コイン、ガチで156円突入へwwwwwwwwww [246620176]
- 中国政府、日本人のビザ免除停止、鬼滅の刃公開停止を検討へ [271912485]
- 日本人気付く「今思うとアメリカとも中国とも上手くやれてた安倍晋三ってガチで凄かったんだな」 [218488394]
