This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AWR1642:SRR Matlab GUI 源代码

Guru**** 2539500 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/709834/awr1642-srr-matlab-gui-source

器件型号:AWR1642

在 read_serial_port_object_location.m 中、我无法理解名为 getClusters 的函数。x_loc 和 y_loc 的含义是什么?为什么我们应该 重复 x'六次?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您所引用的代码用于为群集生成坐标、以便单个"plot (图解)"命令可以绘制图像中的所有群集。 就绘图而言、MATLAB 是一种相当缓慢的语言、因此我们需要减少绘制的线条数。

    每个簇都是一个矩形、四个角的每个角都由4个点定义。 群集算法提供的是矩形的中心和矩形的大小。

    要了解 MATLAB 代码的作用、假设场景中只有一个仪表组。 即 length (x)=length (y)=length (x_size)=length (y_size)。

    然后需要绘制一个矩形(以(x、y)为中心、宽度为2*x_size、高度为2*y_size)。 换句话说、您需要绘制4条线以创建矩形。

    1.从(x - x_size、y-y_size)到(x+x_size、y-y_size)
    2.从(x + x_size、y-y_size)到(x+x_size、y+y_size)
    3.从(x + x_size、y+y_size)到(x-x_size、y+y_size)
    4.从(x - x_size、y+y_size)到(x-x_size、y-y_size)

    请注意、最后一个坐标和第一个坐标是相同的。 然后、您只需使用单个绘图函数、并使用这5个坐标来绘制它。 如果要以编程方式创建坐标、可以使用命令

    x_loc =重新分配(x'、[1、5])+ x_size*[-1 1 -1 -1 -1];
    y_loc = repmat (y'、[1、5])+ y_size*[-1 1 -1 -1 -1];

    以生成所有坐标、然后绘制它们。

    如果您有多个群集、您可以在这些坐标之间添加一个'INF'点。 MATLAB 将忽略'INF'点、并且可以单独绘制簇图。

    然后、前面的命令将变为
    x_loc = repmat (x'、[1、6])+ x_size*[-1 1 -1 -1 Inf];
    y_loc = repmat (y'、[1、6])+ y_size*[-1 1 -1 -1 Inf];

    此致
    Anil