matlab 一个入门菜鸟级编程(求根公式)

来源:百度知道 编辑:UC知道 时间:2024/05/16 18:23:19
大家都知道f(x)=ax^2+bx+c(一元二次方程)
求根公式是:x=[-b+sqrt(b^-4ac)]/2a;

怎么在matlab里编程表达这个公式然后还能让b^2-4ac小于零时返回复数根。
谢谢大家~
希望能看到源程序代码。谢谢啦!

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

当a小于0时sqrt(a)返回的就是复数啊。没问题啊

mathlab啊,我也想学呐!听说它无比强大···