問題タブ [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 投票する
1 に答える
3493 参照

arrays - FORTRAN 文字配列の反復処理

わかりました、次の Fortran 90 コードで多くの問題が発生しています。プログラム テスターは、input という文字配列を作成し、すべてのエントリを空白文字に初期化してから、ユーザーから文字列を取得して入力に格納する必要があります。getLength 関数は、スペースではない関数内の最後のインデックスを返すことになっています。したがって、ユーザーが文字列「こんにちは、お元気ですか?」を入力した場合、getLength(input) は 11 を返す必要があります。これは、指定された配列の末尾から開始し、スペース以外の最初の文字が発生した場所をマークすることで機能するはずです。 . 実際に実行しようとすると、gfortran は次のように述べています。修正する必要がありますか? 前もって感謝します!

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

parsing - Read numbers following a keyword into an array in Fortran 90 from a text file

I have many text files of this format

where the portions I snipped off contain other various data in various formats. The file format is inconsistent (machine generated), the only thing one is assured of is the keyword TURX which may appear more than once. If it appears alone on one line, then the next few lines will contain numbers that I need to fetch into an array. The last number will have a space then a forward slash (/). I can then use this array in other operations afterwards.

How do I "search" or parse a file of unknown format in fortran, and how do I get a loop to fetch the rest of the data, please? I am really new to this and I HAVE to use fortran. Thanks.

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

string - Fortran でスペースを含む文字列を読み取る

ユーザーから読み取られる文字列にスペースが含まれている場合、Fortran で read(asterisk, asterisk) を使用しても機能しないようです。次のコードを検討してください。

ユーザーが文字列「Hello, my name is John Doe」を入力すると、「Hello」のみが入力に格納されます。スペース以降はすべて無視されます。私の推測では、コンパイラは "Hello," が最初の引数で、"my" が 2 番目の引数であると想定しているため、他の単語をキャプチャするには、read( , ) input1, input2, input3 のようなものを使用する必要があります。 ...など。このアプローチの問題は、入力ごとに大きな文字配列を作成する必要があり、入力される単語の数を正確に知る必要があることです。これを回避する方法はありますか?? 文全体、スペース、およびすべてを実際に読み取る関数はありますか? どうもありがとう!

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

fortran - Fortranからの色付き端末出力

私のプログラムは計算の状態を端末に出力し、かなりの情報を含んでいます。可能であれば、テキストの一部を色分けしたいと思います。

このサイトのスレッドを参照して、BashとC++でどのように実行できるかを見てきました。しかし、Fortran(モダン)で同じ結果を達成するためにそれを使用することはできませんでした。たとえば、私はこのサンプルコードを試しましたが、これは機能するはずです。

ピンクがピンク色になっている「素晴らしい色はピンク」という出力になると思っていました。代わりに、「素晴らしい色は\033[95mピンク\033[0m」です。」と表示されます。何が欠けているのかわかりません。

コードの印刷行を次のように置き換えると、CALL EXECUTE_COMMAND_LINE("echo'素晴らしい色は\033[95mピンク\033[0m。'"))、希望どおりの出力が得られます。ただし、コードからエコーを呼び出し続けたくありません。色付きの出力を取得する方法はありますか?

ありがとう!

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

fortran - Fortran で「スタック」メモリと動的メモリを区別するにはどうすればよいですか?

ルーチンfoo()を呼び出すルーチンがあるとしますbar(argument)Argument「スタック上」の宣言 (C と並行して描画) にするか、動的に割り当てることができます。最初の方法と 2 番目の方法のどちらでメモリが割り当てられたかを調べるにはbar()どうすればよいですか?argument

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

binding - Fortran 90 から CUFFT を使用するには?

Fortran 90で記述されたプログラム ( GNU Compiler Colection 4.4.5 からコンパイルされる) で、私の知る限り C バインディングしかないCUFFT ライブラリ(nVidia の CUDA SDK 4.0.13 から)を使用するにはどうすればよいですか?gfortran

1d と 2d FFT 計算の両方に興味があります。

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

mpi - Fortran で MPI_Gatherv を使用する

この質問は、MPI_type_create_subarray および MPI_Gatherに関する既存のスレッドに従います。私の目的は、Fortran 90 で MPI_Type_Create_Subarray と MPI_Gatherv を使用して、すべてのスレーブ プロセス (数が 4) からより大きな配列のサブ配列をマスター プロセス (ランク = 0) 上のより大きな配列に集めることです。プロジェクト。以下は私のサンプルコードです:

ただし、このコードを実行すると、forrtl: severe(174): SIGSEGV, segmentation fault occurred.

収集中に初期化または宣言されていない配列の変数/場所を指そうとしているようです。いろいろな方法でデバッグしようとしましたが、無駄でした。

よろしくお願いします。

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

function - Fortran 90/95 の関数インターフェイス

関数を呼び出すサブルーチンを呼び出すプログラムがあります。関数の型宣言に関する Fortran の要件に多少混乱しています。関数 (つまり、実際の関数 foo(...)) で型を宣言しました。プログラムは、サブルーチン宣言セクションで関数を宣言するかどうかに関係なく動作します。

私の具体的な質問は、サブルーチンで関数を宣言しないと、将来予期しない動作が発生する可能性があるということです? インターフェイス ブロックも見たことがありますが、これも必要かどうか疑問に思っています。

より一般的には、Fortran が「舞台裏」で行っていることと、関数の宣言またはインターフェイス ブロックの使用が多かれ少なかれ重要である理由にも関心があります。

編集: いくつかのサンプル コード:

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

module - Fortranモジュールのフォーマットステートメント

私は、すべて同じフォーマットのセットを出力に使用するいくつかのサブルーチンを備えたモジュールを持っています。今のところ、すべてのサブルーチンでフォーマットを宣言する必要があります。モジュールでそれらを宣言して、すべてのサブルーチンがそれらにアクセスできるようにする方法はありますか?

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

linux - f77の複数の認識されないオプション

他の誰かが開発した完全なFortranコードをコンパイルしようとしています。makefileは、CC、F77、およびF90を参照します。私たちのサーバーにはF90が搭載されていませんが、実際に必要であることが判明した場合は、おそらくF90を要求できます。

とにかく、環境変数が適切に設定されていると思うので(正しい行のコメントを外すだけでした)、ファイルをmakefileにcpし、makeと入力すると、次のエラーが発生しました。

皆さんがお手伝いできるかどうかはわかりませんが、残念ながら、ライセンスの問題により、ここにコードをコピーするのは適切ではないと思います。とにかく、認識されないオプションが開発チームのシステムに固有であるかどうか、またはそれらが私のシステムの何らかの欠点によるものであるかどうか(つまり、高貴なシステム管理者にf90をインストールするように依頼する必要がある)を判断する方法がわかりません。他の問題。また、Fortranについてはほとんど何も知らず、ccでmakeを使用したことがあるだけなので、3番目の可能性は、他の誰かにお金を渡す必要があることですが、私のチームの誰もがFortranを知っているとは思いません。 。いつものように、あなたの助けに感謝します!