折半查找零点
来源:互联网 发布:阿里云服务器能升级吗 编辑:程序博客网 时间:2024/04/29 02:15
本是书后习题 ,难度不大,但在实现时对于语法有值得借鉴的地方,就记录下来:
题目:对某个任意的函数f找出方程f(X)=0的一个解,该函数连续的并有两个点low、high使得f(low)和f(high)符号相反,那么在low和high之间即存在一个零点;
需要注意的如下:
——满足给定的low、high使得f(low)*f(high)<0;
——用一个函数作为参数传递我们需要不断变化的方程;
——对于那些位数过多的小数,当达到一定的精度时即可返回值。
代码如下:
//折半查找零点//此函数可以自定义 double f(double x){return x*x + 2 * x - 2;}double binarySearchZero(double (*f)(double), double low, double high){if (high-low<1e-6)//这里控制你想要的精度return low;double mid = (low + high) / 2;if (f(low) * f(mid) < 0)binarySearchZero(f, low, mid);else if (f(mid) * f(high) < 0)binarySearchZero(f, mid, high);else if (f(mid == 0))return mid;}//条件:f(low) * f(high)<0;double binarySearchZero(double(*f)(double)){int low, high;do {cin >> low >> high;} while (f(low)*f(high)>0);return binarySearchZero(f, low, high);}
阅读全文
0 0
- 折半查找零点
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- hdu 1863 畅通工程 基础最小生成树★
- 线程同步--协同方式和互斥方式
- Mac (10.12.4)安装cocoapods
- svn- 合并
- SQL中触发器
- 折半查找零点
- Reading Note: DSOD: Learning Deeply Supervised Object Detectors from Scratch
- Java线程学习笔记(四)-线程沉睡,唤醒,连接
- 计算机图形学
- java多线程小示例详解
- Java网络爬虫(十二)--重构定时爬取以及IP代理池(多线程+Redis+代码优化)
- Java集合之集合工具类的使用
- MySQL存储过程和函数的区别与优缺点
- iphone在mac上联调网页和截取js方法