refine.m

来自「Euclidean节点定位是由美国路特葛斯大学利用距离矢量路由和GPS定位原理提」· M 代码 · 共 40 行

M
40
字号
function [x,y]=myrefine(nodeA,nodeB,nodeC,err)lim=1e-1;res=0;dd=dst(nodeA,nodeB)*err;res=res+abs(edst(nodeA,nodeB)-dd);dd=dst(nodeA,nodeC)*err;res=res+abs(edst(nodeA,nodeC)-dd);dy=nodeA.ePostion.y;if (res<1)step=res/2;else    step=res/10;enddy=dy+step;;nodeA.ePosition.y=dy;res1=0dd=dst(nodeA,nodeB)*err;res1=res1+abs(edst(nodeA,nodeB)-dd);dd=dst(nodeA,nodeC)*err;res1=res1+abs(edst(nodeA,nodeC)-dd);if  res1<res    flag=1;else    flag=-1;enddy=dy-step;nodeA.ePostion.y=dy;res1=res+stepwhile res>lim && res<res1 res1=res    res=0; dy=dy+flag*step; nodeA.ePostion.y=dy;dd=dst(nodeA,nodeB)*err;res=res+abs(edst(nodeA,nodeB)-dd);dd=dst(nodeA,nodeC)*err;res=res+abs(edst(nodeA,nodeC)-dd);endx=nodeA.ePosition.x;y=nodeA.ePosition.y;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?