回覆列表
  • 1 # 手機使用者86764190657

    假設已知n個點的x和y, 建立兩個向量:

    X = [x1 x2 ... xn];

    Y = [y1 y2 ... yn];

    要計算這些點到點(p_x, p_y)的距離,找到離它最近的點,程式碼如下:

    d = sqrt((X-p_x).^2 + (Y-p_y).^2); %計算每一個點到指定電的距離,d = [d1 d2 ... dn];

    data = [X" Y" d"]; %構建一個表格,第一列為X, 第二列為Y, 第三列為各點到指定點的距離

    sel = data(data(:,3)==min(data(:,3)),:); %找出表格中距離最小的點, sel的第一列為這些點的x, 第二列為y, 第三列為距離。

    最後兩步主要是為了防止有幾個點到指定點距離一樣的情況。如果不可能有這種情況那麼程式碼可以簡化為:

    [d_min i] = min(d); x_min = X(i), y_min = Y(i); %x_min, y_min為要找的點,d_min為最小距離

  • 中秋節和大豐收的關聯?
  • excel中每頁的表尾說明怎麼設定?