問題タブ [fortran77]
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.
python - Python 内で Fortran コマンド ライン プログラムを実行する
だから私は少しピクルスにいます。コマンドライン入力を必要とするFortran77コード(なぜこのプログラムがF77で書き直されたのかは謎です)、つまりユーザーに入力を求めるコードを書き込もうとしています。現在、プログラムは GNUplot を使用してプロットしていますが、GNUplot フィッティング ルーチンは私の目には理想的とは言えず、Fortran から GNUplot を呼び出すのは、控えめに言っても面倒です。
私は主に Numpy、Scipy、Matplotlib を使用して、フィッティングとプロットのニーズを満たしてきました。PythonでF77プログラムを呼び出して、他のF77プログラムと同じように実行する方法があるかどうか疑問に思っていました.
F2PY については知っていますが、さまざまな意見を聞いたことがあります。私もpyexpectを使用してそこから行くことを考えましたが、画面上で予想されるプロンプトの変更を処理する方法に悪い経験があります(または単に間違って使用しています)。
これに関する情報をありがとう。
macos - Mac OSX10.6にf77をインストールする方法
Mac OS X 10.6にf77をインストールする方法を教えてもらえますか?私はf77にまったく慣れていません。
どうもありがとうございます
c++ - C++ のメモリ割り当てを処理する Fortran 77
数万行の Fortran 77 コードを使用する C++ プログラムを作成しようとしていますが、奇妙なエラーが発生します。3 つの座標 (x、y、z) と 3 つのベクトルのアドレスを C++ から fortran に渡し、fortran に初期点でいくつかの計算を実行させ、3 つのベクトルで結果を返します。
これを C++ 関数で数百回実行し、その関数を離れてから、戻ってもう一度実行します。1回目は完全に機能しますが、2回目は、正のxコンポーネントを持つポイントに対して有用な結果を返さなくなります(nanを返します)。
最初は、次の 3 つの点を除いて、アルゴリズムの問題のように見えます。
- 最初の 200 回の実行で完全に動作します
- Fortran から呼び出して C++ を完全に排除すると機能します (最終的なプログラムでは実行できません)。
- Fortran に print ステートメントを追加してどこが間違っているかをデバッグしようとしましたが、特定のサブルーチン (PRINT *,'Here' のような単純なものでも) に print ステートメントを追加すると、プログラムはファーストラン。
これが、C と fortran の関数/サブルーチン呼び出しの間でメモリがどのように割り当てられ、割り当てが解除されるかに関係していると私が考える理由です。基本的なセットアップは次のようになります: C++:
フォートラン:
私が作成している明らかなメモリの問題が見られる人はいますか? おそらく、Fortran が存在すると考えている一般的なブロックが、実際には C++ によって割り当て解除されているのでしょうか? print ステートメントを使用してデバッグする能力も、他の誰かの Fortran 77 コードの数千行を理解しようとする時間もありません。
C++ コードのコンパイルと最終的なリンクには g++ 4.5.1 を使用し、fortran コードのコンパイルには gfortran 4.5.1 を使用しています。
ありがとう
**編集:**
私が生まれる前に書かれたコードのあいまいな部分まで、エラーを追跡しました。何年にもわたる更新で削除された共通変数を探しているようです。なぜ 1 つの次元だけに影響を与えたのか、なぜバグが print ステートメントを追加することで再現可能だったのかはわかりませんが、それにもかかわらず、私はそれを排除しました。助けてくれてありがとう。
arrays - f77 で整数と浮動小数点の配列を宣言する
簡単な質問:
Fortran 77 で整数と浮動小数点数を含む 1 つの配列を宣言することは可能ですか? はいの場合、どのように?
ありがとう
MW
string - Fortran でスペースを含む文字列を読み取る
ユーザーから読み取られる文字列にスペースが含まれている場合、Fortran で read(asterisk, asterisk) を使用しても機能しないようです。次のコードを検討してください。
ユーザーが文字列「Hello, my name is John Doe」を入力すると、「Hello」のみが入力に格納されます。スペース以降はすべて無視されます。私の推測では、コンパイラは "Hello," が最初の引数で、"my" が 2 番目の引数であると想定しているため、他の単語をキャプチャするには、read( , ) input1, input2, input3 のようなものを使用する必要があります。 ...など。このアプローチの問題は、入力ごとに大きな文字配列を作成する必要があり、入力される単語の数を正確に知る必要があることです。これを回避する方法はありますか?? 文全体、スペース、およびすべてを実際に読み取る関数はありますか? どうもありがとう!
gfortran - GNU f77 / gfortranとf2cの関係?
今日のg77/gfortranとf2cの関係は何ですか?まだ開発は進んでいますか?他の進歩(バグやパフォーマンスなど)の恩恵を受けているのは1つですか?
f2cを開発しているのは誰ですか(g77 / gfortran開発者が開発していない場合)?
ありがとう
fortran - 次のFORTRAN77コードの何が問題になっていますか?
私は完全にFORTRAN77の初心者ですが、最初のコードがエラーを示しているのに、2番目のコードが同じことを期待しているときにコンパイルされる理由がわかりません。
最初のコード(コンパイルされず、zでの予期しないデータ宣言ステートメントを引用してエラーが発生します):
最初のコードと機能が100%似ているこのコードは、エラーなしでコンパイルされます
また、最初のコードで暗黙の変数宣言を無効にしてみましたが、効果はありませんでした。
fortran - FORTRAN77 のサブルーチン内で関数を使用する
レガシ コードを更新していて、サブルーチン内で単純な数学関数を使用する必要があります。これを行う方法がわかりません。テストプログラムから呼び出されたときに機能する関数があります。サブルーチンのために別の方法で何をする必要がありますか?
例:
その他の情報: bar は erf 近似です。PGF90 コンパイラを使用しています。私はCからFORTRANに不慣れです。
ありがとう!
linux - f77の複数の認識されないオプション
他の誰かが開発した完全なFortranコードをコンパイルしようとしています。makefileは、CC、F77、およびF90を参照します。私たちのサーバーにはF90が搭載されていませんが、実際に必要であることが判明した場合は、おそらくF90を要求できます。
とにかく、環境変数が適切に設定されていると思うので(正しい行のコメントを外すだけでした)、ファイルをmakefileにcpし、makeと入力すると、次のエラーが発生しました。
皆さんがお手伝いできるかどうかはわかりませんが、残念ながら、ライセンスの問題により、ここにコードをコピーするのは適切ではないと思います。とにかく、認識されないオプションが開発チームのシステムに固有であるかどうか、またはそれらが私のシステムの何らかの欠点によるものであるかどうか(つまり、高貴なシステム管理者にf90をインストールするように依頼する必要がある)を判断する方法がわかりません。他の問題。また、Fortranについてはほとんど何も知らず、ccでmakeを使用したことがあるだけなので、3番目の可能性は、他の誰かにお金を渡す必要があることですが、私のチームの誰もがFortranを知っているとは思いません。 。いつものように、あなたの助けに感謝します!
ios - Fortran コードを iPad 用にコンパイルすることはできますか?
Fortran 77 で書かれたアプリケーションがあり、iPad で動作させる必要があります。
出来ますか?多くの複雑な計算があり、精度の問題が発生するのではないかと心配しているため、このコードを目的の C で書き直す必要はありません。また、書き直す時間がありません。