X



くだすれFORTRAN(超初心者用)その7
0001デフォルトの名無しさん
垢版 |
2021/04/05(月) 11:39:10.69ID:i9PX2oQn
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです.
FORTRAN使いが優しくコメントを返します.

●注意事項
・質問する前にGoogle等の検索サイトで検索しましょう。
・回答者にわかりやすい様に、質問内容はできる限り詳しく書きましょう。
・エラーの場合は起きた状況、環境(OS・コンパイラ・バージョン)、エラーメッセージも詳しく書きましょう。

●前スレ
くだすれFORTRAN(超初心者用)その6
https://mevius.5ch.net/test/read.cgi/tech/1345118280/l50

●過去スレ
くだすれ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/
0002デフォルトの名無しさん
垢版 |
2021/04/05(月) 11:47:00.47ID:i9PX2oQn
前スレが落ちて久しく,誰も立てないようなので勇気を持って立ててみました
結構お世話になってたので,需要はあるはず!と個人的経験による独断で
無ければまあ,落ちるでしょう...
>>1も情報が古いので手を入れました.
後ほど適当な参考リンクを拾ってきます.

ところで,パート7,で良かったでしょうかね?
0003デフォルトの名無しさん
垢版 |
2021/04/05(月) 13:02:46.02ID:i9PX2oQn
とりあえず公式(チュートリアルあるよ)
https://fortran-lang.org/

処理系は?
PC向けでフリーだとifort(個人使用に限る)が高品質で有名です.
何でも揃ったmklも付いてきます.
自由なソフトウェアではgfortran, g95が有名です
95と名乗っていますが,2003/2008の機能も結構使えます.
学習には十二分でしょう.
CUDAをフルパワーで使えるnvfortran方言が熱いです.

どのバージョンを使えばいいの?
*77は教養として後々読めるようになればいいと思います.
*90/95が広く使われていますが,Obsoleteな機能も沢山残しているので,
初学では戸惑う事が多いでしょう.
*2003は90/95の範囲内で書くとしてもよりよいでしょう.
あと公式に準拠表明していなくても拡張として大体使えます.
リファレンスは2003を参照しましょう.
*2008/2018ではCoarrayFortranやdo concurrent文を取り入れ,構文レベルで並列実行をサポートします.
綺麗なコードで非常に高レベルなプログラミングが可能に.
必要/興味のある人は次のステップとしてどうぞ.
*CUDAFortran
NVIDIAによる方言です.おうちでも分野によってはHPCができる時代です!
95以降の経験があれば大丈夫です.活発でサポートもよいです.

未熟者なので,おかしいところなどツッコミよろしくおねがいします
0005デフォルトの名無しさん
垢版 |
2021/04/05(月) 14:00:28.66ID:i9PX2oQn
親しみやすそうなリソースを探し中、途中経過を早漏…

python(numpy)/fortran90 rosetta stone
https://www.fortran90.org/src/rosetta.html

numpyはfortranのラッパとして始まったので、まあロゼッタストーンと言えるんだろうかね
ちと文法が古いが…

俺はpython/scipyからステップアップ目指して始めた層なんで、そういう人は眺めるだけで掴めそう
ということで推薦
0006デフォルトの名無しさん
垢版 |
2021/04/18(日) 02:56:59.39ID:3afvYK1h
数値の書式についての質問です
A = 0.01
とした時、変数Aをファイル名にしようとすると
hoge0.1E-03.dat
のように書き込まれますが、
hoge1.0E-02.dat
とすることは可能でしょうか?
と出力されますが,これを
ans = 0.1E-03
と表記させる方法ありますか?
0007デフォルトの名無しさん
垢版 |
2021/04/18(日) 07:05:09.54ID:wBSiSi/h
書式指定でeの代わりにesを指定すると1≦仮数部<10になる
Fortranの入出力書式はいろいろあるから、後は自分で調べてくれ
0009デフォルトの名無しさん
垢版 |
2021/05/03(月) 02:23:13.56ID:PQP1mUBv
Do loop 中に

if (hoge) then
処理1
exit
elseif (hogehoge)
処理2
cycle
Endif

と言った同じ処理内容が100近くいくつもあるので、if -endif部分をサブルーチン化したいなと思ったのですが、exit やcycleが入ってると怒られます。
何か他にいい方法がありますか?
0012デフォルトの名無しさん
垢版 |
2021/05/27(木) 14:13:13.27ID:4Ku5ffLZ
>>5
whereとかall/someとかmaskとかめっちゃ便利そう!
学部教養用に広く使われているであろう某90/95数値解析本やってるけど、普通にループで回してやがる
まあアルゴリズムの理解のため、意図的にそうしてるんだろうと思うけど
0013デフォルトの名無しさん
垢版 |
2021/05/27(木) 14:28:23.78ID:4Ku5ffLZ
isoやcの型を一貫性なくuseしてたり、構造体を共有するなら必要なら型モジュールが必要なのは分かるけど
ひたすらdp=kind(0.d0)みたいな基本型かつ命名慣習のあるもので数値計算しててモジュールに集めてuseするべきなのかな?
0014デフォルトの名無しさん
垢版 |
2021/05/31(月) 18:02:38.35ID:FQcGffaz
あげ
0015デフォルトの名無しさん
垢版 |
2021/06/01(火) 21:25:00.31ID:wVQRTwyv
Fortran の詳しい参考書で何かあります?
森北出版の青本が一番良さげだけど、細かい機能解説載ってないのよね。
一体どこ見ればええんやろ
0016デフォルトの名無しさん
垢版 |
2021/06/02(水) 00:41:35.33ID:oD2js2W4
ろくな書籍がないのでメーカー製コンパイラのマニュアルを見るのが無難(探せばネット上で見つかる)
洋書を買う気があるならModern Fortran explainedとか
0017デフォルトの名無しさん
垢版 |
2021/06/02(水) 08:58:33.23ID:UfLjqhXv
2008以降でAmazon検索した事あるけど30冊〜くらい英書は引っかかったと思う
だいたい学術出版社なので万超えるが
あとcoarrayとかcuda fortranとか狙い撃ちしてるので教科書的でないのが多いかと

日本語でも数冊引っかかったと思う、見送ったのであんまりよろしくない感じかもしれん

遠い記憶なので気になったら調べ直してね
0018デフォルトの名無しさん
垢版 |
2021/06/02(水) 09:22:05.07ID:Mf/lUWk3
>>13
基本型までモジュールにまとめる利点は一斉に精度切り替えられるくらいじゃない
そんなケースでこそサフィックスが_dpなのにdpじゃないとか紛らわしいし

ポータビリティ的には0.0d0から環境ローカルの型を取得するのは望ましいかもしれんが、個人的には環境によって変な結果が出る方が恐ろしい

どうせuseするなら明示的にiso_fortran_envのrealnn型を使いたい、対応してないなら落ちてくれた方がマシ

もしかして桁落ちするかもってところに_wp(wideのつもり)とか書いてseleted_real_kindのパラメータ振って検証したり、もしかして桁落ちするかもってところに_wp(wideのつもり)とか書いて定義を変えるとかはありじゃないかな
0019デフォルトの名無しさん
垢版 |
2021/11/02(火) 16:00:24.11ID:9/G4G7ym
module変数を保存したい場合はsaveを使うけどtype::クラス名のメンバ変数にはsave使用不可
fortranでメンバ変数の値を保存したい(あるインスタンスで行った変更が次に生成したインスタンスにも初期値的に引き継がれるようにしたい)時ってどうすればいいんでしょう?
0020デフォルトの名無しさん
垢版 |
2021/12/20(月) 10:18:50.61ID:T4fBefUM
スレタイの大文字に恐怖を覚えて、見にきました。
0022デフォルトの名無しさん
垢版 |
2021/12/25(土) 04:13:49.31ID:FaMYGA75
fortranでインラインアセンブラみたいに振る舞いたいのですがどうすればいいのです?
初心者ですいません
ネットにあるようでしたら調べに行きます
0023デフォルトの名無しさん
垢版 |
2023/10/23(月) 14:43:03.92ID:vgQZUP0x
flang ってもうメンテされてないんですか?
0025デフォルトの名無しさん
垢版 |
2024/02/09(金) 01:32:22.21ID:3xoFjMsa
ヤッホー!、Fortran,ラン, ラン♪ ヤッホ, フォートー ランのラン, ヤッホホ!
レスを投稿する


ニューススポーツなんでも実況