Algorithm 如何计算平面分布的引力中心?
我有一个数据集的二维分布,我想找到这些点的引力中心 我想做的是下面的代码Algorithm 如何计算平面分布的引力中心?,algorithm,Algorithm,我有一个数据集的二维分布,我想找到这些点的引力中心 我想做的是下面的代码 #include <stdio.h> #define SIZE 4 struct point { short x; short y; }; point find_gravitation(struct point set[], unsigned char size) { point ret; . . . ? . . . return ret; } int main(
#include <stdio.h>
#define SIZE 4
struct point {
short x;
short y;
};
point find_gravitation(struct point set[], unsigned char size)
{
point ret;
.
.
.
?
.
.
.
return ret;
}
int
main(int argc, char **argv)
{
struct point dataset[SIZE];
struct point ret;
dataset[0].x = 12;
dataset[0].y = 24;
dataset[1].x = 3;
dataset[1].y = 5;
dataset[2].x = 71;
dataset[2].y = -6;
dataset[3].x = -185;
dataset[3].y = -26;
ret = find_gravitation(dataset, SIZE);
printf("gravitation center is: %d, %d\n", ret.x, ret.y);
return 0;
}
#包括
#定义大小4
结构点{
短x;
短y;
};
点查找引力(结构点集[],无符号字符大小)
{
点ret;
.
.
.
?
.
.
.
返回ret;
}
int
主(内部argc,字符**argv)
{
结构点数据集[大小];
结构点ret;
数据集[0]。x=12;
数据集[0],y=24;
数据集[1],x=3;
数据集[1],y=5;
数据集[2],x=71;
数据集[2]。y=-6;
数据集[3]。x=-185;
数据集[3],y=-26;
ret=发现引力(数据集,大小);
printf(“引力中心是:%d,%d\n”,ret.x,ret.y);
返回0;
}
如何计算这一组的引力中心?如果我解释正确: 因为您的点未加权,所以中心点将是:(平均值(x),平均值(y)) 要计算平均x点,请将所有x值相加,然后除以点数。
要计算平均y点,请将所有y值相加,然后除以点数。如果我的解释正确: 因为您的点未加权,所以中心点将是:(平均值(x),平均值(y)) 要计算平均x点,请将所有x值相加,然后除以点数。
要计算平均y点,请将所有y值相加,然后除以点数。要找到引力中心,还需要权重。假设权重设置为[i].w,则必须修改函数以返回点结构,其中x=所有集合[i]的平均值。x,y=所有集合[i]的平均值。y和w=所有集合[i]的总和。w要找到引力中心,还需要权重。假设权重设置为[i].w,则必须修改函数以返回点结构,其中x=所有集合[i]的平均值。x,y=所有集合[i]的平均值。y和w=所有集合[i]的总和。w