disp('方程形式:a*x^2+b*x+c=0');
a=input('a=');
b=input('b=');
c=input('c=');
deta=b*b-4*a*c;
x=[(-b+sqrt(deta))/2/a;(-b-sqrt(deta))/2/a]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%上面已经达到你的要求了
%%由于matlab在计算sqrt,就是根号的时候,自己会误别根号下的数,
%%如果是负数的话,Matlab会自动生成复数.
%%你如果想自己写这个开根号的号,可以这样
disp('方程形式:a*x^2+b*x+c=0');
a=input('a=');
b=input('b=');
c=input('c=');
a=1
b=2
c=3
deta=b*b-4*a*c;
if deta>=0
x=[(-b+sqrt(deta))/2/a;(-b-sqrt(deta))/2/a]
else
real=-b/2/a;
image=sqrt(-deta)/2/a;
x=[real+image*i;real-image*i]
end
温馨提示:答案为网友推荐,仅供参考