Find and display intersections using fzero

16 Ansichten (letzte 30 Tage)
Carlos
Carlos am 12 Mär. 2015
Kommentiert: Brendan Hamm am 13 Mär. 2015
I have two functions: f(x) = x.^2-1, f(g) = exp(x/5) in a linspace(-2,2). I need to indicate on the graph where f = g using the fzero function. Also I would like to keep it in a single m file.
Thanks

Akzeptierte Antwort

Brendan Hamm
Brendan Hamm am 12 Mär. 2015
Bearbeitet: Brendan Hamm am 12 Mär. 2015
If f(x) = g(x) then f(x) - g(x) = 0. So we need to define h(x) = f(x) - g(x) and find where h(x) = 0. This is exactly what fzero is made for.
h = @(x) x.^2 - 1 - exp(x/5); % Creates a function handle for your function
Now let's plot and see if we can find a point close to where this function is zero.
x = -2:0.01:2;
plot(x,h(x));
Looks like -1.5 and 1.5 are close.
firstZero = fzero(h,-1.5);
secondZero = fzero(h,1.5);
Now visualize these on the plot:
hold on
plot(firstZero,h(firstZero),'ro');
plot(secondZero,h(secondZero),'ro');
hold off
  2 Kommentare
Carlos
Carlos am 12 Mär. 2015
Thanks that's exactly what I needed. I used f(firstZero) and g(firstZero) rather than h to graph the point of intersection.
Brendan Hamm
Brendan Hamm am 13 Mär. 2015
Awesome. If you found this to solve your problem, please accept the answer so others with similar issues can find the solution.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Graph and Network Algorithms finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by