• 締切済み

gnuplotにおいて

数値計算でf(x)=-1/xのグラフをgnuplotを使いながら計算しています。 その課題において,x軸方向に周期5ずつずらしてf(x)=-1/xのグラフをずらしていく(左右に)といった作業があるのですが,方法がわかりません。 助けてくださる方がいたら,至急お願いします。

みんなの回答

回答No.3

#1です。 90回ループを回すことになりますね。 gnuplotでもループ制御できます。 gnuplot ループ で検索すると例えば 次が引っかかります。 http://t16web.lanl.gov/Kawano/gnuplot/misc1.html この後ろのほうにある「ループの作り方」が参考になるんでは?

参考URL:
http://t16web.lanl.gov/Kawano/gnuplot/misc1.html
  • bbbbcc
  • ベストアンサー率0% (0/4)
回答No.2

90個をgnuでやるやり方はわかりませんが、絵を描くぐらいならエクセルなら簡単にできちゃいますよね。 ちょっと面倒だけどプログラム書くとか方法はたくさんあります。 どんな数値計算をやるのか具体的に言っていただければ説明はできると思いますがmm

回答No.1

お尋ねの内容がいまいち掴めませんが、 次のようなのは当たり前すぎて参考にならない、でしょうか? f(x)=1/x plot f(x+5),f(x),f(x-5)

yanacks55
質問者

補足

これを連続で90個やる必要があるのですが,全く見当がつきません。。。

関連するQ&A

  • gnuplotで

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

  • gnuplotの目盛りの調節

    gnuplotで目盛りの間隔を換えたいのですが、 x>0では1目盛りが1cm、x<0では0.1目盛りが1cm見たいなことはできますか?ちょっとわかりにくいですが、x<0ではx>0のときよりもグラフをx軸方向に10倍できるようにできますか?

  • グラフ描画コンテンツのgnuplotの使い方について質問します。

    グラフ描画コンテンツのgnuplotの使い方について質問します。 グラフを書く際に、範囲を分けて書きたいのですがどのようにすればいいのでしょう? 具体的に言いますと、F(x)=x のグラフを x軸 -5から0までの範囲、g(x)=x*xのグラフを x軸 0から3までの範囲で描写したいときに、どう打ち込めばよいのでしょうか?

  • gnuplotでのグラフの作り方について教えてください。

    gnuplotで、例えば 100 200 300 400 600 500 200 100 800 400 200 500 というテキストファイルがあります。 これをグラフにしたいのですが、 X軸をこの行の数を取り入れたいのですが どうすればいいのでしょうか? やはり、一列目に 1 2 3 と入れなければいけないのでしょうか? わかりにくいかもしれませんが 補足はしますので、ご指導おねがいします。

  • GNUPLOTでΣは?

    GNUPLOTを使って、 f(x) = Σ[ {(-1)^n } * { cos (2nπx / L) } / n ] (Lは定数で、Σのnの範囲は0~20です) 横軸にx、縦軸にf(x)をとってグラフを書く事はできるのでしょうか??もしできるのであれば、どのように入力すれば良いか教えてください。お願いします。

  • Octaveのデータを保存し、gnuplotで表示

    現在、Octaveの計算結果の数値を保存しgnuplotでグラフ表示させたいと考えています。 ですが、for文を利用した際に最後のループの数値しか保存されません。 すべての数値を保存したいのですがどのようにすればよいかご意見をいただけないでしょうか。(mファイルで実行しています) また、保存したデータをグラフ化する際のgnuplotのコマンドを教えて頂けないでしょうか。 よろしくお願いします。 【参考プログラム】 for a=-2:1:2 for b=-2:1:2 printf("x(1)=%f x(2)=%f \n",a,b); printf("\n"); endfor endfor save nn.dat a b

  • gnuplotについて質問です。

    現在、linuxでC言語からパイプを使ってgnuplotに接続し、計算した結果をすぐに表示しようとしています。 下のようなプログラムでうまくいくと思ったのですが、グラフが表示されるのにすごい時間がかかってしまいます。 解決策をご存知でしたらご教示お願いいたします。 #include<stdio.h> #include<stdlib.h> #include<math.h> void main(){ FILE *plotin; double x , y; int i = 0; struct sched_param param; struct timespec tt; //gnuplotにパイプで接続 plotin = popen("gnuplot","w"); //制御LOOP開始 for(i = 0 ; i < 1000 ; i ++) { if( i == 10000) { exit(0); } //gnuplotで表示するグラフの計算 x = i * 0.01; y = x*x; //gnuplotに表示する fprintf(plotin,"plot '-' title \"oscillation\" \n"); fprintf(plotin,"%f %f\n", x,y); fprintf(plotin,"e\n"); i++; } //gnuplot閉じる pclose(plotin); }

  • 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で対数グラフ用紙のような背景を書けるかもわからないので 書けない とい事がわかるだけでも 有難いです! でも、できるのであれば書きたいです。 どなたか 分かる方は教えてください! よろしくお願いいたします

  • gnuplotでグラフの出力

    gnuplotで以下のファイルを可視化したいのですが。 出力ファイルに 0.0 10E-9 1.0 10E-9 2.0 9E-9 .... ..... ..... ...... ..... ...... 10.0 ....... 12.0 ....... 15.0 ....... ..... ...... 170.0 ........ 180.0 ...... のような2列のデータがあります。 1列目をx軸、2列目をy軸として2次元のグラフを描きたいのですが どのようにすればできるでしょうか? どなたかご存知の方よろしくお願いします。

  • gnuplotが分かる方教えてください。

    貯蔵弾性率と損失弾性率のグラフを描くにあたり、 横軸をG’(ω)/GおよびG''(ω)/G、縦軸をωτとなるグラフをgnuplotで描きたいのですが、 gnuplot>plot x**2/(1+x**2), x/(1+x**2) gnuplot>set logscale xy gnuplot>replot ではだめでしょうか。 何回やっても、x/x2 range must be greater than 0 for log scale!というエラーメッセージが出てしまいます。どう直せばいいか分かる方教えてください。