how to write a function for quadratic equation

162 visualizaciones (últimos 30 días)
Alisha Mistry
Alisha Mistry el 6 de Dic. de 2019
Comentada: Image Analyst el 7 de Dic. de 2019
I wrote this into matlab but it doesn't work, can someone explain why?
function [x1,x2] = QuadraticEquation (a,b,c)
d=b^2-4*a*c;
if d>=0
disp ('two roots exist')
x1=(-b-sqrt(d))/2*a
x2=(-b+sqrt(d))/2*a
plot(x1,0,'rx',x2,0,'rx')
hold on
x=-10:10
y=a*x.^2+b*x+c
plot(x,y)
hold off
else
disp ('no real roots’)
end
  3 comentarios
Alisha Mistry
Alisha Mistry el 7 de Dic. de 2019
It keeps saying the variables a,b,c aren't defined but i put them into a script as a function so why does it still say that message?
Image Analyst
Image Analyst el 7 de Dic. de 2019
You need to pass in something. You can't just click the green Run triangle on the toolbar. See Matt J's Answer below.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 7 de Dic. de 2019
Editada: Matt J el 7 de Dic. de 2019
[x1,x2] = QuadraticEquation (1,-2,0)
function [x1,x2] = QuadraticEquation (a,b,c)
d=b^2-4*a*c;
if d>=0
disp ('real roots exist')
x1=(-b-sqrt(d))/(2*a); %<---------- brackets in denominator
x2=(-b+sqrt(d))/(2*a); %<---------- brackets in denominator
plot(x1,0,'rx',x2,0,'rx')
hold on
fplot(@(x) a*x.^2+b*x+c) %<---------- fplot is more convenient here
hold off
else
disp ('no real roots') %<---------- missing quote
[x1,x2]=deal([]) %<---------- missing default assignment
end
end

Más respuestas (0)

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by