2016-08-09 39 views
0

2D MATLABの等高線プロット - 濃度マップMatlabの - 2D濃度/等高線プロット

Iは、2つのデータセット

X =(X1、X2、X3 ...) Y =(Y1を有しますy2、y3 ....)

これらは平面内の点の組のデカルト座標を記述する。したがって、x1y1はオブジェクト1の座標であり、以下同様です。

座標は、平面(四角形)の寸法を表す最小値(0)と最大値(ある特定の値)に制限されています。

たとえば、座標は部屋のオブジェクトの位置、またはフィールドなどのツリーを表します。

matlabを使用してこれらの座標(2つのデータセット)を2Dの等高線/濃度プロットとして表現するにはどうすればよいですか?すなわちだけではなく

/平面(散布図)の上に滑らかな連続カラーマップをドットの種類は、あなたが求めているものを実際に明らかにされていません

+0

それぞれの 'x'と' y'の位置に値がありますか? – Suever

+0

Hu Suever、はい私は2つのベクトル/配列を持っています:x =(x1、x2、x3 ....)y =(y1、y2、y3 ....)。各値は一意であり、数値です。だからそれは次のようなものかもしれません:x =(1,5,7,8,3 ....); y =(5,6,3,2,5,8 ...)などです。つまり、(1,5)に別の(5,6)、別のもの(7,3)にオブジェクトがありますに。私は(潜在的に)何千ものオブジェクトを持っています。ありがとう、W – William

+0

それは私が尋ねたものではありません。あなたは 'x'と' y'を持っていますが、 'x'と' y'の組み合わせごとに値がありますか? 'f(x、y)' – Suever

答えて

0

W について。輪郭を作るためには、xとy以外の別のデータセットが必要であることを覚えておいてください。

x = rand(1,20); 
y = rand(1,20); 
[X,Y]=meshgrid(x,y); 
Z = zeros(size(X)); 
mesh(X,Y,Z); 

enter image description here

0

すべての値が座標領域である行列を生成し、:

は、私はあなたのデータをあなたに適切なメッシュを与えるmeshgridを使用して行うことができます達成しようとしているものだと思いますその地域のすべてのポイントに1を加えます。

したがって、たとえば、あなたがポイント(0.5,0.7)(0.9,0.8)(1.5,0.6)(1.8,1.2)

があり、すべての値が「広場」に対応するマトリックスにこれをマッピングします値領域1x1の値。

a(1,1) = everything in the region 0 <= x < 1, 0 <= y < 1 
a(1,2) = everything in the region 0 <= x < 1, 1 <= y < 2 
a(2,1) = everything in the region 1 <= x < 2, 0 <= y < 1 
a(2,2) = everything in the region 1 <= x < 2, 1 <= y < 2 

だから[2 1;0 1]になるだろうし、その後、あなたはそれを輪郭することができます。

もっと細かい解像度が必要な場合は、マッピングサイズを小さくするだけです。

私のMatlabは少し錆びているので、私はあなたにすぐにコードソリューションを与えることはできませんが、原則はうまくいくはずです。

関連する問題