本文主要是介绍matlab计算二次方程的根,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.题目
精确计算所有情况下的二次方程的根,包括 的情况。计算二次根有两种公式,可总结为
如果b>0,则
如果b<0,则
由此,构造matlab程序。
算法:
(1)输入a,b,c,判断是否存在a=0且b=0,此时有无限根,否则进入第二步。
(2)判断是否存在a=0,此时为一元一次方程,输出根,否则进行第三步。
(3)判断是否存在 ,此时无根,否则进入第四步。
(4)判断b与0的大小关系,根据公式,返回输出根的结果。
2.代码
function [x1,x2]=input(a,b,c)
if a==0&&b==0
disp('有无限个根');
return
end
if a==0
x1=-c/b;
x2=-c/b;
else
if (b*b-4*a*c)<0
disp('没有根');
else if b>0
x1=(-2*c)/(b+sqrt(b*b-4*a*c));
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
else
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-2*c)/(b-sqrt(b*b-4*a*c));
end
end
end
3.测试
分别就b>0和b<0做测试
① ②
这篇关于matlab计算二次方程的根的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!