计算机科学导论二分法实验报告,二分法实验报告.docx

二分法实验报告

实验报告 方程求根——二分法一、目的和要求1)通过对二分法的编程练习,掌握方程求根的二分法的算法;2)通过对二分法的上机运算,进一步体会二分法的特点。二、实习内容1)二分法的编程实现。2)进行有根区间和误差限的比较和讨论。三、算法流程图:1)准备:计算f(x)在有根区间[a, b]端点处的值 f(a), f(b)。2)二分:计算f(x)在区间中点c=处的函数值f(c)。3)判断若f(c)与f(a)异号,则根位于区间[a, c]内,以c代替b;若f(c)与f(a)同号,则根位于区间[c, b]内,以c代替a;反复执行步2和步3,直到区间[a, b]长度缩小到允许误差范围之内或f(c)=0,此时区间中点c即可作为所求的根。四、实验步骤1)完成二分法的程序设计及录入;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)对比估算次数与实际二分次数;5)输入不同的区间初值a, b,查看二分次数的变化;6)输入不同的误差限,查看二分次数的变化;7)完成实验报告。五、实验结果经编译、链接及例子验证结果正确的源程序:#include #include float f(float x);void main(){floata,b,c,EPS,DELTA,fa,fb,fc,fab;inti=1;printf("please input a,b,EPS,DELTA\n");scanf("%f%f%f%f",&a,&b,&EPS,&DELTA);fa=f(a);fb=f(b);fab=fa*fb;if(fab>0)printf("无根");while(fab<0){c=(a+b)/2;fc=f(c);if((fa*fc)<0){b=c;fb=fc;printf("%d %20f %20f\n",i,c,fc);i++;}else if((fb*fc)<0){a=c;fa=fc;printf("%d %20f %20f\n",i,c,fc);i++;}if(fabs(fc)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值