Effacer les filtres
Effacer les filtres

Plot two equations and find the intersect

2 vues (au cours des 30 derniers jours)
Brian Robinson
Brian Robinson le 4 Avr 2020
Commenté : John D'Errico le 4 Avr 2020
I want to solve numerically for the intersects, plot the curve and line and show the intersects on the plot . E is the x axis and y is the y axis. We have;
g=9.81;v=1;y1=2;q=v*y1;z=0.9;
Syms E y2
eqn1 = E==2*g*y2^3+y2^2(2*g*z-2*g*y-q^2/y1^2)+q^2 = 0;
eqn2 = E==3;
That is as far as I got.
Thanks in advance.
  2 commentaires
KSSV
KSSV le 4 Avr 2020
What is y?
Brian Robinson
Brian Robinson le 4 Avr 2020
Sorry that y should read y1.

Connectez-vous pour commenter.

Réponse acceptée

Ameer Hamza
Ameer Hamza le 4 Avr 2020
Try this
g=9.81;v=1;y1=2;q=v*y1;z=0.9;
syms E y2
E1 = 2*g*y2^3+y2^2*(2*g*z-2*g*y1-q^2/y1^2)+q^2;
E2 = 3;
sol = double(solve(E1==E2));
fplot(E1, [-0.5 1.5]) % plot from -5 to 5 on x-axis
hold on;
fplot(E2, [-0.5 1.5])
plot(sol, E2*ones(size(sol)), 'ro');
  8 commentaires
Ameer Hamza
Ameer Hamza le 4 Avr 2020
Brian, the function handle E1, has two inputs. fimplicit plot 1st on x and 2nd on y-axis.
John D'Errico
John D'Errico le 4 Avr 2020
Exactly. Had I created the function handle as:
E1 = @(y2,E) 2*g*y2.^3+y2.^2.*(2*g*z-2*g*y1-q^2/y1.^2)+q^2 - E;
then E would be on the y axis.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by