二分迭代法解一元二次方程_一元二次方程之特殊解

2020-02-28 其他范文 下载本文

二分迭代法解一元二次方程由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“一元二次方程之特殊解”。

作业题目:用二分迭代法求一元二次方程的根

班级:

姓名:

完成时间: 内容:

1.问题分析:

从对象到类:二次幂的未知系数为a,一次幂的未知系数为b,未知常数为c, 区间参数为x1,x2,区间中点为x3.数据分析: 所有都是实数所以用double的类型.方法分析: 构造办法,通过参数设置初始化二次幂的系数,一次幂的系数,常数

改变二次幂的系数.改变一次幂的系数.改变常数.2.模型(UML)如图1所示

图1 3.代码设计

public cla Equation{

double a,b,c;double x,x1,x2,x3;public Equation(double a,double b,double c){

} private double delta(){ return b*b-4*a*c;} this.a=a;this.b=b;this.c=c;public void calculate(){ if(delta()

System.out.print(“无根n”);else if(delta()==0)

System.out.print(“根为”+(-b/(2.0*a))+“n”);else

{

x1=-1000;x2=-b/(2.0*a);x3=(x1+x2)/2.0;while(Math.abs(x1-x2)>0.000001){ if(f(x1)*f(x3)

}

else if(f(x3)*f(x2)

} } System.out.print(“一根为:”+x3+“n”);

x1=-b/(2.0*a);x2=+1000;x3=(x1+x2)/2.0;x1=x3;x3=(x1+x2)/2;x2=x3;x3=(x1+x2)/2;

while(Math.abs(x1-x2)>0.000001){ if(f(x1)*f(x3)

}

else if(f(x3)*f(x2)

}

} System.out.print(“一根为:”+x3+“n”);} } x1=x3;x3=(x1+x2)/2;x2=x3;x3=(x1+x2)/2;double f(double x){ return a*x*x+b*x+c;}

4.测试用例设计 a=10,b=433,c=10 5.测试方法设计

public static void main(String[] args){

} Equation e=new Equation(10,433,10);e.calculate();}

6.测试过程

测试环境如下图2

图2

测试结果如下图3所示:

图3

结果分析: 结果如实.7.作业讨论

遇到的问题:导出方程,连贯二分法和迭代法总想不懂,在书上和网上查有关资料分析都没看懂,请教同学,一边编写,一边修改,问题实在太多了,同一个问题改了多次才修改成功.解决方法:请教同学和查询网上的例子.8.心得体会:一道简单的数学题用这么复杂的算法实在违反了效率的要求,虽然很繁琐,但使我有学会了一些其他编程方法.9.给老师的建议

请不要一次性布置太多作业,像上次课那样分流的布置,这样没那么混淆,而且我放假回家没有电脑,做作业不方便.

《二分迭代法解一元二次方程.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
二分迭代法解一元二次方程
点击下载文档
相关专题 一元二次方程之特殊解 迭代法 一元二次方程之特殊解 迭代法
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文