It is a good idea to work with polyshape objects in this case:
% Find intersected circles
P = [0 0 1; 1 1.5 0.75; 2 1 0.5];
for k = 1:size(P,1)
polyout(k) = polybuffer(P(k,1:2),'points',P(k,3));
end
TF = overlaps(polyout)
% Plot results
plot(P(:,1),P(:,2),'r.','MarkerSize',10)
hold on
plot(polyout)
axis equal
hold off
results in a matrix showing you which circles are intersecting:
TF =
3×3 logical array
1 0 0
0 1 1
0 1 1
looks:
read more here: