Center of two points (positive and nenegative values)

3 ビュー (過去 30 日間)
martin martin
martin martin 2019 年 3 月 21 日
コメント済み: martin martin 2019 年 3 月 22 日
Hello guys,
could anyone explain to me how to calculate the center of gravity for negative values? This code work only for possitive values, for example if values will be 10 and 10 ( v = [10 10], the centroid is at the middle, of values will be 0 and 10 (v - [0 10]) then centrid is on the green point. But how can I edit this, for negative values? For example for -10 and -10 (v = [-10 -10]) the centroid will be at the middle, for values -10 and 0 (v = [-10 0]) centraid will be on the blue point.
Best regards.
x = [0 1];
y = [1 1];
v = [5 10];
figure(1);clf
plot(x,y)
hold on
scatter(x,y,100,v,'filled')
axis image
axis([x(1)-1 x(2)+1 y(1)-1 y(2)+1])
xc = sum(v.*x)/sum(v);
yc = sum(v.*y)/sum(v);
hold on
scatter(xc,yc)
colorbar
colormap winter
grid on

採用された回答

the cyclist
the cyclist 2019 年 3 月 21 日
I believe your calculation is correct for negative values of v. The problem is that the point may not lie between the two input points, and in fact may lie outside the axis limits you have defined, so you don't see it.
Try setting
v = [10 -6]
and commenting out the line
axis([x(1)-1 x(2)+1 y(1)-1 y(2)+1])
so that you see the default axis.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeScatter Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by