このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
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
679デフォルトの名無しさん
2014/11/17(月) 13:53:58.07ID:jwH5O+V+ >>678
Octave でもいいんじゃないの?
Octave でもいいんじゃないの?
680デフォルトの名無しさん
2014/11/17(月) 18:52:41.93ID:yxNOhCMR681デフォルトの名無しさん
2014/12/13(土) 01:43:27.96ID:IhMrPb/B Fortranで書かれている遺伝的アルゴリズムのライブラリが
手に入るところはないでしょうか
手に入るところはないでしょうか
2014/12/13(土) 18:32:39.00ID:ycSbkqQR
683デフォルトの名無しさん
2014/12/15(月) 00:30:38.37ID:+0+wnp46 MPICH または OPENMPI で Fortran2008 bindings を使う方法を教えろ下さい。
ドキュメントにはサポートと書いてあるが、インストールしても MPI_F08.MOD が
生成されない@Ubuntu
どうか助けろ下さい。こっちのスレへ行けという指示でもおk
ドキュメントにはサポートと書いてあるが、インストールしても MPI_F08.MOD が
生成されない@Ubuntu
どうか助けろ下さい。こっちのスレへ行けという指示でもおk
684デフォルトの名無しさん
2014/12/15(月) 19:55:14.30ID:oICLvczS ランダム生成のコードのについて質問です。
ifortではコンパイルできたのですが、gfortranではエラーが出ました。
以下がエラーメッセージです。
""$ gfortran routine.f90
routine.f90:32.25:
call random_seed( put = (/c * 999/) )
Error: Size of 'put' argument of 'random_seed' intrinsic at (1) too small (1/12)""
putの大きさが本質的に小さすぎる、や(=c とした時)本質的に配列である。といったメッセージだと思い、いじってみたのですが解決方法が分かりません。よろしくお願いします。
あと / ~ / のスラッシュの意味もよろしければお願いします。
ifortではコンパイルできたのですが、gfortranではエラーが出ました。
以下がエラーメッセージです。
""$ gfortran routine.f90
routine.f90:32.25:
call random_seed( put = (/c * 999/) )
Error: Size of 'put' argument of 'random_seed' intrinsic at (1) too small (1/12)""
putの大きさが本質的に小さすぎる、や(=c とした時)本質的に配列である。といったメッセージだと思い、いじってみたのですが解決方法が分かりません。よろしくお願いします。
あと / ~ / のスラッシュの意味もよろしければお願いします。
685デフォルトの名無しさん
2014/12/15(月) 20:47:21.21ID:vJVAgy9L 試しにgfortran4.9でrandom_seed(size=i)(iはinteger)を実行したらi=12だった
つまりgfortranの場合はputの引数が大きさ12以上の1次元整数配列でなければならない
(/c*999/)は大きさ1の1次元配列で、その値がc*999という意味だからエラーになる
つまりgfortranの場合はputの引数が大きさ12以上の1次元整数配列でなければならない
(/c*999/)は大きさ1の1次元配列で、その値がc*999という意味だからエラーになる
686デフォルトの名無しさん
2014/12/15(月) 20:51:20.48ID:waUBgqmC687デフォルトの名無しさん
2014/12/15(月) 22:17:44.08ID:oICLvczS >>685
丁寧な説明ありがとうございます。
cを配列にすると上あるシステムクロックのcountの取得のところでエラーが出てと堂々めぐりをしてましたが、シードが12の配列でも要素一つ変えれば乱数にはなるということなんですね。
スラッシュが配列を表しているとは気づきませんでした。勉強になります。
丁寧な説明ありがとうございます。
cを配列にすると上あるシステムクロックのcountの取得のところでエラーが出てと堂々めぐりをしてましたが、シードが12の配列でも要素一つ変えれば乱数にはなるということなんですね。
スラッシュが配列を表しているとは気づきませんでした。勉強になります。
688デフォルトの名無しさん
2014/12/17(水) 02:40:01.63ID:5R4Eyqcc LU分解のサブルーチンが作れません(ToT)
サンプルがあったらください…
サンプルがあったらください…
689デフォルトの名無しさん
2014/12/17(水) 02:41:44.43ID:5R4Eyqcc >>688
検索して、それっぽいのが出てきたんですがメインプログラムに噛ませてもうまくいきませんでした…
検索して、それっぽいのが出てきたんですがメインプログラムに噛ませてもうまくいきませんでした…
690デフォルトの名無しさん
2014/12/18(木) 08:43:35.24ID:BU61zCPz >>689
なら氏ね
なら氏ね
691デフォルトの名無しさん
2014/12/18(木) 14:54:41.87ID:8HGauugM MacOSX10.10.1, gfortran4.9にてコンパイル後、実行時に発生する下記のエラーの解決策はあるのでしょうか?
At line 68 of file test.f90 (unit = 1, file = 'parameter.txt')
Fortran runtime error: Cannot match namelist object name 44
namelistの不一致は見当たらず、Windows7, g95では正常に動作しました。
At line 68 of file test.f90 (unit = 1, file = 'parameter.txt')
Fortran runtime error: Cannot match namelist object name 44
namelistの不一致は見当たらず、Windows7, g95では正常に動作しました。
692デフォルトの名無しさん
2014/12/18(木) 23:40:19.37ID:jd6kmeGe 計算流体力学を習い初めの学生なんですが、Radeonでfortranの計算をする場合にはどのソフトをインストールすればいいのでしょうか?
MinGW Command PromptとTDM-GCC-64というのを使っています。
出来ればインストール方法が書かれたページも一緒に知りたいです。
MinGW Command PromptとTDM-GCC-64というのを使っています。
出来ればインストール方法が書かれたページも一緒に知りたいです。
693デフォルトの名無しさん
2014/12/19(金) 20:10:17.60ID:nJn0njjQ open文で開いたcsvファイルをread(51,*)〜〜などで
読み込む操作が何回かある場合、
並列化はできたりしないでしょうか
読み書きはやっぱり並列化は無理でしょうか
読み込む操作が何回かある場合、
並列化はできたりしないでしょうか
読み書きはやっぱり並列化は無理でしょうか
694デフォルトの名無しさん
2014/12/20(土) 11:31:57.54ID:9/Q8xBDD 『if … else if … end if』と『select case …』はどっちが速いのか,ふと思って計測してみた.
cygwin gcc 4.8.3@core-i5で繰り返し計測してみたけど,時間差はばらつきの範囲内で有意な差はなさそうな感じ.
二つの構文ともCPU時間同じ,機能も同じで,いまいち,使い分け方が分からないんだよねぇ...
使ったコードはこれ↓
module mod_util
implicit none
integer(kind=4) :: t1, t2, t_rate, t_max, t_diff
contains
real(8) function elapsedTime()
implicit none
call SYSTEM_CLOCK(t2, t_rate, t_max)
if ( t2 < t1 ) then
t_diff = t_max - t1 + t2
else
t_diff = t2 - t1
endif
elapsedTime = t_diff/real(t_rate)
end function elapsedTime
end module mod_util
cygwin gcc 4.8.3@core-i5で繰り返し計測してみたけど,時間差はばらつきの範囲内で有意な差はなさそうな感じ.
二つの構文ともCPU時間同じ,機能も同じで,いまいち,使い分け方が分からないんだよねぇ...
使ったコードはこれ↓
module mod_util
implicit none
integer(kind=4) :: t1, t2, t_rate, t_max, t_diff
contains
real(8) function elapsedTime()
implicit none
call SYSTEM_CLOCK(t2, t_rate, t_max)
if ( t2 < t1 ) then
t_diff = t_max - t1 + t2
else
t_diff = t2 - t1
endif
elapsedTime = t_diff/real(t_rate)
end function elapsedTime
end module mod_util
695694
2014/12/20(土) 11:33:00.40ID:9/Q8xBDD program testSelectIf
use mod_util, only : t1, elapsedTime
implicit none
real (kind=8) :: randX
integer(kind=4) :: i, j, randI
#ifdef ifelse
write(*,'("# if ... else if ... ")')
#else
write(*,'("# select case")')
#endif
call init_randomSeed(972384)
call SYSTEM_CLOCK(t1)
do i = 1, 100000000
call random_number(randX)
randI = int( randX * 10, kind=4 )
#ifdef ifelse
if ( randI == 1 ) then; j = j + 1
else if ( randI == 2 ) then; j = j - 2
else if ( randI == 3 ) then; j = j + 3
else if ( randI == 4 ) then; j = j - 4
else if ( randI == 5 ) then; j = j + 5
else if ( randI == 6 ) then; j = j - 6
else if ( randI == 7 ) then; j = j + 7
else if ( randI == 8 ) then; j = j - 8
else if ( randI == 9 ) then; j = j + 9
else if ( randI ==10 ) then; j = j - 10
use mod_util, only : t1, elapsedTime
implicit none
real (kind=8) :: randX
integer(kind=4) :: i, j, randI
#ifdef ifelse
write(*,'("# if ... else if ... ")')
#else
write(*,'("# select case")')
#endif
call init_randomSeed(972384)
call SYSTEM_CLOCK(t1)
do i = 1, 100000000
call random_number(randX)
randI = int( randX * 10, kind=4 )
#ifdef ifelse
if ( randI == 1 ) then; j = j + 1
else if ( randI == 2 ) then; j = j - 2
else if ( randI == 3 ) then; j = j + 3
else if ( randI == 4 ) then; j = j - 4
else if ( randI == 5 ) then; j = j + 5
else if ( randI == 6 ) then; j = j - 6
else if ( randI == 7 ) then; j = j + 7
else if ( randI == 8 ) then; j = j - 8
else if ( randI == 9 ) then; j = j + 9
else if ( randI ==10 ) then; j = j - 10
696694
2014/12/20(土) 11:33:45.85ID:9/Q8xBDD end if
#else
select case (randI)
case ( 1 ); j = j + 1
case ( 2 ); j = j - 2
case ( 3 ); j = j + 3
case ( 4 ); j = j - 4
case ( 5 ); j = j + 5
case ( 6 ); j = j - 6
case ( 7 ); j = j + 7
case ( 8 ); j = j - 8
case ( 9 ); j = j + 9
case ( 10 ); j = j - 10
end select
#endif
end do
write(*,'("j=",I0)') j
write(*,'("#time:", F10.3)') elapsedTime()
end program testSelectIf
#else
select case (randI)
case ( 1 ); j = j + 1
case ( 2 ); j = j - 2
case ( 3 ); j = j + 3
case ( 4 ); j = j - 4
case ( 5 ); j = j + 5
case ( 6 ); j = j - 6
case ( 7 ); j = j + 7
case ( 8 ); j = j - 8
case ( 9 ); j = j + 9
case ( 10 ); j = j - 10
end select
#endif
end do
write(*,'("j=",I0)') j
write(*,'("#time:", F10.3)') elapsedTime()
end program testSelectIf
697デフォルトの名無しさん
2014/12/21(日) 02:39:49.62ID:+T8Tju2f >>693
I/O中に計算とかしたいという意味での並列化なら、F2003でasynchronous I/Oが出来る
ようになった。同じファイルの別々の位置のデータを並列に読み出したいという意味なら
そもそもハードウェア的に無理だろう。
>>694
最適化の問題というより、計算型GOTOの後継機能といったものではないか?
構造化プログラミングがホットだった時代は、GOTO 文を追放するための基本構造
のひとつとされていた気がする。
CASE文の中に入るのが、整数型、文字型、論理型のように離散値をとる場合に
限られるので、IF..ELSE IFの連鎖との使い分けは、比較で=が意味を持つ型か
或いは実数型などのように=があったとしても基本的に<、>的な大小比較しか
意味を持たない場合を、意識して明示的に区別していますよというアピールではないか。
I/O中に計算とかしたいという意味での並列化なら、F2003でasynchronous I/Oが出来る
ようになった。同じファイルの別々の位置のデータを並列に読み出したいという意味なら
そもそもハードウェア的に無理だろう。
>>694
最適化の問題というより、計算型GOTOの後継機能といったものではないか?
構造化プログラミングがホットだった時代は、GOTO 文を追放するための基本構造
のひとつとされていた気がする。
CASE文の中に入るのが、整数型、文字型、論理型のように離散値をとる場合に
限られるので、IF..ELSE IFの連鎖との使い分けは、比較で=が意味を持つ型か
或いは実数型などのように=があったとしても基本的に<、>的な大小比較しか
意味を持たない場合を、意識して明示的に区別していますよというアピールではないか。
698694
2014/12/22(月) 19:17:39.41ID:mnW7xu7L699デフォルトの名無しさん
2014/12/22(月) 21:51:51.17ID:KCseyMpL >>697
ありがとうございます
やりたかったことはcsvファイルがいくつかあり、
それを順番に読み込みreadするdoループを並列化できないかなということでした
教えていただいた後者の方にあたりそうな気がしまして、
勉強になりました。
ありがとうございます
やりたかったことはcsvファイルがいくつかあり、
それを順番に読み込みreadするdoループを並列化できないかなということでした
教えていただいた後者の方にあたりそうな気がしまして、
勉強になりました。
700デフォルトの名無しさん
2014/12/23(火) 16:29:15.14ID:gTJoh1O6 永らくFORTRAN77で飯を食ってたのですが,より新しいFORTRANへ移行してみたくなりました
なにか良書はありましょうか?
職業プログラマで社内で請負で流体や構造体のメッシャーを組んでます
まあ,ベースのプログラムも77,新規も77縛りの事が多いので特に困ってはないのです
しかし,昔,汎用機世代の6しか書けないような先輩方を古臭いと笑っていたのですが自分もそんな年になってしまい
後輩らに笑われたくないので,ちょっと勉強しておきたいと考えています
世の90の初心本(それ以降は書店でも見ないなー)等は基本的な制御構文等が厚く書かれており
ホントに身に着けたい新たな概念のintent等がおざなりになってしまっています
古臭い77書きに光を......
#C++もやってるのでクラスの概念なんかも問題はありません
なにか良書はありましょうか?
職業プログラマで社内で請負で流体や構造体のメッシャーを組んでます
まあ,ベースのプログラムも77,新規も77縛りの事が多いので特に困ってはないのです
しかし,昔,汎用機世代の6しか書けないような先輩方を古臭いと笑っていたのですが自分もそんな年になってしまい
後輩らに笑われたくないので,ちょっと勉強しておきたいと考えています
世の90の初心本(それ以降は書店でも見ないなー)等は基本的な制御構文等が厚く書かれており
ホントに身に着けたい新たな概念のintent等がおざなりになってしまっています
古臭い77書きに光を......
#C++もやってるのでクラスの概念なんかも問題はありません
701デフォルトの名無しさん
2014/12/23(火) 16:43:41.88ID:AyCexUV4 日本語の書籍に関しては仰る通りで、特に2003以降は全くないはず
まずはnagのサイトにあるFortran入門とFortran 2003入門が無難かと
ただ、これらは規格を網羅してるわけではないので
完全な仕様を知りたい場合はコンパイラのマニュアルや
JIS規格(JIS X 3001-1:2009)も参照する必要あり
まずはnagのサイトにあるFortran入門とFortran 2003入門が無難かと
ただ、これらは規格を網羅してるわけではないので
完全な仕様を知りたい場合はコンパイラのマニュアルや
JIS規格(JIS X 3001-1:2009)も参照する必要あり
702デフォルトの名無しさん
2014/12/23(火) 20:48:23.28ID:gTJoh1O6 >694
selectは単一の変数でしか使えないよ
selectはどうかするとジャンプテーブルで一発の比較で処理してくれる可能性が高い
最近のコンパイラはelseifでもそうするとか聞くけど,どうだろうね?
elseifは良く引っかかるのを前に持って来て早めに引っ掛ける事ができるとかも聞くねー
個人的には,読みやすさを優先するなー
#Cのswitchの議論と同じなので探してみると良いよ
selectは単一の変数でしか使えないよ
selectはどうかするとジャンプテーブルで一発の比較で処理してくれる可能性が高い
最近のコンパイラはelseifでもそうするとか聞くけど,どうだろうね?
elseifは良く引っかかるのを前に持って来て早めに引っ掛ける事ができるとかも聞くねー
個人的には,読みやすさを優先するなー
#Cのswitchの議論と同じなので探してみると良いよ
703700
2014/12/23(火) 20:51:07.24ID:gTJoh1O6 ありがとうございます
まずはサイトのそれらを読んでみます
その後は......JISかー,読みやすさを優先してくれないからなー
コンパイラのマニュアルは殆ど英語になるのが悲しい
まずはサイトのそれらを読んでみます
その後は......JISかー,読みやすさを優先してくれないからなー
コンパイラのマニュアルは殆ど英語になるのが悲しい
704デフォルトの名無しさん
2014/12/23(火) 23:30:23.88ID:pDBo2/8d >700,703
Fortran90の日本語の解説本で良いなら、
bit別冊 詳解Fortran90 1993年12月号別冊 共立出版
という本があります。これは『Fortran90 Explained』の日本語訳です。
但し、雑誌の別冊ということもあり入手は極めて困難でしょう。
あるとすれば、理工系の大学図書館が一番可能性が高いと思います。
参考までにどうぞ。
Fortran90の日本語の解説本で良いなら、
bit別冊 詳解Fortran90 1993年12月号別冊 共立出版
という本があります。これは『Fortran90 Explained』の日本語訳です。
但し、雑誌の別冊ということもあり入手は極めて困難でしょう。
あるとすれば、理工系の大学図書館が一番可能性が高いと思います。
参考までにどうぞ。
705デフォルトの名無しさん
2014/12/29(月) 01:02:13.12ID:hjLOuT9S Fortranを使われている方は他にはどんな言語を扱っているのですか?
pythonとかでしょうか
pythonとかでしょうか
706デフォルトの名無しさん
2014/12/29(月) 09:04:30.59ID:6EMRS7hN >>705
perl
perl
707デフォルトの名無しさん
2015/01/04(日) 14:13:23.64ID:OaA6oEKz >>700
おいらもFORTRAN77使いなんで、小文字のプログラムに違和感ありまくり
おいらもFORTRAN77使いなんで、小文字のプログラムに違和感ありまくり
708デフォルトの名無しさん
2015/01/04(日) 16:56:46.08ID:Ydg+fj8+ >>707
こっちはfortran90からの新参なんで、77のソース見ると大文字、goto文ありでなかなか新鮮です。
ところでfortran2003の機能すべてカバーしてるコンパイラは商用しかないのかな。
gfortran使いなんでカナピー(´・_・`)
こっちはfortran90からの新参なんで、77のソース見ると大文字、goto文ありでなかなか新鮮です。
ところでfortran2003の機能すべてカバーしてるコンパイラは商用しかないのかな。
gfortran使いなんでカナピー(´・_・`)
709デフォルトの名無しさん
2015/01/04(日) 20:02:59.44ID:1HVLEOms 商用だけですな
しかし商用Fortranコンパイラは趣味で買うには高すぎるので
gfortranが対応してる範囲で書いてます
しかし商用Fortranコンパイラは趣味で買うには高すぎるので
gfortranが対応してる範囲で書いてます
710デフォルトの名無しさん
2015/01/04(日) 23:43:36.28ID:YPIAtxeL711デフォルトの名無しさん
2015/01/04(日) 23:48:08.93ID:YPIAtxeL712デフォルトの名無しさん
2015/01/05(月) 11:27:48.33ID:dcVDuqIP >>710
勉強用なら
VirtualBox(個人使用は無料だったハズ) + Ubuntu日本語Remix仮想ハードディスクイメージ
で、とりあえずLinux環境作っちゃうのも手なんかね
…もちろん、LinuxやBSDに詳しい人にはこの構成では不満が出てくるだろうが
(特にUbuntuの標準GUI、嫌いな人結構多いしな)
知らん人がサクッとUnix系の環境作るには楽だと思った
勉強用なら
VirtualBox(個人使用は無料だったハズ) + Ubuntu日本語Remix仮想ハードディスクイメージ
で、とりあえずLinux環境作っちゃうのも手なんかね
…もちろん、LinuxやBSDに詳しい人にはこの構成では不満が出てくるだろうが
(特にUbuntuの標準GUI、嫌いな人結構多いしな)
知らん人がサクッとUnix系の環境作るには楽だと思った
713デフォルトの名無しさん
2015/01/05(月) 12:04:08.73ID:IJbwWfwV >>712
>VirtualBox(個人使用は無料だったハズ) + Ubuntu日本語Remix仮想ハードディスクイメージ
>で、とりあえずLinux環境作っちゃうのも手なんかね
Fortranの勉強のためならこれが正解だと思う。わざわざLinux用の領域をハードディスク上に
確保して…というのは面倒だしね。自分も次は仮想マシンを使うと思う。
UbuntuのGUIが気に入らない場合は、VirtualBoxにインストールできるか知らないけれど、
RHELクローンやOpenSUSEもあることだし。
>VirtualBox(個人使用は無料だったハズ) + Ubuntu日本語Remix仮想ハードディスクイメージ
>で、とりあえずLinux環境作っちゃうのも手なんかね
Fortranの勉強のためならこれが正解だと思う。わざわざLinux用の領域をハードディスク上に
確保して…というのは面倒だしね。自分も次は仮想マシンを使うと思う。
UbuntuのGUIが気に入らない場合は、VirtualBoxにインストールできるか知らないけれど、
RHELクローンやOpenSUSEもあることだし。
714デフォルトの名無しさん
2015/01/05(月) 12:13:27.17ID:K2pJxzU2 VirtualBoxに入れるLinuxなんて、GUI抜きで容量減らしてインストールして
sshでもっと使い易い端末エミュレーターから操作するのが普通じゃないか
sshでもっと使い易い端末エミュレーターから操作するのが普通じゃないか
715デフォルトの名無しさん
2015/01/05(月) 12:35:46.63ID:dcVDuqIP >>714
もちろんそれが理想的だし、解ってりゃ大したことないんだけどね
もちろんそれが理想的だし、解ってりゃ大したことないんだけどね
716デフォルトの名無しさん
2015/01/07(水) 02:53:13.20ID:2xplb8o3 でも最近の Linux intel fortran も windows と同じ GUI でインストールできる
ようになってるし〜 楽ちんしたいのよ〜
ようになってるし〜 楽ちんしたいのよ〜
717デフォルトの名無しさん
2015/01/09(金) 00:18:45.90ID:osa1YwUn ifortやgfortranのオプションについて教えてください.
Makefileを書くとき,コンパイルオプションやリンクオプションをCFLAGSとLDFLAGSに分けて書くのが一般的みたいですが,
Intel Fortranコンパイラのユーザー・リファレンス・ガイドやgfortran/gccのマニュアルを読んでも,
どのオプションがコンパイルオプションで,どれがリンクオプションか明記されていませんよね?
コンパイラとリンカに与えるべきオプションは,それぞれ,どうやって見分けたら良いんでしょうか?
Makefileを書くとき,コンパイルオプションやリンクオプションをCFLAGSとLDFLAGSに分けて書くのが一般的みたいですが,
Intel Fortranコンパイラのユーザー・リファレンス・ガイドやgfortran/gccのマニュアルを読んでも,
どのオプションがコンパイルオプションで,どれがリンクオプションか明記されていませんよね?
コンパイラとリンカに与えるべきオプションは,それぞれ,どうやって見分けたら良いんでしょうか?
718デフォルトの名無しさん
2015/01/16(金) 00:14:55.27ID:ZBkPwkB6 intel fortranの非商用版終了したっぽいな
719デフォルトの名無しさん
2015/01/16(金) 07:28:02.50ID:zC22PbLh720デフォルトの名無しさん
2015/01/16(金) 10:37:10.07ID:gldaWoEV721デフォルトの名無しさん
2015/01/16(金) 11:08:31.95ID:pdIo+qaj >>720
ありがとうm(__)m
ありがとうm(__)m
722デフォルトの名無しさん
2015/01/20(火) 00:53:26.59ID:jj5OmV/0 薄汚い乞食が多すぎたんだな
723デフォルトの名無しさん
2015/01/20(火) 02:58:09.86ID:jVCDWxyp >>722
確かに研究用途で無償版使われているって書いてるな
確かに研究用途で無償版使われているって書いてるな
724デフォルトの名無しさん
2015/01/20(火) 16:42:37.43ID:kWeIi6xm すみません。本読んだりGoogle等で調べましたが、いまいちわからなかったので質問させてください。
result.datというデータの中にある本来17行21列で表示するデータが
#(A,B)
(1,0)
・
・
・
(17,0)
(0,1)
・
・
・
(17,1)
(0,2)
・
・
・
(17,2)
・
・
・
(17,20)
というように1列で表示されているデータがあります。
openを使ってこれを読み込んで本来の17行21列の形にして別のデータとして出力したいのですが、
どなたか知恵をお貸しいただけませんか?またできればデータの(A,B)のAの部分だけ、Bの部分だけを取り出したいのですが、
どうすればよいのでしょうか?
result.datというデータの中にある本来17行21列で表示するデータが
#(A,B)
(1,0)
・
・
・
(17,0)
(0,1)
・
・
・
(17,1)
(0,2)
・
・
・
(17,2)
・
・
・
(17,20)
というように1列で表示されているデータがあります。
openを使ってこれを読み込んで本来の17行21列の形にして別のデータとして出力したいのですが、
どなたか知恵をお貸しいただけませんか?またできればデータの(A,B)のAの部分だけ、Bの部分だけを取り出したいのですが、
どうすればよいのでしょうか?
725デフォルトの名無しさん
2015/01/20(火) 17:17:10.54ID:zoNsgUGG >>724
過去レスヨメカス
過去レスヨメカス
726デフォルトの名無しさん
2015/01/20(火) 17:19:19.79ID:mCR0Xk39 >>725
ソウイワナイデオシエロヨ
ソウイワナイデオシエロヨ
727デフォルトの名無しさん
2015/01/20(火) 17:39:47.89ID:kWeIi6xm728デフォルトの名無しさん
2015/01/24(土) 14:38:14.65ID:vOXkay9k cosやexpとかの組み込み関数が学校のifortだと通るんだけど家のgfortranだと通らない助けて
no implicit typeって言われる
no implicit typeって言われる
729デフォルトの名無しさん
2015/01/24(土) 16:14:31.36ID:YsJc5wwN730デフォルトの名無しさん
2015/01/24(土) 17:04:25.97ID:vOXkay9k 4倍精度から倍精度にしたら実行できました
gcc4.6以降は4倍もサポートしてるそうなんですがおかしいですね…
ありがとうございました
gcc4.6以降は4倍もサポートしてるそうなんですがおかしいですね…
ありがとうございました
731デフォルトの名無しさん
2015/01/25(日) 14:22:03.88ID:mPYFAplZ >728
fortran 4.8.1
で
program test
real(16) :: D2R
D2R = 0.0174532925199432957692369076848861271344_16
write(*, *) '1/e= ',1/exp(1.0_16)
write(*,*) 'cos(30)= ',cos(30.0*D2R)
end program test
を実行すると
1/e= 0.367879441171442321595523770161460873
cos(30)= 0.866025403784438646763723170752936161
という答えが得られます
少なくとも30桁以上の精度がでているとおもいますが、
fortran 4.8.1
で
program test
real(16) :: D2R
D2R = 0.0174532925199432957692369076848861271344_16
write(*, *) '1/e= ',1/exp(1.0_16)
write(*,*) 'cos(30)= ',cos(30.0*D2R)
end program test
を実行すると
1/e= 0.367879441171442321595523770161460873
cos(30)= 0.866025403784438646763723170752936161
という答えが得られます
少なくとも30桁以上の精度がでているとおもいますが、
732デフォルトの名無しさん
2015/01/25(日) 14:24:04.46ID:mPYFAplZ >731
>fortran 4.8.1
は
gfortran 4.8.1
のtypoです。しつれいしました。
>fortran 4.8.1
は
gfortran 4.8.1
のtypoです。しつれいしました。
733デフォルトの名無しさん
2015/01/27(火) 15:08:58.38ID:TDQ9+ev7 >>730
もう解決しているかも知れないけれど、処理系がFortran2008と4倍精度をサポートしていれば
iso_fortran_envモジュールのreal128という定数を使う言語仕様に準拠した方法がある。
program qfloat
use iso_fortran_env
implicit none
real(kind = real128) :: q
q = 1 / exp(1.0_real128)
print *, q
end program qfloat
もう解決しているかも知れないけれど、処理系がFortran2008と4倍精度をサポートしていれば
iso_fortran_envモジュールのreal128という定数を使う言語仕様に準拠した方法がある。
program qfloat
use iso_fortran_env
implicit none
real(kind = real128) :: q
q = 1 / exp(1.0_real128)
print *, q
end program qfloat
734デフォルトの名無しさん
2015/01/30(金) 19:29:21.36ID:CPtXDESF 超初心者です。質問させていただきます。
forrtl:severe(24): end-of-file during read,unit 110,file C:tkshmd\www01.dat
というエラーが出たのですがどうすれば解決できますか?
教授から卒業研究用に渡されたもので、自分で書いたものではありません
11年前に卒業した先輩が書いたものらしいのです
fortranに関する知識は一切ございません。すみません
forrtl:severe(24): end-of-file during read,unit 110,file C:tkshmd\www01.dat
というエラーが出たのですがどうすれば解決できますか?
教授から卒業研究用に渡されたもので、自分で書いたものではありません
11年前に卒業した先輩が書いたものらしいのです
fortranに関する知識は一切ございません。すみません
735デフォルトの名無しさん
2015/01/30(金) 19:35:01.91ID:QUUDxgkN736デフォルトの名無しさん
2015/01/30(金) 20:02:06.39ID:JnK0Au4d >>734
データの読み込み中にEOFが来た
つまり、読み込む変数に対してファイルのデータ数が足りない
先ずは実行できるデータファイルを貰って
自分の環境でプログラムが動くことを確認したら?
自分の計算はその実行できるファイルをいじってする
何より教授に聞けよ
データの読み込み中にEOFが来た
つまり、読み込む変数に対してファイルのデータ数が足りない
先ずは実行できるデータファイルを貰って
自分の環境でプログラムが動くことを確認したら?
自分の計算はその実行できるファイルをいじってする
何より教授に聞けよ
737デフォルトの名無しさん
2015/01/30(金) 20:49:39.27ID:ExkW5Q4r >>734
736で解決すると思ったけど
フォルダアドレス名、もしかして名前の母音抜き?
違ったらごめんね
もしそうだったとしたら、今後フォルダ名の投稿の時とか気をつけてね
私、昔似たようなことやっちゃったので。
関係ないが気になったのでつい
736で解決すると思ったけど
フォルダアドレス名、もしかして名前の母音抜き?
違ったらごめんね
もしそうだったとしたら、今後フォルダ名の投稿の時とか気をつけてね
私、昔似たようなことやっちゃったので。
関係ないが気になったのでつい
738デフォルトの名無しさん
2015/02/04(水) 05:53:12.64ID:Y9ZHS9LP ちょいとみなさんのお知恵拝借させてもらえたら幸い。
二分法かなんか使ってイテレーションさせようかと思ってるんだけど、ある解に収束するまでの途中のデータが出力ファイルに書き込まれて困ってる。
収束した時のみの結果を出力させたいんだけどどうしたもんだろ?
すごく簡略化した例だけど
do i = 1, imax
....
! F(x(i),y(i),z(i)) は非線形で数値計算でその都度計算するしかない
F(x(i),y(i),z(i))= .........
write(15,*) x(i),y(i),z(i)
! イテレーションする部分
If(s(x(i),y(i),z(i)) < 1.0d-5) then
Exit
Else
....
Endif
Enddo
二分法かなんか使ってイテレーションさせようかと思ってるんだけど、ある解に収束するまでの途中のデータが出力ファイルに書き込まれて困ってる。
収束した時のみの結果を出力させたいんだけどどうしたもんだろ?
すごく簡略化した例だけど
do i = 1, imax
....
! F(x(i),y(i),z(i)) は非線形で数値計算でその都度計算するしかない
F(x(i),y(i),z(i))= .........
write(15,*) x(i),y(i),z(i)
! イテレーションする部分
If(s(x(i),y(i),z(i)) < 1.0d-5) then
Exit
Else
....
Endif
Enddo
739738
2015/02/04(水) 05:54:22.46ID:Y9ZHS9LP 連投すんません
S(x(i),y(i),z(i))は新しい関数ですm(__)m
よろしくお願い申し上げます。
S(x(i),y(i),z(i))は新しい関数ですm(__)m
よろしくお願い申し上げます。
740デフォルトの名無しさん
2015/02/04(水) 21:13:09.14ID:uLg2ampX >>738
収束ループを出てから、書いたら?
収束ループを出てから、書いたら?
741デフォルトの名無しさん
2015/02/04(水) 21:21:39.45ID:1jln5owW 求めた解はどこかで使うんでしょ?なら,使う直前にwrite文を書けばいいのではないか?
というか,
>二分法かなんか
『なんか』ってなんだ?そんなきき方でどう答えろというんだろうか?
その例の書き方だと,そもそも二分法の使い方を理解しているのかと,そっちの方が心配になる.
というか,
>二分法かなんか
『なんか』ってなんだ?そんなきき方でどう答えろというんだろうか?
その例の書き方だと,そもそも二分法の使い方を理解しているのかと,そっちの方が心配になる.
743デフォルトの名無しさん
2015/02/11(水) 01:54:42.49ID:rsWy3Hp4 debugをしたら
user breakpoint called from code at 0x7c94120e
と出てきたのですが、どういった意味なんでしょうか
user breakpoint called from code at 0x7c94120e
と出てきたのですが、どういった意味なんでしょうか
744デフォルトの名無しさん
2015/02/11(水) 02:18:15.77ID:947xRA4B 環境書こうよ……
まず、>>1の注意事項を読んでくれ
まず、>>1の注意事項を読んでくれ
745デフォルトの名無しさん
2015/02/11(水) 02:35:40.04ID:+/9jIDfQ >>743
回線切って逝ってよし
回線切って逝ってよし
746デフォルトの名無しさん
2015/02/11(水) 10:40:19.88ID:I3RcppAe747デフォルトの名無しさん
2015/02/11(水) 22:51:10.13ID:pX2dRfIb コンパイラはどれを使っていますか?
748デフォルトの名無しさん
2015/02/11(水) 23:16:27.84ID:LIuSSWm5 g95
749デフォルトの名無しさん
2015/02/15(日) 01:10:05.40ID:g8pHAe2n Rの関数(cor(x,y)など)をFortranプログラム上で使えるようにできないでしょうか
Rに入っている関数のsoファイルを利用してなどできたりしないでしょうか
Rに入っている関数のsoファイルを利用してなどできたりしないでしょうか
750デフォルトの名無しさん
2015/02/15(日) 13:38:58.18ID:TAercYgC >>749 あなたは Fortran ではなく R を使うべきなのではないのでしょうか
751デフォルトの名無しさん
2015/02/15(日) 14:45:03.59ID:83OS2d7V Rがコマンドから使えるなら普通にSYSTEMすればいいんじゃないの
752デフォルトの名無しさん
2015/02/15(日) 22:02:11.88ID:g8pHAe2n753デフォルトの名無しさん
2015/02/15(日) 22:03:52.96ID:/BGdl65O そもそもFORTRANにはRなんか手も足もでないような統計ライブラリが存在するはずだが
754デフォルトの名無しさん
2015/02/16(月) 00:11:19.19ID:cFBQlJ5l755デフォルトの名無しさん
2015/02/16(月) 04:49:19.07ID:OLD7Gvb9 相関係数求めるだけだろ?
http://tama.green.gifu-u.ac.jp/~tama/soft/sample_prog/correlation/
http://tama.green.gifu-u.ac.jp/~tama/soft/sample_prog/correlation/
756デフォルトの名無しさん
2015/02/19(木) 01:32:20.14ID:Q9g/vdpG 今更ながらなんだがフォートランとオクターブの組み合わせ最高だよな。
今まではfortran とgnuplot だったけど
今まではfortran とgnuplot だったけど
757デフォルトの名無しさん
2015/02/19(木) 21:39:16.47ID:8T3EPm25 お絵かきできんの?
758デフォルトの名無しさん
2015/02/21(土) 13:41:52.59ID:cqnG5WW8 オクターブってMATLABのパチモンだっけ?
最近もメンテされてるの?
最近もメンテされてるの?
759デフォルトの名無しさん
2015/02/21(土) 20:21:39.11ID:vWiUl97q760デフォルトの名無しさん
2015/02/22(日) 06:07:07.89ID:Dll6CUOh お絵かきとは2chのお絵かき機能のこと。
この板はできないのか?
この板はできないのか?
761デフォルトの名無しさん
2015/02/24(火) 12:10:45.71ID:dL6o6kyB 3/3から2chのapi始動するけど移住しなくても大丈夫かね
とりあえずdat廃止されるまではここはNavi2chで巡回するけど
とりあえずdat廃止されるまではここはNavi2chで巡回するけど
762デフォルトの名無しさん
2015/02/25(水) 18:07:19.77ID:q//8/n6w >>761
移住先の候補があるなら教えて欲しい。
移住先の候補があるなら教えて欲しい。
763デフォルトの名無しさん
2015/02/27(金) 19:13:57.57ID:8CupuJ11 とりあえずおーぷん2chにたてるだけたてといた
http://toro.open☆2ch.net/test/read.cgi/tech/1425031440/
(☆はNGワード対策)
何事もないことが一番だけどそんときは避難所代わりに使ってください 現に今人多杉状態だけど
ここ質問スレだけど他にfortranスレないしfortran全般に関する喋り場ならおーぷんでいいよね?転載嫌いとかアフィリエイト嫌いとかのひとがいたらすまんが
純粋な質問に関してはstackoverflow日本語版も始まったしそっちも賑わってほしいなあと思ってる(現在3件しかない)
本家stackoverflowの方はfortranに関してもかなりお世話になってるし
http://toro.open☆2ch.net/test/read.cgi/tech/1425031440/
(☆はNGワード対策)
何事もないことが一番だけどそんときは避難所代わりに使ってください 現に今人多杉状態だけど
ここ質問スレだけど他にfortranスレないしfortran全般に関する喋り場ならおーぷんでいいよね?転載嫌いとかアフィリエイト嫌いとかのひとがいたらすまんが
純粋な質問に関してはstackoverflow日本語版も始まったしそっちも賑わってほしいなあと思ってる(現在3件しかない)
本家stackoverflowの方はfortranに関してもかなりお世話になってるし
764デフォルトの名無しさん
2015/02/28(土) 14:09:46.29ID:fZ9CqkAf お若い方。
この世間に疎い爺に何が起きているのか3行くらいで教えてくれんかね?
カチュ〜シャが使えなくなってから専ブラともお別れじゃよアッハッハ
2chがたらこのものでなくなったらしい話は風のうわさに聞いたども、
移住とは何のことじゃね?
この世間に疎い爺に何が起きているのか3行くらいで教えてくれんかね?
カチュ〜シャが使えなくなってから専ブラともお別れじゃよアッハッハ
2chがたらこのものでなくなったらしい話は風のうわさに聞いたども、
移住とは何のことじゃね?
765デフォルトの名無しさん
2015/02/28(土) 14:12:07.22ID:ptkFuNoe >>763
おーぷん2chは知らなかった。何かあればそちらを使わせてもらいます。
stackoverflowの方はgoogleでの検索がヒットした時ぐらいしか行かなかったけれど、
日本語版はありがたいね。こちらも覗きに行きます。
おーぷん2chは知らなかった。何かあればそちらを使わせてもらいます。
stackoverflowの方はgoogleでの検索がヒットした時ぐらいしか行かなかったけれど、
日本語版はありがたいね。こちらも覗きに行きます。
766デフォルトの名無しさん
2015/02/28(土) 14:20:37.08ID:ptkFuNoe >>764
私もよく知らないが、現在の専ブラが使っているdatが廃止される。2chを専ブラで利用するためには
2chが提供するAPIが必須となるが、このAPIは2chから使用許諾を受ける必要がある。
よって今のようなオープンソースの専ブラの開発、提供は難しいようだ。
私もよく知らないが、現在の専ブラが使っているdatが廃止される。2chを専ブラで利用するためには
2chが提供するAPIが必須となるが、このAPIは2chから使用許諾を受ける必要がある。
よって今のようなオープンソースの専ブラの開発、提供は難しいようだ。
767デフォルトの名無しさん
2015/03/09(月) 22:22:14.04ID:XrkMx/p/768デフォルトの名無しさん
2015/03/09(月) 22:37:50.67ID:wBxXg+k6 おいおいTip集に分離されただけで記事は残ってるぞ
nagのトップページから見てみ
nagのトップページから見てみ
769デフォルトの名無しさん
2015/03/10(火) 23:05:49.08ID:Gi5LttGt Hey!Yo!Brother!
Fortran2003でOOPを勉強してみたいんだが、NAGしか入門する門は無いのかい?
ジーザスは狭き門より入れと言ったが、おじちゃんは滅びの道でもいいから
広き門から入って太い道を通りたいんだYo!
できればジーザスの言葉と同じアラム語かおじちゃんと同じ言葉の日本語で頼むよ!
敵性語はノンノン!
Fortran2003でOOPを勉強してみたいんだが、NAGしか入門する門は無いのかい?
ジーザスは狭き門より入れと言ったが、おじちゃんは滅びの道でもいいから
広き門から入って太い道を通りたいんだYo!
できればジーザスの言葉と同じアラム語かおじちゃんと同じ言葉の日本語で頼むよ!
敵性語はノンノン!
770デフォルトの名無しさん
2015/03/17(火) 02:57:32.45ID:qWCLUX9n771デフォルトの名無しさん
2015/03/21(土) 20:51:39.73ID:A7bsOdex プログラム中のx行目?y行目のソースコードを出力させるwrite文の書き方はないでしょうか
772デフォルトの名無しさん
2015/03/22(日) 10:00:02.71ID:upANbGQj >>771
ねーよ
ねーよ
773デフォルトの名無しさん
2015/03/22(日) 14:18:33.06ID:qEVJABmn >>771
プログラム単体では無理
単純に任意のファイルのx行目を表示するプログラムなら簡単
指定行まで読み飛ばして、指定行を十分長い文字列で読み込めば良い
それでソースファイルを読んで表示するならできるけど
ソースファイルは常に必要
プログラム単体では無理
単純に任意のファイルのx行目を表示するプログラムなら簡単
指定行まで読み飛ばして、指定行を十分長い文字列で読み込めば良い
それでソースファイルを読んで表示するならできるけど
ソースファイルは常に必要
774デフォルトの名無しさん
2015/03/22(日) 15:16:23.54ID:lBBw+fHF Quineが書きたいという話ではなくて?
775デフォルトの名無しさん
2015/03/22(日) 16:35:49.10ID:CWUz6yZb776デフォルトの名無しさん
2015/03/24(火) 21:45:10.36ID:Vm8bqf+W >>775
俺にもお礼言えよ、クソ野郎
俺にもお礼言えよ、クソ野郎
777デフォルトの名無しさん
2015/03/26(木) 23:15:58.87ID:Gl+r/2fs 3次元のスカラーデータを吐く、x,y,zのdoループをompにしようとしたんだけど、スタックオーバーフローだなんて怒られた
どーすんべ?
どーすんべ?
778デフォルトの名無しさん
2015/03/27(金) 02:28:15.56ID:agfznfe3 安直にはコンパイラ、リンカのオプションでスタック増やせ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 小川彩佳アナ「高市総理はここまで影響が出ることを想像して発言したんでしょうか」高市ソルジャー「!!!!(シュババババ)」 [931948549]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
