how to write a function for quadratic equation

168 Ansichten (letzte 30 Tage)
Alisha Mistry
Alisha Mistry am 6 Dez. 2019
Kommentiert: Image Analyst am 7 Dez. 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 Kommentare
Alisha Mistry
Alisha Mistry am 7 Dez. 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 am 7 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 7 Dez. 2019
Bearbeitet: Matt J am 7 Dez. 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

Weitere Antworten (0)

Kategorien

Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by