- ベストアンサー
fortranの関数?
fortranに関する質問です. あるプログラム例(おそらくfortran77で記述されている) で理解できないところがあり質問しました. BFUNC(S) = S とあるのですが,これはどういう意味なのでしょうか. BFUNCについて調べてもわからず,行き詰っています. プログラム中の後に S = FLOAT(J) / FLOAT(JMAX) E = BFUNC(S) という記述があります. ファンクション関数のようなものかとも 思いましたが,そのような設定に関する記述も特に見当たらず・・・ 何か77特有の組み込み関数とかでしょうか. 情報が少なくて意味不明かもしれませんが, 本当にここ以外では出てきません. また,S,Eともに型宣言等もありません. もしわかる方,おられましたらお教えください. よろしくお願いいたします.
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
配列の宣言がないのなら、文関数の可能性が高いです。
その他の回答 (4)
- Tacosan
- ベストアンサー率23% (3656/15482)
あ~, 文関数を完全に失念してました>#4. そうですね, ここより前に BFUNC がなければそれが最もありそうですね.
お礼
再度ご回答いただきありがとうございます. はじめのBFUNCは型宣言のすぐ次にきておりましたので, おそらく文関数なのだろうと判断しました. どうもありがとうございました!
- Tacosan
- ベストアンサー率23% (3656/15482)
もはや FORTRAN77 は記憶の彼方ですが, 左辺に関数呼出がくることはないはずです. なので, BFUNC(S) = S の左辺の BFUNC(S) は配列としか解釈されないと思います. ただ, 宣言がないとちょっとなんとも. 完全なプログラム全体があればいいんだけど.... もちろんここで全体を挙げるのは著作権的にアウトなんですが, その「参考書」が一般に入手できるものであれば, その書名でも挙げてみれば (きっと私でない) 誰かが答えられるかもしれません.
お礼
的確なご指導ありがとうございます! 荒川忠一著『数値流体工学』という参考書です. 問題のプログラム文はpp.151に記載されています.
- ultraCS
- ベストアンサー率44% (3956/8947)
専門家を名乗って(リタイヤした研究者です)いる我にたいしたアドバイスできませんが 名称から推測すると、ベータ関数かベッセル関数かな 処理系と関数ライブラリやパッケージによると思うけど、標準組み込みには無いと思います 通常は、AFUNC、BFUNCって、関数の説明するときに使う仮の名が多いですね
お礼
お礼が遅くなってしまいまして申し訳ありません. 通常は関数の説明に使われるものなんですね. ありがとうございます!
- fronteye
- ベストアンサー率43% (118/271)
BFUNC は配列ではないでしょうか?
お礼
ご回答ありがとうございます. 配列宣言がないのですが,そういう使い方もできるのでしょうか? また, BFUNC(S) = S だと,そのままSを使用する方が早く, もはやこの配列を使用する意味がないように思われるのですが. プログラム例が不完全なのでしょうか・・・ 参考書の付録なので,ある程度は大丈夫だと思ったのですが...
お礼
ご回答ありがとうございます! 文関数というものがあるのですね!最初の記述も型宣言の次に書いてあるため,これのような気がします! どうもありがとうございます! しかし,やはり気になるのは, BFUNC(S) = S では,そのままS使えばいいのにという疑問が残ります・・・.