【问题标题】:How do I draw 2D Map with plot() in MATLAB如何在 MATLAB 中使用 plot() 绘制 2D 地图
【发布时间】:2010-08-06 00:01:56
【问题描述】:

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

【问题讨论】:

    标签: matlab map plot


    【解决方案1】:

    有一个在极坐标中绘图的功能。试试

    >> polar( (0:180)/180*pi, distanceVector)
    

    【讨论】:

      【解决方案2】:

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

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

      那么你就可以使用PLOT了。

      plot(X,Y,'.')
      

      【讨论】:

        【解决方案3】:
        plot(theVector, '.')
        

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

        plot(theVector, 'o')
        

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

        【讨论】:

        • 感谢您的关注。但我需要的可能是循环中的三角函数来寻找角度并将点放置在绘图上的适当位置。我的意思是,我应该连续构建这张地图。这里是故事。机器人激光传感器将距离读取为 181x1 距离向量。该向量包含这样的数据 [11.2 11.3 11.4 17 17.1 17.2 .....]。这里第一个值 11.2 对应于激光传感器从 0 读取的第一个具体对象°。这对于所有 181 个值(0 到 180)都是相同的。所以我需要通过将这些点放在绘图或类似的东西上来构建地图。
        猜你喜欢
        • 1970-01-01
        • 2017-06-09
        • 2021-01-21
        • 2022-01-24
        • 2017-06-07
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        • 1970-01-01
        相关资源
        最近更新 更多