提示:求五角星的质心就是求五角星外接圆形的圆心,这样就好解决了!
1、找到五角星任意三点(x1,y1)、(x2,y2)、(x3,y3)
2、求出对应质心
<code>
x1=2;y1=4;x2=8;y2=12;x3=14;y3=19;%三点坐标
if((y1==y2)&(y2==y3))
disp('三点不构成圆!');
elseif((y1~=y2)&(y2~=y3))
k1=(x2-x1)/(y2-y1);
k2=(x3-x2)/(y3-y2);
end
if(k1==k2)
disp('三点不构成圆!');
end
a=2(x2-x1);
b=2(y2-y1);
c=x2x2+y2y2-x1x1-y1y1;
d=2(x3-x2);
e=2(y3-y2);
f=x3x3+y3y3-x2x2-y2y2;
disp('圆心为::');
x=(bf-ec)/(bd-ea)
y=(dc-af)/(bd-ea)
disp('半径为::');
r=sqrt((x-x1)(x-x1)+(y-y1)(y-y1))
</code>
你没有定义信标节点(BeaconAmount)的个数。不定义肯定报错啊。一下是我最近随便编的一段类似于质心算法的东西的核心部分,你的同学应该能看懂,有点帮助。
if num_of_neb_anchor(i)>1&&num_of_neb_anchor(i)<6
%如果未知节点i的邻居锚节点个数在2和5之间
fenmu(i)=0;
fenzi_x(i)=0;
fenzi_y(i)=0;
fenzi_z(i)=0;
for k=1:num_of_neb_anchor(i)
distant_rssi(i,k)=sqrt((node_x(i)-neighbor_anchor_x(i,k))^2+(node_y(i)-neighbor_anchor_y(i,k))^2+(node_z(i)-neighbor_anchor_z(i,k))^2);
fenmu(i)=fenmu(i)+1/distant_rssi(i,k);
fenzi_x(i)=fenzi_x(i)+neighbor_anchor_x(i,k)/distant_rssi(i,k);
fenzi_y(i)=fenzi_y(i)+neighbor_anchor_y(i,k)/distant_rssi(i,k);
fenzi_z(i)=fenzi_z(i)+neighbor_anchor_z(i,k)/distant_rssi(i,k);
end
esti_node_x(i)=fenzi_x(i)/fenmu(i);
esti_node_y(i)=fenzi_y(i)/fenmu(i);
esti_node_z(i)=fenzi_z(i)/fenmu(i);%未知节点的估计坐标
end
以上就是关于求大神MATLAB计算五角星质心坐标,图像有个原点 然后求每个质心 对于这个原点的坐标万分感激全部的内容,包括:求大神MATLAB计算五角星质心坐标,图像有个原点 然后求每个质心 对于这个原点的坐标万分感激、无线传感器网络加权质心定位算法Matlab仿真的一些疑问。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)