MatlabとGunplotがうまくリンクしない!解決策を教えてください!

このQ&Aのポイント
  • フリーダウンロードしたmatlabとgunplotの連携がうまくいかず困っています。初心者向けサイトの解説を参考にグラフ作成を試みましたが、エラーが発生していて解決策を探しています。
  • gnuplotのフリーダウンロードをしてMaTXから呼び出そうとした際に、mgplot(1,x,y)の実行時にsyntax errorが表示されました。また、gnuplot(1,x,y)に変更した場合にはundeclared function or undefined variableと表示されます。
  • マットラブとグンプロットの連携に問題があります。初心者向けサイトの手順に従ってグラフ作成を試みた際に、mgplot(1,x,y)の実行時にsyntax errorが発生しました。gnuplot(1,x,y)に変更するとundeclared function or undefined variableというエラーが表示されます。解決策を教えてください!
回答を見る
  • ベストアンサー

matlabとgunplotがうまくリンクしてくれません(泣)

今日の昼過ぎからフリーでダウンロードしたmatlabを今(もう23時!?)までいじくりまわしています!筋金入りの初心者です。ある初心者向けサイトの解説を頼りに簡単なグラフを書く作業を行いました。 ↓具体的にはこういうレッスンです。ここから・・・↓  例)y=x^2のグラフをx=0~20の範囲(2刻み)でプロットさせたい。  コマンドはたった3行でOKです。 >>x=[0:2:20]; >>y=x^2; >>mgplot(1,x,y); 実行すると…(※実際にはgnuplotで描かれたグラフが載ってます) ちなみにこのグラフを表示させているソフトはgnuplotといってMaTXとは別のソフトです。 MaTXからgnuplotを呼び出してグラフを描かせているわけですね。 ↑レッスンここまで↑ いそいそとgnuplot(Version.4)をフリーダウンロードし、上記の手順で MaTXからgnuplotを呼び出そうとするのですが上手くいきません。 mgplot(1,x,y);syntax errorとなります。 3行目を>>gnuplot(1,x,y);にしてみると、 gnuplot(),Undeclared function or underfined variable と表示されます。 どなたか解決策をお願い致します!

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

syntax errorといわれてるので、入力が誤っている可能性が高いですが、とくにそこらへん間違ってないのでしたら、環境変数の設定が足りないのかも。設定を確認してみては。 >いそいそとgnuplot(Version.4)をフリーダウンロードし Windows向けのMatX 5.3.37ですと、gnuplotが同根されていて、特に何もせずともグラフが描画されます。

ko_ga_me
質問者

お礼

どなたか回答してくれてるかなぁ~って帰宅後PCをつけたら、回答頂けていました。うれしかった♪ありがとうございます! 早速MatX 5.3.37でやってみました・・20時からずっと(ホントドンくさくてすみません)頑張りましたがギブアップ!以前とは違うコメントが出てきました。 ↓これが私が入力したものです(3行だけです)↓ x=[0:2:20]; y=x^2; mgplot(1,x,y); ↓リターンキーを押すと・・・↓ "C:\MaTX-DJ\inputs\graph\mgplot.mm",line291:MAX_WIN(Undefined),Undefined variable と(マトラボに)言われてしまいます。 osamuyさんが下さったアドバイスの『環境変数』はマイコンピューター→プロパティ→詳細設定→環境変数(n)でシステム環境変数(s)の変数Pathを編集して、私の場合でしたら"C:\MaTX-DJ\inputs\graph\mgplot.mm"を追加するという事なのでしょうか?やってはみたのですがうまくいきませんでした。 もしよろしければ、またアドバイスを頂きたいです。 変な事ばかり聞いて申し訳ございませんがよろしくお願い致します。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

>↓これが私が入力したものです(3行だけです)↓ じぶんもこの3行だけ入力して、正常にグラフが表示されました。 環境変数の設定を行ってませんので、逆に、なにか変更しているのだとしたら、それが悪さしているのかも。 一度、変更部分を元に戻したり、アンインストールしてみては。

ko_ga_me
質問者

お礼

osamuyさん お世話になっております。アンインストール⇔インストールを本当は昨日から頑張ってて、osamuyさんにはうまくできてからお礼が言いたかったんですが、とうとう休日も終わりかけて・・・(泣) きっと私がマトラボ以前にPCの設定を分かってないんですね。近日中に詳しい友達に家に来てもらって解決します(何て情けないんでしょう!)ずっと(って4年ですが)機械設計をやってた私が、最近システムの熱マネージメントの部署に移らないといけない事になって少々焦ってたんですね。今後この分野で生きていくために精進しますので、またMATLAB関係で変な質問してるの見かけたら助けて下さい!この度はありがとうございました。

関連するQ&A

  • matlabについて教えてください

    プログラミング初心者です。matlabについて教えてください いまmatlabのプログラム上に、x, y, z, という、それぞれ5行1列の変数があります。 これらをまとめて、linuxのテキストエディタ(geditなど)で読み込める1つのファイルを作りたいと思っています。 作りたいファイルは、1列目にx、2列目にy、3列目にz の値が並んでいるような感じです。 どうかやり方を教えて下さいますようお願いします。

  • Matlab 2行の行列をプロットしたいのですが

    こんにちは、Matlabを使い始めのものです。 二行の行列(2x10とか2x40など)にについて、一行目をx座標、二行目をy座標としてグラフ化したいのですが、うまくいきません。 自動的にx座標は列の番号となり、二つのグラフが現れてしまいます:y座標に一行目、二行目、両方がプロットされてしまいます。どうにか、一行目をx、二行目をy座標としてグラフ化できないでしょうか。おそらく、とても単純なことなのかもしれないのですが、どうしてもわからず、とても歯がゆい思いをしています・・・。どうかご教示ください。 何をしたいかといいますと、音声データをMatlabで取り込んだのですが、振幅データがずらっと並んだ、1x500000とかの行列が得られます。 これを、プロットすると、x軸はサンプル番号が並ぶわけですが、本当はx軸は時間であって欲しいため、音声データの行列にひとつ行を足して、時間軸を作ってあげました。つまり、今手元にあるのは、2x500000の行列で、一行目が時間、二行目が振幅となっています。これをx軸が時間軸、でy軸が振幅となるようにグラフ化してあげたいと考えています。 文章がわかり辛くて申し訳ないのですが、何卒よろしくお願いします。

  • MATLABの使い方

    純粋な数学の質問じゃなくて申し訳ないのですが、数学に関することなのでここで質問させていただきました。MATLABを使って以下のことを計算させたいのですが、その入力の仕方を教えてください。 1.以下の近似値を求めよ。 (1)e=lim[n→∞](1+1/n)^n (2)e=Σ[n=0→∞]1/(n!) (3)π=4(1-1/3+1/5-1/7+…) (4)π=4{4(1/5-1/(3・5^3)+1/(5・5^5)-…)-(1/239-1/(3・239^3)+1/(5・239^5)-…)}  (5)100^(1/9) (6)5^(-x)=x 2.以下の関数のグラフを表示させる  (1)e^(-x)・Arctanx (-5≦x≦5)  (2)x=(t^2-t-3)e^(t)・cost,y=(t^2-5t+1)e^(t)・sint (-1≦t≦10) MATLABに関してはまったくの初心者なので、できれば入力方法を具体的に示していただければ幸いです。よろしくお願いします。

  • MATLAB初心者です。教えてください

    MATLABにて画像のようなグラフを作りたいのですが、plotyyなどを使って作ろうとしてどうしてもできずに困っています。 左の画像から右の画像に変形させたいのです。 -10x<-5,5<x<10のyが二次関数のような曲線でそれ以外は水平です。 なにかいい方法が無いでしょうか? よろしくお願いいたします。

  • グラフを描くソフトで・・・

    グラフが描けるソフトで、例えば x^2+xy+y^2+10=0 の様な、つまり、xとyの混在する式のグラフを描くことができるソフトって ありますか? できればフリーのものがよいのですが・・・ gnuplotは持っているのでいろいろ試してみたのですが、できませんでした・・・ よろしくお願いします。

  • MATLABでの不連続グラフについて

    MATLAB初心者です。インターネットや本で調べても、わからなかったので質問させていただきます。 例えば; y=t+1 (t<0) y=-t-1 (t≧0) など、一般的な不連続のグラフを書くとき、どのようにプログラミングすればよいのでしょうか? ご回答いただければ幸いです。

  • Matlabによる一次方程式のグラフ表示

    matlab初心者です。 x1 + x2 = 15 x1 + x2 = 7 x1 >= 0, x2 >= 0 を、縦軸x2, 横軸x1によるグラフ表示したいです。 しかし、matlabにこのまま何も考えずに打ち込むと、x2が定義されていない、x1が定義されていないなどと出ます。 どのようなやり方をすればいいのでしょうか。 よろしければ、実際に打ち込むコマンドを示していただけないでしょうか。 お願い致します。

  • matlabのグラフ内で指定したy値のx値の求め方

    matlab初心者です matlabで楽器音のpwrファイルからグラフをプロットしました。 今の目的は、15dB以上から15dB以下になるまでを音の持続時間として計測することです。 ですが、15dB時のx軸の値(時間)の求め方がわかりません。 x=ファイル名(y==15) のように記述もしてみましたが、yが定義されていないとエラーが起きてしまい、何がこのpwrファイルのyの値に相当するのかわかっていません。 解決方法がわかる方は教えていただけると幸いです。

  • matlab matファイルから一部だけを読み込む

    Matlab初心者です、よろしくお願いします。 Matlabでn×m行列のデータが入っているmatファイルからx×y行列のデータを変数に読み込みたいのですが、どうすれば良いのでしょうか? ご教授していただけると助かります。 よろしくお願いします。

  • matlabにおける行列の格納

    matlabにおける質問です。 (matlabもとよりプラグラミング初心者です。) 例えばx=[1 2 3;3 4 5]となっているとき for i=1:10 y(1)=i*x end のように、しても、y(1)とxの次元が合わないというエラーが 出ると思います 行列を、このように「i番目」といった添え字のついた変数に 代入するには、どうしたらよいのでしょうか。 初心者のため大変初歩的なことですが、どなたかご教授ください。 とても焦っております。。。

専門家に質問してみよう