Plotting two variables, getting graph and x intercept

I need to plot the equation :
0 = x^3 + 6x^2 + 4(1 - y^2)
The variable y needs to take values 0, 1, 2, 3, 4. I'm wondering if there is a loop I can do for this.
I would also like to get the x-intercepts as an output.
Is there a way to plot them on single graphs and all on the same graph?

 Respuesta aceptada

Try this:
xv = linspace(-6, 4, 25);
yv = [1 2 3 4];
for k = 1:numel(yv)
ply = [1 6 0 4*(1-yv(k).^2)];
rts(:,k) = roots(ply);
pv(k,:) = polyval(ply, xv);
end
figure
plot(xv, pv)
grid
The x-intercepts will be the roots, returned column-wise in the ‘rts’ matrix.

2 comentarios

M K
M K el 27 de Ag. de 2020
This worked beautifully! Thank you!
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

Here's an alternative
f = @(x,y) x.^3 + 6*x.^2 + 4*(1-y.^2);
coeff = @(y) [1 6 0 4*(1-y.^2)];
y = 0:4;
for i = 1:length(y)
R(:,i) = roots(coeff(y(i)));
end
ezplot(f)

Categorías

Más información sobre 2-D and 3-D Plots en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

M K
el 27 de Ag. de 2020

Comentada:

el 27 de Ag. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by