home «前の日記(2008-07-07) 最新 次の日記(2008-09-01)»

いろいろ
Seize the day.

2004|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|07|09|10|
2009|12|

2008-07-16 [長年日記]

[comp] MATLAB で陰関数をプロットする

MATLAB で f(x,y)=0 というような陰関数を x-y 平面にプロットしたい場合のメモ.

例として x^3+y^3-3xy=0 (デカルトの正葉線) をプロットしたい場合は,
[x, y] = ndgrid(-3:0.01:3,-3:0.01:3); % x,y の範囲は適当に設定
V = x.^3 + y.^3 - 3*x.*y; % ここに関数 f(x,y) を書く.
contour(x, y, V, [0 0],'b'); % ('b' はオプション: 線の色を青に指定)
のようにすればよい.なお x,y はベクトルなので,f(x,y) 内の乗除算,べき乗などは要素毎の演算子 "." をつけないとうまく動かない.

以下は,デカルトの正葉線,カージオイド,リサジュー図形の例.
V = x.^3 + y.^3 - 3*x.*y;
folium
V = (x.^2 + y.^2-2*x).^3-4*x.^2.*y.^2;
cardioid
V = 4*x.^3 - 3*x - (16*y.^5 - 20*y.^3 + 5*y);
lissajous

ちなみに,Mathematica には ImplicitPlot という関数が用意されているほか, gnuplot でも描く方法はある.
このエントリーをはてなブックマークに追加 はてなブックマーク数 はてなブックマーク数 はてなブックマークコメント   このエントリーを livedoor クリップに追加 livedoor クリップ数 このエントリーを del.ici.ous に追加 このエントリーを buzzurl に追加 buzzurl クリップ数

お名前:
E-mail:
コメント:
[TrackBack URL: http://nao.s164.xrea.com/td/tb.rb/20080716]
[(注) スパム対策のため,言及リンクのないトラックバックは受け付けていません.]
本日のリンク元
その他のリンク元
検索

以下の広告はサーバによって自動的に挿入されています.


Copyright © 2004-2006, nao. All rights reserved.