基本的に、指定したX、Yごとに1つの値を返す関数f(X、Y)があります。関数f、X、Yの範囲を渡して、指定された範囲内のすべての値のfの大きさ(z軸に沿って)を示す3Dグラフをプロットできる関数がmatlabにありますか?
ezplot3はこの種の処理を行いますが、必要なパラメーターは1つだけです't'。私はmatlabを初めて使用し、それをすばやく習得するために最善を尽くしていますが、これに関しては多くを見つけることができませんでした。どんな助けでもいただければ幸いです
基本的に、指定したX、Yごとに1つの値を返す関数f(X、Y)があります。関数f、X、Yの範囲を渡して、指定された範囲内のすべての値のfの大きさ(z軸に沿って)を示す3Dグラフをプロットできる関数がmatlabにありますか?
ezplot3はこの種の処理を行いますが、必要なパラメーターは1つだけです't'。私はmatlabを初めて使用し、それをすばやく習得するために最善を尽くしていますが、これに関しては多くを見つけることができませんでした。どんな助けでもいただければ幸いです
matlabを使用すると、実際に「関数」をプロットすることは決してないことに注意してください。配列/ベクトルをプロットしています。したがって、g = f(X、Y)をプロットする代わりに、実際にはベクトルX、Y、およびgをプロットします。ここで、XとYは元の入力であり、gは出力を含むベクトルです。
プロットしようとしているものを正確に視覚化するのに苦労していますが、基本的には、次のような標準のmatlabプロットの例に従うことができます:http ://web.cecs.pdx.edu/~gerry/MATLAB/ploting/plating .html
さて、これは私が目指していたものです:http: //www.mathworks.com/help/matlab/ref/ezsurf.html
私がこれをするなら
ezsurf('f(x,y)');
必要な3Dグラフが得られます。
とにかく、ありがとう!
3Dプロットは生成されませんが、2D散布図がこの種のタスクに役立つことが以前にわかりました。
scatter(x, y, 5, z)
z
その時点での関数の値はどこにあり(x, y)
ますか?あなたが望むものに似たものを生成します。おそらく完全な3Dプロットほどきれいではありませんが、効果的に使用できます。
見る:
違いを示すために私がまとめた(非常に醜い)コードを次に示します。
j=1;
y = -100:1:100;
for i = -100:1:100
y = [y -100:1:100];
count = 0;
while count < 202;
x(j) = i;
j = j+1;
count = count + 1;
end
end
z = (abs(x) + abs(y));
figure(1)
scatter(x, y, 10, z)
h=colorbar;
figure(2)
ezsurf('(abs(x) + abs(y))')