5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

FORTRAN III

1 :デフォルトの名無しさん:05/01/03 12:49:22
FORTRAN総合スレッドです。
FORTRAN77/90/95/2003, HPF等、FORTRAN全般に関する話題を書き込んで下さい。

・前スレ
FORTRAN II
http://pc5.2ch.net/test/read.cgi/tech/1068351911/
Fortran
http://pc2.2ch.net/test/read.cgi/tech/1003214738/

2 :デフォルトの名無しさん:05/01/03 12:50:01
・FORTRAN関連情報
お約束だが、まずは自分で調べよう
http://www.google.co.jp/

x86で動作するFortranコンパイラ
http://www.nminoru.jp/~nminoru/programming/x86-fortran.html

The Fortran Company
http://www.fortran.com/
Polyhedron Software
http://www.polyhedron.co.uk/
Google Directory - Fortran
http://directory.google.com/Top/Computers/Programming/Languages/Fortran/

3 :デフォルトの名無しさん:05/01/03 12:50:32
・フリー/無料評価版のコンパイラ
The G95 project (Fortran95)
http://www.g95.org/
GCC (g77) (今のところ FORTRAN77)
http://gcc.gnu.org/
Salford FTN77/95 Personal Edition (Fortran77/95, Windows, 要登録)
http://www.salfordsoftware.co.uk/software/downloads/compilers.html
FTN77/95のインストール方法
http://www.coastal-env.k.u-tokyo.ac.jp/koibuchi/fortran.htm
the F Programming Language (Fortran90のサブセット, Win/Linux/Solaris)
http://www.fortran.com/F/compilers.html
Open Watcom Fortran Compiler (FORTRAN77)
http://www.openwatcom.org/
Intel Fortran Compiler (Fortran95, 無料評価版(Win)/非商用バージョン(Linux), 要登録)
http://www.xlsoft.com/jp/products/download/download.html
Lahey/Fujitsu Fortran (期限付きトライアル版, Win/Linux, 要登録)
http://www.lahey.com/downloads.htm

4 :デフォルトの名無しさん:05/01/03 12:51:04
・ドキュメント
Compaq Visual Fortran オンライン・ドキュメント
http://www.xlsoft.com/jp/products/intel/cvf/docs/index.html
Intel Fortran Compiler 日本語版マニュアルのダウンロード (要登録)
http://www.xlsoft.com/jp/products/intel/download.html
富士通Fortranオンラインマニュアル
http://www.cc.nao.ac.jp/fsunman/japanese/Fortran/index.html

FORTRAN77 standard
http://www.swcp.com/~walt/F77_std/f77_std.html
http://www.fortran.com/fortran/F77_std/rjcnf0001.html

JISデータベース
http://www.jisc.go.jp/

5 :デフォルトの名無しさん:05/01/03 12:51:35
・チュートリアル等
Fortran90プログラミング
http://www.ip.media.kyoto-u.ac.jp/htomita/
Fortran 90 言語マニュアル
http://www.rs.kagu.tus.ac.jp/yama/
やさしいフォートラン講座
http://www.g.dendai.ac.jp/kouza/top.htm
Fortran ResQ - Fortran初心者に捧ぐ
http://homepage.mac.com/galois21/fortran/index.html
FORTRANプログラミング初級編
http://svr01.damp.tottori-u.ac.jp/~akimoto/Fortran/
FORTRAN 77 入門
http://www-aos.eps.s.u-tokyo.ac.jp/~takagi/f77-enshu/index.html

6 :デフォルトの名無しさん:05/01/03 12:51:57
・その他
Fortran Source Check (オンライン文法チェック)
http://www.lahey.com/check.htm
ftnchek
http://www.dsm.fordham.edu/~ftnchek/
c2f
http://www.unics.uni-hannover.de/rrzn/gehrke/c2f.html
F2C
http://www.vector.co.jp/soft/win95/prog/se056813.html

Fortranの歴史
http://members.at.infoseek.co.jp/kitaurawa/fortran.html

The Real Programmer Stories (日本語訳)
http://www.genpaku.org/realprogrammerj.html

7 :1:05/01/03 13:05:33
前スレが落ちたようなので、立ててみました。

というわけで、後は任せた。
オレはもう寝る。

8 :デフォルトの名無しさん:05/01/04 03:23:17
とりあえず乙>>1

9 :デフォルトの名無しさん:05/01/06 02:18:46
>>1

print *,"乙"

10 :デフォルトの名無しさん:05/01/13 13:20:51
配列変数の宣言なんですが、引数の範囲を実数で指定すればうまくいく。
引数の範囲を同じ値の変数で指定すれば範囲が大きいときにstackoverflowがでる。
という現象が起こっています。
なぜでしょうか?

11 :デフォルトの名無しさん:05/01/14 04:20:26
>>10
>配列変数の宣言なんですが、引数の範囲を実数で指定すればうまくいく。
>引数の範囲を同じ値の変数で指定すれば範囲が大きいときにstackoverflowがでる。

いまいちよく解らないんだが。

SUBROUTINE FOO(A, N)
REAL A(N)
・・・

とかやってるってこと?

12 :77:05/01/15 03:25:49
どうも失礼します・・・ fortran77使ってます。
temp = v(im,jm,km)*(x(number)-r(1))*(z(number)-r(2))*(y(number)-r(3))
& +v(im,jm,kp)*(x(number)-r(1))*(z(number)-r(2))*(r(3)-y(number-1))
& +v(ip,jm,km)*(r(1)-x(number-1))*(z(number)-r(2))*(y(number)-r(3))
& +v(ip,jm,kp)*(r(1)-x(number-1))*(z(number)-r(2))*(r(3)-y(number-1))
& +v(ip,jp,km)*(r(1)-x(number-1))*(r(2)-z(number-1))*(y(number)-r(3))
& +v(ip,jp,kp)*(r(1)-x(number-1))*(r(2)-z(number-1))*(r(3)-y(number-1))
& +v(im,jp,km)*(x(number)-r(1))*(r(2)-z(number-1))*(y(number)-r(3))
& +v(im,jp,kp)*(x(number)-r(1))*(r(2)-z(number-1))*(r(3)-y(number-1))
この括弧の数はあってると思うんですが、最後の行で、
Syntax error, found END-OF-STATEMENT when expecting one of: , )
& +v(im,jp,kp)*(x(number)-r(1))*(r(2)-z(number-1))*(r(3)-y(number-1))
-----------------------------------------------------------------------------------^
というエラーが。。。括弧以外に原因があるのでしょうか??


13 :デフォルトの名無しさん:05/01/15 08:20:16
>>12
72桁超えてる。

14 :10:05/01/15 14:38:24
>>11
全くそのとおりです。説明が不足でした。
サブルーチン呼び出し時に値を渡し、
サブルーチン内でその変数を使って配列を宣言しているのです。

15 :デフォルトの名無しさん:05/01/16 00:15:25
>>10
>引数の範囲を実数で指定すればうまくいく。

整数だよね

>引数の範囲を同じ値の変数で指定すれば範囲が大きいときにstackoverflowがでる。

日本語がよく分からんが、配列の次元を馬鹿でかくするという意味なら、関数またぐ時だし、仕様かな。
ただ、ソースも具体的な数字もないので、何とも言えんが。
http://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/pg/pg04_02_43.htm




16 :デフォルトの名無しさん:05/01/17 00:05:24
想像するに 10 は

「配列変数の宣言なんですが、添え字の範囲を定数で指定すればうまくいく。
添え字の範囲を、引数で渡される変数で指定すれば範囲が大きいときにstackoverflowがでる。
という現象が起こっています。
なぜでしょうか? 」
といいたいのでは?

であれば、
・前半は、配列は、ふつーの配列であり、ヒープからメモリが割り当てられる
・後半は、配列は、自動割付配列となり、スタックからメモリが割り当てられる


対処法は
>>15にあるように、スタックサイズをあげる
・F90で書き、配列をALLOCATEによって確保する
あたりか?



17 :勉強になります:05/01/19 16:57:20
ここの過去ログはどこかに置いていませんか?

18 :デフォルトの名無しさん:05/01/20 06:07:45
>>17
Fortran
http://pc5.2ch.net/tech/kako/1003/10032/1003214738.html

「FORTRAN II」(2スレ目)の方はもうしばらくしてhtml化されるのを待つか、●を買え。

19 :17:05/01/21 14:13:37
>>18
どうもありがとうございます。

20 :デフォルトの名無しさん:05/01/27 08:36:09
3次関数の最小自乗法による係数決定のやり方はどこかにありませんか?

21 :デフォルトの名無しさん:05/01/27 10:08:32
http://pc5.2ch.net/test/read.cgi/tech/1103561159/

22 :デフォルトの名無しさん:05/01/28 00:38:31
>>20
>>2の一番上にあります。

23 :デフォルトの名無しさん:05/01/28 03:34:05
unformattedなファイル読み込みルーチン作製中です。
unformattedで書き込んだファイルのreadは全く問題ないのですが、
openの際に、うっかりそうでないファイルを指定した時の振舞で悩んでます。

やりたいことは「ファイル先頭をチラっと見る。意図してないファイル形式なら
その旨のエラー出して終了」です。ですが、ウチの環境で不適切なファイルを
unformattedでopenすると、readの段で強制的にプログラムが停止してしまいます。
これではエラー出すヒマが無く、一方で(私の知識の範囲内では)ファイルの判断には
readをするしかないため、どうにもジレンマに陥ってしまいました。

何かイイ方法御存知の方いらっしゃいますでしょうか?
当方 RHEL3(amd64) + Intel Fortran 8.1 であります。


24 :デフォルトの名無しさん:05/01/28 21:29:21
>>23
iostatでチェック


25 :デフォルトの名無しさん:05/01/29 20:10:08
データファイルから読み込むのに、一行に一つのデータでファイルを作ると
読み込むのに、一行に "," 区切りで複数のデータを与えたら一つ目のデータ
しか正しく読めず、あとのデータが????に成ります。
どうしたらいいのでしょうか。
Salford FTN77です。


26 :デフォルトの名無しさん:05/01/29 22:03:34
Fortranで
 ・Cの仕様書工房
 ・Cppunit
みたいなツールってないでしょうか?

27 :デフォルトの名無しさん:05/02/07 13:19:58
変数 / 関数の型を表示したり、変数の共有のされ具合が分かる
emacs lisp を探しています。
fortran はハンパじゃないので etags だけではちょっと無理です。。。

28 :デフォルトの名無しさん:05/02/07 21:02:21
>>25
データの数かFORMATの指定が間違ってない?
うちの環境では","で区切っても正しく読み込めたけど。

29 :デフォルトの名無しさん:05/02/14 17:13:31
基礎的なことなんですがx^nを求める関数は何でしょうか?

30 :デフォルトの名無しさん:05/02/14 17:28:22
x**n


31 :デフォルトの名無しさん:05/02/15 20:35:27
Fortranの規格名称のことでちょっと教えてください。
『Fortran 95』というふうに95の前にスペースを入れるのと,
『Fortran95』というふうにスペースを入れないのと,
どちらが正しいのでしょうか?


32 :デフォルトの名無しさん:05/02/15 21:32:04
どちらも正しくない。それは通称だ。

33 :デフォルトの名無しさん:05/02/15 21:33:18
特に決まりは無いと思うよ。ぐぐる君の意見だと『Fortran 95』の勝ちだね。

"Fortran 95" の検索結果 約 107,000 件
"Fortran95" の検索結果 約 12,800 件

34 :31:05/02/15 21:44:34
>>32-33
THANX!


35 :デフォルトの名無しさん:05/02/15 21:55:33
>>31
ちなみに Fortran 95 の規格は
 ANSI X3J3/96-007
 JIS X 3001:1998
 ISO/IEC 1539-1:1997
内容は全部同じ。

36 :31:05/02/15 22:56:25
>>35
わ,そうだったんですか!
詳しいフォロー,ありがとうございました。


37 :デフォルトの名無しさん:05/02/19 02:09:05
WinXP のパソコンで Fortran 90 のコーディングをしたいのですが,
Salford FTN95 を使うか,それとも,うちの職場にあった唯一の
PC用Fortranコンパイラである Fortran PowerStation 4.0 を使うか,
迷っています。
(他の商品版を買うのは高くて,今のところは躊躇しています)

Win95の頃に発売された Fortran PowerStation 4.0 は Win XP に
インストールしてもコンパイルなどは正常に行われるのでしょうか?


38 :デフォルトの名無しさん:05/02/19 09:22:14
>>37
WindowsXP上で、FORTRAN77のソースをコンパイル、正常実行できた記憶があるよ



39 :デフォルトの名無しさん:05/02/20 09:27:24
> 37
cygwin上でgcc-4.0(CVS版ですが)をmakeしてみる. gfortranができるが
これがf90. 簡単なやつでテストしてみましたが, よっぽどf90の機能を
使ってない限り, 大丈夫そうでした.


40 :デフォルトの名無しさん:05/02/20 13:45:59
g95 の linux バイナリがあるということは,
cygwin か coLinux を入れればフォートランランランってことなんじゃないかな.

41 :デフォルトの名無しさん:05/02/20 18:31:41
g95なら >>3 にWindows用のバイナリも置いてあるわけだが。

42 :37:05/02/21 20:45:14
>>38-41
レスありがとうございました m(_ _)m"

43 :デフォルトの名無しさん:05/02/22 19:47:40
Windows XP をサポートしている商用版の Fortran 90 或いは Fortran 95 コンパイラで
お薦めのものがあったら教えてください。


44 :43:05/02/22 19:49:48

できれば日本語マニュアルがあって,便利なライブラリも付属しているものが良いですが‥‥。
ご存じのかた,よろしくお願いします m(_ _)m"


45 :デフォルトの名無しさん:05/02/22 20:58:15
>>43
Intel の Visual Fortran

何をするのに「便利な」ライブラリが欲しいのか知らないが
Windows上でグラフィックが使える QuickWin や
Pro版にはIMSLも付いている。

また付属ではないが、Windows上の事実上の標準なので
MKL や Lapack(95) 、 f90gl 等、有名どころのライブラリは
大抵使える。

46 :43:05/02/22 22:16:45
>>45さん,ありがとうございました。
ライブラリの件ですが,目指しているのは地球のダイナモの成因となる
外核のMHDシミュレーションなので,その数値計算に便利なライブラリが
あればと考えています(地球流体電脳ライブラリが既に存在してはいますが)。


47 :デフォルトの名無しさん:05/02/22 23:28:18
g95って,ホームページには There are still bugs buried here and there. (あちらこちらに
バグがまだ埋まっている)と書いてありますが,どういうバグなのでしょうか?
コンパイルや計算が正しく行われなかったりするのでしょうか?


48 :デフォルトの名無しさん:05/02/23 09:47:51
>> 43
ttp://www.polyhedron.co.uk
にベンチマークも含めてのっていますよ

49 :43:05/02/23 19:04:02
>>48
情報ありがとうございました。
早速見てみます。


50 :デフォルトの名無しさん:05/02/25 08:41:43
あるsubroutineの中からその属するsubroutineと同じsubroutineを呼び出したのですが
どうすればいいでしょう?

下記のようなプログラムを書きたいのですが
コンパイルできません。

program main
call hoge
end
subroutine hoge
write(6,*) "hello world"
call hoge
return
end


51 :デフォルトの名無しさん:05/02/25 12:27:16
>>50
f90の場合だと再帰的呼び出しにすれば大丈夫でしょう。サブルーチン宣言の頭に recursive をつけるだけでいいんじゃないでしょうか?

recursive subroutine hoge

52 :デフォルトの名無しさん:05/02/27 15:50:53
>>50
ちゃんと再帰から抜けるようにしとけよ。
無限ループやるなよ。

53 :デフォルトの名無しさん:05/03/02 20:44:06
ちょっとお聞きしたいのですが,write文でcsv形式を書くにはどうしたらいいでしょう?

write (10,'(50d15.7)') TT,(U(j)/K(j), j=1,NMax)

上のようなwrite文を書くとします.その際,csv形式で出力したいのですが,'(50d15.7)'というような書き方をするときに「カンマ」をどうやって紛れこませるか?--ということをお聞きしたいのです.

write(10,1000) TT,(U(j)/K(j), j=1,NMax)
1000 format(d15.7,',',d15.7,','d15.7)
というような形式で書くのならわかるのですが...何十回も繰りかえすのはメンドイもので.御存じの方よろしくお願いします.

54 :デフォルトの名無しさん:05/03/02 21:22:25
>>53
自己レスです.

write (10,"(49(d15.7,','),d15.7)") TT,(U(j)/K(j),j=1,NMax)

と書けばうまく逝きました.
失礼しました.

55 :名無しさん:05/03/03 14:57:29
すみませんご教授下さい。
Fortranで作られたプログラムWindowsで(DOSで)動かしたいんですが、一応データファールとかも揃えて走らせると、
最初の1行だけ読んで「cannot open file "F90.EER" #__」みたいなメッセージが出て計算されません。
これはいったいどういうことなのでしょうか?

ちなみにファイルはここの「TWINSPAN」です。

http://cc.oulu.fi/~jarioksa/softhelp/softalist.html

56 :デフォルトの名無しさん:05/03/03 15:20:57
>>55
もっと詳しく

57 :名無しさん:05/03/03 15:26:46
>>56
すんません。

昔、同じプログラムをNEC98(5インチ時代)に使ったことあってそん時は問題なかったんですよね。
DOSプロンプトのあとにexeファイル名(TWINSPAN)を入れて実行させると、inputデータファイルを尋ねてくるのでそのファイル名を入れてリターンすると
「Cannot Open Error file "F90.EER", error #151」
てのが出て終わってしまいます。

中身はそのまま触ってないので、これ以上のことはわからないのですが・・・


58 :デフォルトの名無しさん:05/03/03 17:51:40
>>57
> 「Cannot Open Error file "F90.EER", error #151」
"F90.EER" ではなく "LF90.EER" では?

Run time error messages from LF90
ttp://agbu.une.edu.au/~kmeyer/errmsg.html
> 151 File specified STATUS= "OLD" doesn't exist (see "Input/Output" in the Essential Lahey Fortran 90 Reference).

ようするに、入力ファイルが無い or 名前が違う。

59 :名無しさん:05/03/03 18:10:54
>>58
ありがとうございます。

そうです「LF90.EER」でした。済みません。
入力ファイルがないとは、inputデータファイルが読めていないということでしょうか。
データ行の1文目は読んでいるんですが。
それか、もはや元のファイルがないのかな。
済みませんあまりに素人で。

60 :デフォルトの名無しさん:05/03/13 09:11:58
gfortran(GCC4.0)でnamelist読みこませた人います?
&abc
de=5
fg=3.1
&end
だと読み込まず
&abc de=5 fg=3.1/
でもだめでした。
方言があるんですかね。

61 :デフォルトの名無しさん:05/03/15 11:12:48
↑です。
使っているプログラムでうまくいかなかったのでテストプログラムを作ってみました。
その結果、結果が異なりましたので訂正します。
以下のプログラムコンパイルして実行するとエラーになります。
FC3 gcc4-gfortran-4.0.0.29.x86_64.rpm


programe main
integer i,j,k
dimension j(10)
character*20 c
namelist /n1/i,j,k,c
read(5,nml=n1)
write(6,n1)
end


./hoge
&n1
i=20
k=3
j=1,2,3,4,5,6,7,8,9,0
c='test'
&end
cannot match a namelist variable

g77だとコンパイルして実行すると、正常に動きます。
いろいろ探したらg95に行き当たりました。これだと正常にコンパイル,実行できました。
g95(gcc 4.0.0 20050124 (g95) Mar 12 2005)

gcc4.1コレクションも試しましたが、このバグは、直っていませんでした。


62 :デフォルトの名無しさん:05/03/20 05:03:23
ずいぶん前のことですみませんが,ご存じのかた教えて下さい。

MS-FORTRAN Ver.5.1 は Fortran 90 に似て非なる物だったという記憶があるのですが,
ふと思い立って,8年くらい前に買った森北出版の 「FORTRAN 77 と Fortran 90」 の
「2部:Fortran 90編 Fortran 90とMS・FORTRAN」を見て
自分で確かめようとしたら,本棚から行方不明になってて
確かめることができませんでした。

MS-FORTRAN Ver.5.1 は Fortran 90 と同一のものだったのか,
あるいは Fortran 90 に独自拡張を加えただったのか,
それとも,似ているけど違うものだったのか
ご存じのかた,教えて下さい。


63 :デフォルトの名無しさん:05/03/20 08:30:04
>>62
実際にMS-FORTRANを使ったことはないですのが
手元に「FORTRAN 77 と Fortran 90」があったので
確認してみたところ、MS-FORTRANは
"Fortran 90 の一部機能を含む独自拡張仕様"
のようです。

F90との主な違いは
・継続行の指示記号は "&" ではなく "-"
・構造体の宣言は TYPE ではなく SURUCTURE
・ポインタ、WHERE文、モジュール等がない
などだそうです。

64 :62:05/03/20 10:12:45
>>63
解説情報をアップして下さって,本当にありがとうございました。助かりました。
日曜の朝早くから妙な話題につきあわせてしまい,すみませんでした。


65 :62:05/03/20 10:48:26
再度すみません。
もうひとつ教えていただきたいことがあるのですが,「FORTRAN 77 と Fortran 90」 の本で
扱われている MS-FORTRAN について,本の中でバージョン番号は書かれていますでしょうか?


66 :デフォルトの名無しさん:05/03/20 11:15:39
>>65
書籍では「Microsoft FORTRAN V5.1」を用いたということで、巻末の参考図書に
 マイクロソフトの「Microsoft FORTRAN - Reference -」(1991)
が挙げられています。
ちなみに Fortran 90 の方は「NAGWare f90 Compiler」でテストしたということです。
(2003年5月20日発行の第1版第7刷で確認)

67 :62:05/03/20 11:47:08
>>66
詳細な情報をいただき,感謝申し上げます。
二度もお答え下さり,本当にありがとうございました。


22 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)