finding roots in a quadratic formula
13 次查看(过去 30 天)
显示 更早的评论
im not entirely sure what i am doing wrong but this is the sciprt that i have written so far
function (x1, x2) = quad(a, b, c);
z= sqrt(b^2 -4*a*c);
w= 2*a;
x1= (-b+z)/w;
x2=(-b-z)/w;
a= input('Enter a Value for a')
b= input('Enter a value for b')
c= input('enter a vlaue for c')
if z<<0
fprintf('There are no real values')
else if z=0
fprintf('There is only one real root')
else z>>0
fprintf('There is two real roots')
end
1 个评论
Vladimir Sovkov
2019-11-30
(1) The discriminant is z=b^2 -4*a*c (no sqrt) - its sign matters;
(2) must be: line 9 ...z<0, line 11 ...z==0, line 13 z>0;
(3) if you transfer a, b, c as the function arguments, why do you use the "input" commands for them later? Their values renewed with "input" are never used.
回答(1 个)
KALYAN ACHARJYA
2019-11-30
编辑:KALYAN ACHARJYA
2019-11-30
function [z,x1,x2]=quad(a,b,c)
z=sqrt(b^2 -4*a*c);
w=2*a;
x1=(-b+z)/w;
x2=(-b-z)/w;
end
Call the quad function in Main Script:
a=input('Enter a Value for a: ');
b=input('\nEnter a value for b: ');
c=input('\nEnter a vlaue for c: ');
[z,x1,x2]=quad(a,b,c);
if z<0
fprintf('There are no real values')
elseif z==0
fprintf('There is only one real root')
else
fprintf('There is two real roots')
end
2 个评论
KALYAN ACHARJYA
2019-11-30
编辑:KALYAN ACHARJYA
2019-11-30
Save the function file in another Matlab file named as quad.m and call that function from main script, it OK (no coding error).
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Platform and License 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!