本文主要是介绍基于左逆的三点法测距,MATLAB函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基于左逆的三点法MATLAB程序
不一定能用,可以借鉴,在锚点数量极少的时候,右拟无法使用,可以使用这个左逆(当然,直接用pinv也行)
function [p_out] = triposition(R_calcu,baseP)
% p = [5,5;10,9;15,12;20,22;25,3]; %real location
baseX_ = baseP(:,1);
baseY_ = baseP(:,2);
baseZ_ = baseP(:,3);
H = [baseX_(2)-baseX_(1),baseY_(2)-baseY_(1),baseZ_(2)-baseZ_(1);baseX_(3)-baseX_(1),baseY_(3)-baseY_(1),baseZ_(3)-baseZ_(1)];for i=1% HX=aa = 0.5*[baseX_(2).^2+baseY_(2).^2+baseZ_(2).^2-R_calcu(i,2).^2-baseX_(1).^2-baseY_(1).^2-baseZ_(1).^2+R_calcu(i,1).^2;baseX_(3).^2+baseY_(3).^2+baseZ_(3).^2-R_calcu(i,3).^2-baseX_(1).^2-baseY_(1).^2-baseZ_(1).^2+R_calcu(i,1).^2];p_out(i,:) = (H'*H)^(-1)*H'*a; %左逆求法end
end
这篇关于基于左逆的三点法测距,MATLAB函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!