• 締切済み

gnuplot

fluffyの回答

  • fluffy
  • ベストアンサー率29% (87/293)
回答No.5

何となく分かりました。 こういうことをやるのに簡単なのは自分でグラフをプログラムで書かせるとかMatlabとか使うとかです。 f=sin(x)+sin(y)+sin(z)のグラフは書けません。4次元をどう表現するかは一般に決められないからです。ただ断面で切る、色にアルファを持たせて書くなどを考慮しながらfを色(カラーのグラデーションやグレースケールをつかう)で表現することで可能になります。 ただ見やすいものではないので断面でいくつかに切断して見れるようにした方がいいと思います。 回転なども出来るようにする必要があると思います。 目的によっては式自体の考え方を変える方が早いです。

ooatarinaka
質問者

お礼

最後までありがとうございました。やはりプログラミングしたほうが早いのですね。勉強になりました。

関連するQ&A

  • gnuplot

    gnuplotで関数のグラフを描かせ、その線上に印を付けたいです。 例えば、y=sin(x)のサインカーブ上の、x=π/6,π/4,π/2など希望するxの位置に相当する点に白丸○を打たせたいのです。自分でも調べてみたのですが、良い方法が見つからず困っています。教えてください。 お願いします。

  • gnuplotで

    gnuplotで 例えば x = 10 のグラフを書きたいのですがどのようにしたら良いかわかりません。 例えば、y = 2x+10 であれば、 plot 2*x + 10 で書くことができますが、 y軸に垂直な値を記入する方法をご存知の方教えて下さい。

  • gnuplotでのグラフ作成について

    タイトルに在るとおりgnuplotを使用してのグラフ作成について質問させていただきます。 作成したいグラフの数式は、 z=h(x,y) h(x,y)=1/1+√<x^4+y^4> ×{xsin(4√<x^4+y^4>)+ycos(√<x^4+y^4>)} ただし、 x と y の範囲は -3 から 3 まで というものです。こういった形で数式を書くことに慣れていないため、見づらいところ多々在るでしょうが、ご容赦ください。 恥ずかしながらgnuplotというソフトに触れることが初めてなため、検索などを利用して自分なりに調べた結果なのですが。 1 h(x,y)=~ で h の数式を設定。 2 set xrange[-3:3] 3 set yrange[-3:3] で x y の範囲を指定。 4 sprot h(x,y) でグラフを作成する という流れになるのではないか、ということがなんとなくですがわかりました。 ここで私は、x yの範囲を指定後、h をプロットしようとするところで、hの情報が不足している(?)とのメッセージにて弾かれてしまいます。 恐らく私の、h の数式入力に不備が在るのだろうと思います。 平方根をsqrt 乗数は**n になることはわかっているのですが、どうにも手詰まりです。 お力添えをいただけないでしょうか。よろしくお願いします。

  • gnuplotについてです。

    gunuplotにつてです。txtファイルを読み込ませてグラフを表示させようとしているのですが、正しいグラフが表示されません。 1,0.000000 2,0.101250 3,0.005926 4,0.092264 5,0.022579 6,0.024491 7,0.042990 8,0.090047 9,0.048075 10,0.005063 こんな感じの座標のグラフファイル読み込みでを表示させたいのですが、実際にはy=xみたいなグラフが出てきてしまいます。どうすればよいですか。

  • gnuplotの使い方が・・

      先日、初めて学校でgnuplotを習ったのですが、 saveコマンドの使い方がよくわかりません。マニュアルには、「それまで描画した最後のグラフを作成する手順がファイルに保存される」とあり、とりあえず、  >set samples 200 >set xrang [-10:10] >plot sin(x) としてサインのグラフをかいてみて その後  >save ''graph.plt'' として保存しようと思ったのですが no such directly or file と表示され 保存できません。どうずればできるのですか。出力先とか を変更するのですか。よくわかりません。どなたか教えて下さいお願いします。

  • 複素数の横軸がRe で縦軸がImのグラフの書き方

    z=1-jみたいなグラフならかけるんですけど y(t)=cos(ωt) や x(t)=2sin(ωt)みたいなグラフの書き方がよくわからないです どうやって書くのでしょうか?

  • gnuplotの使いかた(linux)

    gnuplotを用いて3次元のグラフを描こうとしています。 試しに、 set pm3d splot exp(-x*x)*exp(-y*y) というコマンドを実行すると、 Error:terminal "unknown" does not support continuous colors. が表示されます。 使用OSは linux debian gnome terminal です。 gnuplot version4.0です。 どうすれば、3次元のグラフを描くことができるのでしょうか?

  • 座標変換について

    座標系XYZの空間に点A(X1,Y1,Z1)、点B(X2,Y2,Z2)、点C(X3,Y3,Z3)があります。 この3点を通る円の中心をP(X0,Y0,Z0)とし、 円の存在する平面をx'y'平面とします。 さらに原点を点P、x'軸はPAを通る直線とします。 座標系x'y'z'から円周上の点D(X',Y',Z')を求め 座標系XYZに変換した(X4,Y4,Z4)を求めたいのですが、どうすればよいのでしょうか? 以下のようにすれば求まると思うのですが角度α、β、γの求め方が分かりません。 X'' = X' * cosα - Y' * sinα Y'' = X' * sinα + Y' * cosα Z'' = Z' X''' = X'' Y''' = Y'' * cosβ - Z'' * sinβ Z''' = Y'' * sinβ + Z'' * cosβ X4 = X''' * cosγ + Z''' * sinγ Y4 = Y''' Z4 = Z''' * cosγ - X''' * sinγ よろしくお願いします。

  • gnuplotで片対数グラフ の書き方について

    gnuplotで対数グラフを書く際に 100.0msec 1.0sec 10.0sec (x軸) 1nsec 10nsec 100nsec(y軸)で、 それを「対数グラフ用紙」に作成していきたいのです。 100.0msec 1.0sec 10.0sec (x軸) 1nsec 10nsec 100nsec(y軸)の部分は >set grid >set yrange [ y_min : y_max ] >set xrange [ y_min : y_max ] とすれば、範囲とグリッド線を書けるのは調べたられたのですが (範囲はどうやったら、100.0msec 1.0secとかの値になってくれるのかは 分かっていませんが…) gnuplotで対数グラフ用紙のような背景を書けるかもわからないので 書けない とい事がわかるだけでも 有難いです! でも、できるのであれば書きたいです。 どなたか 分かる方は教えてください! よろしくお願いいたします

  • 極座標表示

    模範解答と計算が合わないのです・・・。 比較してみて下さい。 3次元ポテンシャルと極座標表示の分野で、 シュレーディンガー方程式に使う為の変換です。 △(x、y、z)=(∂^2/∂x^2)+(∂^2/∂y^2)+(∂^2/∂z^2) という式を x=rsinθcosψ、y=rsinθsinψ、z=rcosθ の変数変換をする。 ∂/∂x=(∂r/∂x)(∂/∂r)+(∂θ/∂x)(∂/∂θ)+(∂ψ/∂x)(∂/∂ψ) ∂/∂y=(∂r/∂y)(∂/∂r)+(∂θ/∂y)(∂/∂θ)+(∂ψ/∂y)(∂/∂ψ) ∂/∂z=(∂r/∂z)(∂/∂r)+(∂θ/∂z)(∂/∂θ)+(∂ψ/∂z)(∂/∂ψ) と表され、 r=√(x^2+y^2+z^2)、tanθ={√(x^2+y^2)}/z、tanψ=y/x の関係から各係数を計算して (∂r/∂x)=x/r=sinθcosψ、(∂r/∂y)=y/r=sinθsinψ、(∂r/∂z)=z/r=cosθ (∂θ/∂x)=cosθcosψ/r、(∂θ/∂y)=cosθsinψ/r、(∂θ/∂z)=-sinθ/r (∂ψ/∂x)=-sinψ/rsinθ、(∂ψ/∂y)=cosψ/rsinθ、(∂ψ/∂z)=0 となるので、これをずーっと計算すると △(r、θ、ψ)=(∂^2/∂x^2)+(∂^2/∂y^2)+(∂^2/∂z^2)       =(1/r^2)(∂/∂r)(r^2・∂/∂r)       +(1/r^2sinθ)(∂/∂θ)(sinθ∂/∂θ)       +(1/r^2sin^2θ)(∂^2/∂ψ^2)       ―――(1) となるそうなのですが、 私がちまちま計算しましたところ、 △(r、θ、ψ)=(∂^2/∂r^2)+(1/r^2)(∂^2/∂θ^2)+(1/r^2sin^2θ)(∂^2/∂ψ^2) という形になりました。 同じようで、微妙に違うのですが これはどういうことなのでしょうか? そのまま(1)式に拡張して良いのか、 計算が途中で間違えたのか、如何でしょう。