• ベストアンサー

Fortran において変数の定義

a-kumaの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.4

No.3 の回答に補足。 コンパイルオプションで、定数を倍精度で扱うコンパイラもある(→参考URL)ので、 そっちの方も気にして見てください。

参考URL:
http://www.compaq.co.jp/products/dvf/docs/vf-html/pg/pg04_01_31.htm

関連するQ&A

  • Fortran90/95の出力方法について

    Fortran90/95の出力方法について Fortran95において,変数の値をwrite文で出力した後に改行しない方法を教えてください. 具体的には次のProgram reiを用いて質問します. program rei implicit none integer i, n read(*,*) n do i = 1, n write(*,*) i end do end このプログラムを実行させnに3を代入すると次のように表示されます. 1 2 3 しかし,私としては次のように改行せずに表示させたいのです. 1 2 3 また,諸事情により配列は使用しません. プログラムをどのように改良すればよいのでしょうか.教えてください.

  • fortranからgnuplotへ

    gnuplot4.4.2を使って、グラフを書いております。 座標の情報は、ファイルから読み込みを行います。 ファイルの中身は、コンピュータで計算させたため、 0.1098998*10^-2 の表示が、 ( i ) 0.1098998D-02 となっております。 この表で書かれたデータがあまりにもたくさんあるため、すべてを ( i i ) 0.1098998e-2 と直すのは、正直面倒です。 そこで質問なのですが、 (1) 上記を表示のまま、gnuplotでグラフを書くためにはどうすればよいのでしょうか。 もし、( i ) の表記をどうしても (i i ) のようにしなければならな場合、コンピュータの計算の結果をそのままgnuplotで書きたいと思います。 (2) 現在fortran77 ( 実際は、fortran95 に対応しておりますが、77の範囲でプログラムを書いております ) を使って、計算をしております。 計算結果をそのままグラフにするためのプログラムはどのようにしたらよいのでしょうか。 どなたか、(1)か(2)の質問をヒントだけでもいいので教えてください。

  • fortranでのNaNについて

    お忙しい所、NaNについて回答お願い致します。 fortranでプログラムを使用して数値計算を行っていますが、計算途中で結果がNaNとなり困っています。 NaNは、0で除算を行なったり、負の数の指数を求めようとした時に出る無限大や定義できない値のようなのですが、式を見ても0で除算を行なったり、負の数の指数を求めようとしている所はありません。 もし同じような経験をされて見事解決された方、居られましたらその時の対処法をお聞かせ願えないでしょうか。 何卒よろしくお願い致します。

  • makeについて(FORTRAN)

    FORTRANでのプログラムについて質問させてください。 現在、一つのコードにsubroutineをいくつかまとめて、 計算を走らせています。 subroutineとmain programでの共有変数は、全て common/変数、変数/としているのですが、プログラムが複雑化するとこれでは計算速度が落ちるのでしょうか。 そこで、subroutine毎にコードを分けて、makeを使用してmakefileを作った方が、圧倒的に計算速度も作業効率も上がるのかどうか教えてください。

  • fortran90

    fortran90 現在 fortran90 で計算プログラムを作っております。 プログラムはかけたのですが、実行画面にエラーが出ます。 解決方法が分かりません。どなたか分かる方いらっしゃいますか。 プログラム implicit real*8 (a-h,o-z) parameter(n=900) open (1,file='004.txt',status='old') do 10 i=1,n read (1,*,end=11)xx,yy,zz,ww theta=acos(zz) phi1=acos(xx/sqrt(1-zz*zz)) phi2=asin(yy/sqrt(1-zz*zz)) write(*,*)theta,phi1,phi2 10 continue 11 end プログラム内容 あるフォルダーに保存してあるテキストファイルから4×4行列のデータを読み込み、そのデータからθの値とφ1、φ2のアタを求めるプログラムです。 実行分のエラー画面には、 acos: DOMAIN error です。

  • Fortranの変数の配列の設定値を計算中に設定するには?

    FortranでプログラムをつくるときAという変数にBの値の範囲で配列を設定する。A(B) このとき、プログラム作成時にはAには具体的な数値を設定しておかなくても良いですが、Bには具体的に配列の数を設定しておく必要があるように思います。  質問は、  プログラムが動く初めにはBに具体的な値を入れず、プログラム作動状況に応じてプログラム作動中にBの配列の範囲を設定できないものでしょうか?

  • gdbでFortranの名前つきcommonブロック内の変数の表示

    いまどきFortranなんてカテゴリーさえもないのですが、よろしくお願いします。 去年の暮れからLinuxを使って、Fortranで計算をしています。 質問は、Fortranの名前つきcommonブロック内のの配列変数をgbdを使ってデバッグしている時にprintコマンドで表示したいのですが、やり方がわかりません。 write文を使うというデバッグ方法には戻りたくないので、gdbで解決したいのですが、いかがなものでしょう?

  • FORTRANの問題

    今、大学でFORTRANを習っているのですが、先生の出した例題で、  N = 5 A = 1.1 A = A * N WRITE (*,*) N, A この場合、ディスプレー上に表示される変数Nと変数Aの値は各々5と0.0になる、この理由は? というのがありました。しかし、自分で勉強した限りはどうしても変数Nの値は5.5だと思うのですが…でもやり始めたばっかで自信もありません。どなたか教えていただけませんでしょうか?

  • LTspiceの変数の定義

    LTspiceでトランジェント解析を行っており、終了時間を指定する時に、波形二つ分のシミュレーションを行いたいと考えています。通常であれば周波数の逆数を自分で計算して値をstop timeに打つと思うのですが、周波数を振ってシミュレーションを行う為、いちいち打ち直すのが面倒です。 Hspiceでは .tran '1/freq' .param freq=100k と変数で定義していたのですが、LTspiceでは上手くいきません。 LTspiceでも正弦波を定義するところでは SINE(1 0.1 '{freq}*2') で認識してくれたのは確認しました。 stop timeで、変数の計算をする方法は何かありませんか?

  • fortran77教えてください

    fortran77の問題で次のプログラムの作成の仕方を教えてください 整数A,B,Cを読み込み、それを係数とする2次方程式Ax^2+Bx+C=0の解を計算して表示するプログラムを サブルーチン副プログラムを用いて作成せよ(複素数型を使うこと) メインプログラムでは整数A,B,Cの入力および解の出力および解の出力を行い解の計算はサブルーチン副プログラムで行うこと なお'keisan.txt'という名前のデータファイルに結果を出力するように 計算時は以下の3つの方程式を用いること x^2+3x+5=0 X^2+6x+4=0 x^2+x+1=0