2D matlab等高线图 - 浓度图
我有两组数据
x =(x1,x2,x3 ....) y =(y1,y2,y3 ....)
描述了飞机中一组点的笛卡尔坐标。所以x1y1是对象1的坐标,依此类推。
坐标仅限于某些值:最小值(0)和最大值,用于描述平面的尺寸(矩形)。
例如,坐标可能描述房间中对象的位置,或字段中的树木等。
如何使用matlab将这些坐标(两组数据)表示为2D轮廓/浓度图?即,而不仅仅是平面上的点(散点图),平滑连续的彩色图/
亲切的问候 w ^答案 0 :(得分:0)
你所要求的并不是很明显。记住要制作轮廓,除了x和y之外还需要另一组数据。
我认为您尝试实现的目标可以使用meshgrid
来完成,它可以为您的数据提供适当的网格:
x = rand(1,20);
y = rand(1,20);
[X,Y]=meshgrid(x,y);
Z = zeros(size(X));
mesh(X,Y,Z);
答案 1 :(得分:0)
生成一个矩阵,其中每个值都是一个坐标区域,并为该区域中的每个点添加1。
所以例如你得分(0.5,0.7)(0.9,0.8)(1.5,0.6)(1.8,1.2)
然后将其映射到矩阵,其中每个值对应一个" square"值区域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有点生疏,但原则应该可以正常工作。