Unable to plot two functions to find the intersection points
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Here is what I'm doing:
x=linspace(0, 1);
y1=abs(x).^-5 .* exp(x.^2) - atan(9976+1000);
y2=besselj(0,x);
plot(x, y1, x, y2);
When I plot this I get a graph with one line. How do I get both lines and then find there intersection points?
0 Kommentare
Akzeptierte Antwort
Matt Fig
am 6 Nov. 2012
Bearbeitet: Matt Fig
am 6 Nov. 2012
Try this way. You have to pay attention to the ylimits!
x=linspace(0, 5,1000);
y1=abs(x).^-5 .* exp(x.^2) - atan(9976+1000);
y2=besselj(0,x);
plot(x, y1, x, y2);
ylim([-10 10]) % Set the ylimit to a reasonable value!
Now you can look and guess at their intersection points. Say about x=1 and x=2. We can use FZERO to get a more exact location.
f = @(x) besselj(0,x)-(abs(x).^-5 .* exp(x.^2) - atan(9976+1000));
[fzero(f,1),fzero(f,2)]
2 Kommentare
Azzi Abdelmalek
am 6 Nov. 2012
Thanks Matt, I thought x=linspace(0, 1) generate just two values. Next time I will check before writting false things
Matt Fig
am 6 Nov. 2012
No worries, Azzi. My first thought was the same as yours, it is only because I remember checking this once that I knew...
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Title 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!