空間離散點擬合成空間平面

2021-07-11 06:30:20 字數 904 閱讀 1669

空間中的離散點得到擬合平面,其實這就是乙個最優化的過程。即求這些點到某個平面距離和最小的問題。我們知道乙個先驗訊息,那就是該平面一定會過眾散點的平均值。接著我們需要做的工作就是求這個平面的法向量。

根據協方差矩陣的svd變換,最小奇異值對應的奇異向量就是平面的方向。

% 隨機生成一組(x,y,z),這些點的座標離乙個空間平面比較近

x0=1,l1=2;

y0=1,l2=2;

x=x0+rand(20,1)*l1;

y=y0+rand(20,1)*l2;

z=1+2*x+3*y;

scatter3(x,y,z,'filled')

hold on;

planedata=[x,y,z];

% 協方差矩陣的svd變換中,最小奇異值對應的奇異向量就是平面的方向

xyz0=mean(planedata,1);

centeredplane=bsxfun(@minus,planedata,xyz0);

[u,s,v]=svd(centeredplane);

a=v(1,3);

b=v(2,3);

c=v(3,3);

d=-dot([a b c],xyz0);

% 圖形繪製

空間離散點擬合成空間平面

空間中的離散點得到擬合平面,其實這就是乙個最優化的過程。即求這些點到某個平面距離和最小的問題。我們知道乙個先驗訊息,那就是該平面一定會過眾散點的平均值。接著我們需要做的工作就是求這個平面的法向量。根據協方差矩陣的svd變換,最小奇異值對應的奇異向量就是平面的方向。隨機生成一組 x,y,z 這些點的座...

離散點擬合 python

對每個點代入公式求和 for i in range 0 len data x data i,0 y data i,1 tmp w current x b current y b sum tmp w sum tmp x 用公式求當前梯度 grad w 2 m w sum grad b 2 m b su...

MATLAB 離散點的圓弧擬合

最近做專案,會遇到很多資料擬合的問題,通常在網上搜尋時會看到很多 乙個個嘗試有對有錯,下面根據專案進展情況總結一下用到的相關知識。都是由本人親測,雖然簡單但是絕對正確的 首先是圓弧擬合的 由離散點擬合 t1為二維矩陣,t1的第一行為x軸的資料點,t1的第二行為y軸的資料點,用 表示為 t1 1,x,...