日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

三维空间平面拟合MATLAB

發布時間:2023/11/27 生活经验 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三维空间平面拟合MATLAB 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.根據一組點的坐標擬合空間平面,有兩種方法:
第一種:如果在測量得到的數據中,x,y值都是確認沒有誤差的,而誤差只是出現在z值上,則可以使用線性回歸的方法,此方法最小二乘的目標是在z方向上的殘差
Matlab 代碼

% 隨機生成一組(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;
X = [ones(length(x),1) x y];% 擬合,其實是線性回歸,但可以用來擬合平面
% 輸出為 b = [b(1) b(2) b(3)] 表示 z = b(1) + b(2)*x + b(3)*y 是擬合出來的平面的方程
[b,bint,r,rint,stats] = regress(z,X,95);% 圖形繪制
xfit = min(x):0.1:max(x);
yfit = min(y):0.1:max(y);
[XFIT,YFIT]= meshgrid (xfit,yfit);
ZFIT = b(1) + b(2) * XFIT + b(3) * YFIT;
mesh(XFIT,YFIT,ZFIT);

輸出結果如圖1

第二中: 如果在測量得到的數據中,x,y,z都存在誤差,則最小化的目標應該是測量點到平面距離的殘差。

% 隨機生成一組(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);% 圖形繪制
xfit = min(x):0.1:max(x);
yfit = min(y):0.1:max(y);
[XFIT,YFIT]= meshgrid (xfit,yfit);
ZFIT = -(d + a * XFIT + b * YFIT)/c;
mesh(XFIT,YFIT,ZFIT);

結果如圖2



[參考網址](https://www.ilovematlab.cn/thread-220252-1-1.html) [轉](https://blog.csdn.net/shenziheng1/article/details/51175383) [轉](https://blog.csdn.net/eric_e/article/details/80983067?utm_source=blogxgwz6)

總結

以上是生活随笔為你收集整理的三维空间平面拟合MATLAB的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。