云南大学数学与统计学实验教学中心
实验报告
一、实验目的
1.练习模块化程序设计的方法。
2.练习函数作为形参的程序设计方法。
3.掌握对分搜索法求非线性方程多个实根的方法。
二、实验内容
1.用对分法以指定步长 搜索非线性方程 在指定区间 上的全部实根。
具体要求如下:
(1)编写一个用对分搜索法求非线性方程 在指定区间 上的所有实根的函数 dhrt(a,b,h,f)其中 为搜索
时使用的步长; 为函数指针,指向计算非线性方程左端函数值 的函数。在本函数中输出所有的实根。输出形式为:
(2)编写一个主函数以及计算非线性方程左端函数值的函数,调用(1)中的函数求下列非线性方程在区间 上的
全部实根: ,取 , 。
方法提示:
从区间端点 开始,以 为步长,逐步往后进行搜索。对于每一个子区间 (其中 ):
若 ,则 即为一个根,从 开始以 为步长在往后搜索。
若 ,则 即为一个 实根,从 开始以 为步长再往后搜索。
若 ,则说明在当前区间内无实根,从 开始以 为步长在往后搜索。
若 ,则说明在当前区间内有实根。此时,反复将区间减半,直到发现一个实根;或子区间长度小于 ,
子区间的中点即为实根近似值。然后从当前搜索到的实根开始以 为步长再往后搜索。其中 为预先给定精度要求。
以上过程一直进行到区间右端点 为止。
三、实验环境
Windows10 Enterprise 中文版操作系统;
Turbo C 2.0 与 Code::Blocks 16.01 集成开发环境。
评论0