You will need to find the intersection point (p x , p y ) manually:
idx = find(y1 - y2 < eps, 1); %// Index of coordinate in array px = x(idx); py = y1(idx);
Remember that we are comparing two numbers in a floating point representation, so instead of y1 == y2 we have to set the tolerance. I chose it as eps , but it's up to you.
To draw a circle around this point, you can calculate its points and then draw them, but the best approach would be to build one point with a bloated circle marker ( Jonas credit for this sentence):
plot(px, py, 'ro', 'MarkerSize', 18)
Thus, the size of the circle does not depend on the axes and aspect ratio of the graph.
Example
x = 0:0.01:30; y1 = x .^ 2 + 2; y2 = x .^ 3; %// Find point of intersection idx = find(y1 - y2 < eps, 1); px = x(idx); py = y1(idx); figure plot(x, y1, x, y2, px, py, 'ro', 'MarkerSize', 18) axis([0 10 0 10])
This should result in the following plot: 
Eitan t
source share