Combination of distances between multiple points

2 ビュー (過去 30 日間)
Mirza Ahmed
Mirza Ahmed 2021 年 7 月 29 日
コメント済み: Mirza Ahmed 2021 年 8 月 3 日
I have a number of circles, where I can define the number at the beginning, i = number of circle. I have to calculate every minimum distance between every circle. That means the equation can be written as:
dist = (x1-x2)^2 + (y1-y2)^2 - (r1+r2)
Let's say the number of circle is chosen 6, so the number of combination of distances come as 15.
To define the variables first, I have declared the matrices of radius, x coordiantes and y coordinates. Now, from this point onwards, I need help to write the basic and generalized code to find the combination.
Thanks!

採用された回答

Rik
Rik 2021 年 7 月 29 日
You already have the generalized code. You just need to combine it with nchoosek:
x=1+10*rand(1,6);
y=1+10*rand(1,6);
r=rand(1,6);
combs=nchoosek(1:6,2);
c1=combs(:,1);c2=combs(:,2);
d=(x(c1)-x(c2)).^2 + (y(c1)-y(c2)).^2 - (r(c1)+r(c2));
combs(:,3)=d
combs = 15×3
1.0000 2.0000 7.9112 1.0000 3.0000 8.4890 1.0000 4.0000 8.4228 1.0000 5.0000 5.9644 1.0000 6.0000 21.6430 2.0000 3.0000 28.6815 2.0000 4.0000 34.0819 2.0000 5.0000 1.8794 2.0000 6.0000 11.5847 3.0000 4.0000 3.2875
%(circle 1, circle 2, distance)

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by