I've created a formula to calculate complex roots in editor and have the following:
a=input('Enter the value for a: '); b=input('Enter the value for b: '); c=input('Enter the value for c: '); if b^2 > 4*a*c root_1=(-b+sqrt(b^2-4*a*c))/2*a; root_2=(-b-sqrt(b^2-4*a*c))/2*a; fprintf('\n') disp('Roots are real and distinct:') fprintf(1,'Root1= %0.0f \n',root_1); fprintf(1,'Root2= %0.0f \n',root_2);elseif b^2 == 4*a*c root_1=-b/(2*a); root_2=-b/(2*a); fprintf('\n') disp('Roots are repeated:') fprintf(1,'Root1=Root2= %0.0f \n',root_1); elseif b^2 < 4*a*c root_1=(-b/2*a)+(sqrt(4*a*c-b^2)/2*a); root_2=(-b/2*a)-(sqrt(4*a*c-b^2)/2*a); fprintf('\n') disp('Roots are complex:') fprintf(1,'Root1= %0.0f \n',root_1); fprintf(1,'Root2= %0.0f \n',root_2); end
So far everything works fine but I don't want the last "elseif" command to simplify the imaginary equation.
For instance if my (a,b,c) are (1,8,25), respectfully, the answer that I would like to have is:
Root1= -4+3i Root2= -4-3i
How do I keep it this way or at least have the "i"?
Best Answer