問題タブ [fortran90]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
57833 参照

fortran - Fortran SAVE ステートメント

(Intel の) 言語リファレンス ドキュメントのステートメントについて読みましたsaveが、それが何をするのかよくわかりません。saveステートメントがモジュールに含まれている場合の意味を簡単な言葉で説明してもらえますか?

0 投票する
2 に答える
12221 参照

fortran - Fortran90オプションの引数の存在

pgf90 7.2でのpresent()組み込み関数の動作を理解していません。これをテストするために20行のサンプルプログラムを作成しましたが、結果はまだ意味がありません。観察:

メインプログラムからtestopt(1,2、(any variable))を呼び出すと、「present check:TF」と出力されます。ただし、I:サブプログラムからtestopt(1,2、(any variable))を呼び出すと、「present check:TT」と出力されます。どちらの場合も「presentcheck:F F」が表示されると予想しました。これは、オプションではない3つの引数のみを使用してサブルーチンを呼び出しており、オプションの引数はどちらも呼び出していないためです。なぜこのように動作するのか理解できず、これが私が取り組んでいるプログラムに大きなバグを引き起こしています。洞察に感謝します。ありがとう。

0 投票する
2 に答える
311 参照

c - F90でCデータファイルを読み取る

私はプログラミングの専門家ではありませんが、ある程度の経験があります。CからFortranプログラムにデータファイルを読み込もうとしているのは1週間以上です。Cプログラムは、次のように行列をbin形式のデータファイルに保存します。

F90の私の読んだセクションは次のとおりです。

問題の解決にご協力いただければ幸いです。

0 投票する
5 に答える
16652 参照

fortran - fortran 77 から fortran 90 への変換ソフトウェア

Fortran 77 用のコーディングをしていますが、Fortran 90 に変換したいのですが、コンバーター ソフトウェアはどこでダウンロードできますか??

0 投票する
4 に答える
748 参照

multidimensional-array - Fortran デバッグ print ステートメントがプログラム フローに影響する

配列を反復処理し、決定論的に新しい行ベクトルを作成し、それを配列に追加するプログラムがあります。

各反復でベクトルのノルムが取得され、ゼロ ベクトルではないことが保証されます。ゼロの場合、プログラムは停止します。

3 回目の反復でベクトルがゼロになるというバグがありました。

このバグを探すために、デバッグ用の print ステートメント、print *、"here"、this_var などをコードに入力しました。これらの print ステートメントの 1 つ (最新のベクトルのノルムを出力します) がプログラムを修正しました。

私は印刷ステートメントが好きではありません。また、何が起こっているのか理解できないのも好きではありません。

print ステートメントが印刷するものに影響を与える理由について誰か考えがありますか?

コード (最大 400 行、大量のコメント) が利用可能

0 投票する
1 に答える
586 参照

c - Fortran はどのように配列を返しますか?

Rule_TnFortran ライブラリ CUBPACKのサブルーチンにはIntegrand、統合ベクトル関数を記述するパラメータが必要です。それは

Rule_TnC コードから呼び出したいので、上記のこのインターフェイスに正確に一致する C で関数型を定義する必要があります。したがって、Fortran 関数が配列を返す方法を理解しようとしました。最初は、次の C シグネチャを想定していました

上記のインターフェースに一致します。しかし、はるかに間違っています!セグメンテーション違反になりました。そして、 double が に対応する型であることを既にテストしておりREAL(KIND=STND)STNDはモジュールから出てきますPrecision_Model

正しい署名を教えてください。GNU Fortran および C コンパイラを使用しています。

0 投票する
4 に答える
3609 参照

types - gfortran で明示的な変数宣言を強制する

mex を使用して matlab からいくつかの fortran コード (f90) をリンクしていますが、時々 matlab がフリーズします。

以前は、データ型の不一致 (integer*4 と integer*8 など) が原因でフリーズが発生していました。

リンクしているコードには多くの暗黙的に定義された変数が含まれているため、たまにしか発生しない非表示のデータ型の競合があるかどうか疑問に思っています。

フリーズの原因としてデータ型の不一致を排除するために、コンパイラですべての変数を明示的に宣言する必要があるようにしたいと考えています。

質問:

  1. コンパイル時にすべての変数を明示的に宣言するよう gfortran に要求するにはどうすればよいですか? それができない場合、少なくとも警告を受け取る方法はありますか?

  2. すべてのアーキテクチャで特定の種類として gfortran によって解釈される「実際の」データ型はありますか? もしそうなら、それはどれですか (real*4, real*8, ...)?

  3. gfortran に「実際の」データ型を特定の種類、たとえば「real*4」として解釈させる方法はありますか?

  4. matlab でコンパイルされた mex ルーチンから呼び出されたときに fortran コードがフリーズする理由 (データ型の不一致以外) に関するアイデアはありますか?

助けてくれてありがとう。

これを理解するまで、暗黙的に定義されたすべての変数をリストしようとする多くのコード行を調べます。言うまでもなく、このような退屈な仕事から解放してくれる人には、とても感謝しています...

一番、

G.

0 投票する
1 に答える
88 参照

fortran - スタック出力の概念

私は新しいFORTRANユーザーです。前の出力を削除せずに出力をスタックに書き込みたい。1 つの "ELECTRON1" に対して 3 つの出力 A、B、C があるとします。別の「ELECTRON2」のコードを実行すると、以前のすべての出力が上書きされます。ということで、空行1行でスタック的に書きたいと思います。

どうすればできるか教えてください.......私はあなたにとても感謝しています...

よろしく

0 投票する
2 に答える
38899 参照

debugging - 問題のあるコードをキャッチするために、GFORTRAN デバッガー/コンパイラーにどのフラグを設定しますか?

これに答えるには経験が必要なので、どの教科書にも載っていないと思います。私は現在、コードをテスト/検証し、バグを探して製品状態にする段階にあり、エラーが発生すると、多くの人がダークサイドなどに苦しむことになります.

  • デバッグ目的で Fortran 用にプログラムをコンパイルするとき、どのような種類のフラグを設定しますか?

  • 本番システムにはどのようなフラグを設定していますか?

  • デプロイする前に何をしますか?

製品版はifortコンパイラとして使用しますが、私は でテストを行いgfortranます。私はそれを間違っていますか?

0 投票する
1 に答える
1128 参照

variables - Fortran 90 での変数名のループ

さまざまな次元の配列が大量にあります。ただし、var1、var2 などのように順番に名前を付けています。それらを読むために、次のような方法でそれらをループすることに興味があります。

もちろん、配列は次元が異なるため、単純に次元を追加して 1 つの次元に折りたたむことはできません。

私の印象では、Fortran は文字列を変数名などに変換することを許可していないので、これを処理する方法を知っている人はいますか?

ありがとう!