散点拟合平面——最小二乘法平面拟合&奇异值分解法
本文主要解决通过散点拟合散点的投影平面的问题,并可基于该投影平面求解法向量。
·
以下为今天学习的笔记,内容包括:最小二乘法平面拟合理论推导和代码撰写
1. 最小二乘法平面拟合理论推导
以下内容为我的手写笔记。包括:最小二乘直接法理论推导、直接法的缺点、最小二乘奇异值分解法三个部分。
该问题为优化问题。基本思想(目标函数):点到平面投影的距离最短。




以上为理论推导部分,参考链接: 最小二乘拟合平面(C++版) - 知乎
2. 代码撰写(Matlab)
直接法代码:
epos = bpos(dist(bpos, center(i,:)') <= radi,:); % 电极域内的坐标
M = epos'*epos;
bvector = -sum(epos)';
a_all = M \ bvector;
奇异值分解代码:
epos = bpos(dist(bpos, center(i,:)') <= radi,:); % 电极域内的坐标
mpos = mean(epos);
A = epos - mpos;
[~,s,v] = svd(A);
[~,indx] = min(sum(s)); % s最小值对应索引
a_all = v(:,indx); % eg: x = v*[0;0;1]
以上即为我所采用的最小二乘平面拟合的一些经验和心得,如有疑问欢迎留言!
更多推荐



所有评论(0)