2016-05-22 16 views
0

MatlabのMathematicaのListDensityPlotに相当する関数は何ですか?例えばMatlabの密度プロット

ListDensityPlot[Table[Sin[x y/100], {x, -50, 50}, {y, -50, 50}], 
DataRange -> {{-50, 50}, {-50, 50}}] 

が生成されます

enter image description here

ありがとうございました。

+0

私の疑いは1が存在しないことである(私は誰かが私が間違っていることを証明願って、私はわからないので、私だけコメントしています)。しかし、これは驚くべきことではありません:もしあなたが森の中に石を投げれば、それはMathematicaの特殊な関数を打つ確率は90%です;)いつでも['histogram2'](http://www.mathworks .com/help/matlab/ref/histogram2.html)を使用して密度データを生成し、次にそれをある補間でプロットします。 –

答えて

0

Matlabは、ベクトル計算と記号計算の意味でMathematicaとは異なります。

x & yの空間サンプルのグリッドを定義して、それに応じて関数をサンプリングすることで、必要な処理を行うことができます。例えば

dx = 0.1; 
dy = 0.1; 
x = -50:dx:50; 
y = -50:dy:50; 
[xx, yy] = meshgrid(x,y); 
imagesc(sin(xx.*yy/100)); 
+0

私は 'imagesc'について知っています。しかし、我々は滑らかな画像を生成するために細かいメッシュが必要です。 – Sukan

+0

@Sukanもし私が誤解されていないならば、 'imshow'はあなたのイメージをよりスムーズにする補間を行うことができます(データを軽く歪ませる代償ですが、それはMathematicaが回避できない概念です)。 –

+0

@Sukan Matlabに対して公平であるためには、Mathematicaにも細かいメッシュが必要です(オプション 'Mesh-> All'で見られます)。Matlabの人物は、Mathematicaのように入力を再サンプリング/再メッシュしません。 'imagesc'が動作しない場合、' surface(xx、yy、sin(xx。* yy/100)、 'EdgeColor'、 'interp'シェーディング( 'interp'); '? – TroyHaskin

関連する問題