分治法--二分法求方程近似解
来源:互联网 发布:用c语言编写小程序 编辑:程序博客网 时间:2024/05/07 05:45
转自:http://c.chinaitlab.com/c/example/200909/793112.html
二分法求方程近似解:求方程f(x) = x^3 + x^2 - 1 = 0在[0,1]上的近似解,精确度为0.01。
算法分析:二分法求方程近似解的基本思想是将方程的有解区间平分为两个小区间,然后判断解在哪个小区间;继续把有解的区间一分为二进行判断,如此周而复始,直到求出满足精确要求的近似解。
二分法求方程近似解的算法步骤:
⑴确定区间[a,b],验证f(a).f(b) < 0,给定精确度e
⑵求区间(a, b)的中点mid
⑶计算f(mid)
若f(mid) = 0,则mid就是函数的零点
若f(a).f(mid) < 0,则令b = mid(此时零点a < x0 < mid)
若f(mid).f(b) < 0,则令a = mid(此时零点mid < x0 < b)
⑷判断是否达到精确度e:即若|a-b| < e,则得到零点近似值a(或b);否则重复⑵-⑷。
代码如下:
double F(double a, double b, double c, double d, double x)//函数表达式
{
return (((a * x + b) * x) * x + d) / c;
}
double Function(double a, double b, double c, double d, double low, double high, double e)
{
double mid = (low + high) / 2;
if (F(a, b, c, d, mid) == 0)
return mid;
while ((high-low) >= e)
{
mid = (low + high) / 2;
if (F(a, b, c, d, mid) == 0)
return mid;
if (F(a, b, c, d, low)*F(a, b, c, d, mid) < 0)
high = mid;
else
low = mid;
}
return low;
}
- 分治法--二分法求方程近似解
- 二分法求方程的近似解
- 二分法求方程近似根
- 二分法——求近似方程的解
- C语言用二分法求方程的近似解的方法
- C代码:二分法求三次方程近似根
- 二分法求方程的解
- 方程求近似解方法Java实现
- 二分法求方程2x³-4x²+3x-6=0的近似解
- 二分法求解方程的近似解(sicily 1017)
- C语言之基本算法23—二分法求方程近似根
- 二分法求方程根
- 1017. Rate of Return (用二分法求近似解)
- 方程求近似解方法分析以及比较
- HDU-Can you solve this equation? -二分法求高次方程近似解
- 二分法求方程的根
- 二分法求方程的根
- 二分法求方程的根
- 房屋过户费用说明
- 汉字转Unicode编码
- 面向对象与面向过程编程之我见
- STM32的USART重定向实现printf函数
- 黑马程序员——自己写的一个网页版的简单五子棋
- 分治法--二分法求方程近似解
- 怎样复制JavaScript数组
- 401钓鱼,最近很火
- 73本免费的、语言无关的优秀的编程书籍
- MYSQL的降序排列
- dede管理员密码 设置及加密方法
- css中一些样式问题
- 建造者模式的简单例子
- 判断system函数的返回值