2010-08-05 265 views
0

我正在尝试创建某个地方的二维地图。我从机器人获得一个181x1的激光传感器读数向量。该向量中的所有值都对应于距单一角度的距离,如1°,2°,180°。这里的问题是我需要通过将这些距离绘制为plot()或类似的函数来创建地图。如何在MATLAB中使用绘图()绘制二维地图

回答

4

有一个绘制极坐标的功能。尝试

>> polar((0:180)/180*pi, distanceVector) 
1
plot(theVector, '.') 

,如果你需要绘制为点,而不是行。如果点太小,请尝试绘制成圆形。

plot(theVector, 'o') 

详情请参见http://www.mathworks.com/access/helpdesk/help/techdoc/ref/linespec.html

+0

感谢您的attention.But我需要的可能是一个三角函数在循环中寻求的角度,把点上的plot.I适当的地方的意思是,我要构建这个地图continuously.Here是故事。机器人激光传感器将距离读取为181x1的距离矢量,并且该矢量包含这样的数据[11.2 11.3 11.4 17 17.1 17.2 .....]。这里第一个值11.2对应于激光传感器从0读取的第一个具体物体°。对于所有181个值(0到180)都是相同的。因此,我需要通过将这些点放在一个图上或类似的图上来构建一张图。 – ayk 2010-08-05 13:42:54

+1

@dopache:我不明白。 'plot()'有什么问题? – kennytm 2010-08-05 13:44:30

2

您可以使用POL2CART函数将角度 - 距离坐标转换为笛卡尔X和Y.

[X,Y] = pol2cart((1:180)/180*pi, distanceVector); 

然后你可以使用PLOT。

plot(X,Y,'.')