用matlab求解一元二次方程ax2+bx+c=0的解。 解:源代码如下。 function [x1,x2]=root(a,b,c,disc,realpart,imagpart) %求解一元二次方程a*x^2+b*x+c=0 %x1,x2分别是方程的两个实根 disp('求解一元二次方程a*x^2+b*x+c=0'的解) a=input('请输入"a"的值:') b=input('请输入"b"的值:') c=input('请输入"c"的值:') %输入完成后按ENTER键 disc=b^2-4*a*c %若a=0 if(a==0); x1=-c/b; x2=x1; fprintf('x=%f\n',x1); %fprintf:以指定格式显示信息 %判别式等于0 elseif disc==0 x1=-b/(2*a); fprintf('x=%f\n',x1); %判别式大于0 elseif disc>0 x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); fprintf('x1=%f\n',x1); fprintf('x2=%f\n',x2); %判别式小于0 else realpart=-b/(2*a); imagpart=sqrt(abs(disc))/(2*a); fprintf('x1=%f+i%f\n',realpart,imagpart); fprintf('x2=%f-i%f\n',realpart,imagpart); end