• ベストアンサー

Fortranとgnuplotについて困っています

Fortranとgnuplotについて困っています こんにちは。 現在、Fortranプログラミングでgnuplotを使用した座標出力プログラムを考えているのですが、いまいちわかりません。 中心(0,0,0),半径1の級の球面上の座標を出力するプログラムを考えています。その際 ・z>=0のときだけでよい ・gnuplotで確認できる ・Fortranのプログラムファイルでまとめる。 以上を満たすものを考えています。内容自体は基本的なことだとは思いますが、いまいち勝手がわからず困っています。 拡張子.f90でどのようなファイルを作ればいいのか教えていただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

#2です。 途中で送信しちゃいました。 最後のサンプルプログラムに、x, y, zを計算する処理が抜けてます。 printする前に、 x=sin(th)*cos(phi) y=sin(th)*sin(phi) z=cos(th) って計算が必要かも。

その他の回答 (2)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

> ・gnuplotで確認できる のためには、x, y, zが空白区切りで出力されていればOKです。 座標の表現を、 同志社大学 工学部電気系 応用数学研究室 - 2005年度講義 - 解析学II - 2.23 3 次元空間の極座標 http://gandalf.doshisha.ac.jp/~kon/lectures/2005.calculus-II/html.dir/node31.html に倣い、球面上の1点って事なら、 x = sinθcosφ y = sinθsinφ z = cosθ で計算され、 > ・z>=0のときだけでよい の条件ならば、 θは0~π/2までループ φは0~2πまでループ で、それぞれの状況でのx, y, zの値を出力します。 FORTRANはしばらく見ていないのでうろ覚えですが、ざっくり書くと、 double pi, th, phi, x, y, z pi=3.14159265358979 do th=0.0, pi/4, pi/60  do phi=0.0, pi*2, pi/30   print *, x, y, z  end do end do とか?

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「中心(0,0,0),半径1の級の球面上の座標」といわれてもそれがどういうものか全くわからないし「gnuplotで確認できる」が何を意味するのかさっぱり分からない.

関連するQ&A

  • 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のプログラム

    fortranのプログラム 現在、fortranの勉強をしております。 そこで、質問があるのですが、 ある関数f(x,y,z)の座標(x,y,z)の値がデータとして与えられているとき、 S=10+f をfortranで計算したいと考えております。 ただ、関数fは複数(f1、f2、f3)あり、次々とfに代入してSを計算したいのですが、どのようにプログラムしたらいいか思いつきません。 どなたか、ヒントだけでもいいので、教えてください。 ちなみに、私が考えたプログラムは(下のプログラムはポイントだけ書いてあります。endやその他関係ないと思われるところは省いております。) do 100 k=1,3 S=S+fk(x,y,z) continue function f1 f1(s,t,u)=・・・ return end f2(s,t,u)=・・・ return end 使用しているバージョンは、fortran77(本当は90を使っているのですが、77だけで書いています)です。

  • Fortranで出力したファイルの内容を並べ替えたいです

    いま、Fortranをつかって統計物理の解析を行っています。計算結果は --- 時刻T1 AのX座標 AのY座標 AのZ座標 BのX座標 ・・・ 時刻T2 AのX座標 AのY座標 AのZ座標 BのX座標 ・・・ ・ ・ ・ --- という具合に出力されるのですが、この形式では都合が悪いことがあって --- A T1 X Y Z T2 X Y Z ・ ・ ・ B T1 X Y Z T2 X Y Z ・ ・ ・ C --- と言う感じに出力したいのですが、それぞれの物体が独立して運動するわけではないので、どうしても上の形式で一度出力してからほしい形式に変換しなればなりません。私はFortranしか使ったことがないのでできればFortranで並び替えを行いたいのですが、このようなことがFortranでできますか?また、Fortranでこのような並び替えをするにはどうすれば良いのでしょうか。御教授よろしくお願いします。

  • FORTRANについて

    今、大学の研究室でFORTRANの勉強をしています。そこで、院生から問題を出されました。それは、 テキストファイルから数字を読み込み、それらをFORTRANの中で計算し、その答えをまたテキストファイルに出力する、というプログラムです。 計算するところまではできたのですが、どうしてもテキストファイルに出力するプログラムがわかりません。 出力の仕方だけでも教えてください。教科書にもなく、図書館でも古い時代のものばかりで。しかも、僕は学校の関係でFORTRANを全く知りません。

  • fortran

    fortranでファイルに出力したく、出力したいファイルには文字が書いてあり、その文字の下に出力をさせたい場合にはどうのようにプログラムを書けばいいのですか?

  • gnuplotについて

    以前、こちらでgnuplotのデータをファイルに出力する方法を教えていただいたものです。 以下のようにやってみたのですが、 gnuplot> set yrange [0:5] gnuplot> plot "h1.txt","h4.txt" gnuplot> set terminal postscript eps Terminal type set to 'postscript' Options are 'eps noenhanced monochrome blacktext \ dashed dashlength 1.0 linewidth 1.0 defaultplex \ palfuncparam 2000,0.003 \ butt "Helvetica" 14' gnuplot> set output 'h20.eps' gnuplot> replot epsファイルが出来ただけで、開くことが出来ません。 開こうとすると『作成元のプログラム名が必要です。インターネットで自動的にプログラムを検索するか、またコンピューターにあるプログラム一覧から手動で選択してください。』と出ます。 どうすれば、開くことが出来るのでしょうか? 印刷のためのファイルなので、開くことは出来ないのでしょうか?

  • 数学の球面の中心や半径に関する質問です。

    数学の球面の中心や半径に関する質問です。 球面S:x^2+y^2+z^2+2x4y-6z-2=0について以下の問に答えよ (1)Sの中心Aの座標およびSの半径を求めよ この1問です。解説、よろしくお願いします

  • Fortran90 プログラミング

    プログラミング初心者です。Fortran90を使って、次の機能を持つプログラムを作成し、ソースと実行結果を示していただけませんか? 「半径rを入力すると、そのrを半径とする円の面積、球の体積、球の表面積を表示する。」

  • 3つの球の交点

    3次元空間中に座標・半径が既知の球面が3つあり、これらが2点で交わっている時、この2点の座標はどのように表されるのでしょうか? xyz直交座標系で考えるものとし、 3つの球は 1つ目の球:中心の座標(x1, y1, z1), 半径r1 2つ目の球:中心の座標(x2, y2, z2), 半径r2 3つ目の球:中心の座標(x3, y3, z3), 半径r3 で与えられるものとします。 何か参考になるウェブページや資料等をご存知の方、教えていただけませんか?

  • Fortranのためのグラフィクスツールについて

    基本的にfortranはコンピュータグラフィックスが含まれていないので私は外部のライブラリを読み込んでポストスクリプトファイルを作成してそこに書きこむことをやってきました。PSPLOTというものです。そのPSPLOTはF77を前提としているのでF95のコンパイラをどんどん更新していくと使えない機能が出てきました。そのライブラリはソースがあるから自分で更新してもいいかもですが、気力がないのでgnuplotを使うかなと思っています。 PSPLOTライブラリは作図のソースから呼び出して使いますが、大雑把な動作としてはポストスクリプトファイルを開き、ペンアップで始点に移動しペンダウンして終点まで線を引く、ということを繰り返すものです(筆の動きと同じ)。それをコマゴマとやっているだけでそのあと終了宣言をしてポストスクリプトファイルを閉じます。そしてポストスクリプトのビュアーで結果を見るという流れになります。 CALL PLOT(X,Y,2)というようなコマンド群で懐かしいと思われる向きもあるかもと思いますが。カルコンプ社とかのものがメインフレームに入っていたことがありましたが。 今回、改ページ処理ができないようになり、ページをめくって何枚も絵を描くことができなくなりました。gnuplotでは改ページはできるのでしょうか。 あるいはgnuplotでなくてもいいのですが、Fortranのグラフィックスを割と簡単な設定で使い始めることができるツールがあれば教えて頂きたいのですが。 よろしくお願いします。