问题背景:本次我们来求取 f(x) = -2x^3 + 5x^2 + 9,这个函数,在给定区间[2, 4]上的零点。
解决方法:二分法
编程语言:c++、python
说明:这里将分别使用两种编程语言和3种二分法的终止条件来完成二分的求解。
函数图像:


二分的终止条件:
1.区间小于某标准值
2.循环次数
3.真实误差小于某值 |(Xnew - Xold) / Xnew| * 100%
流程图:(偷个懒我这里之画一个)

c++篇
1.循环次数
//凭借循环次数来终止二分
#include <iostream>
#include <cstdio>
using namespace std;
const int maxn = 9999;
double f(double x)
{
return -2 * x * x * x + 5 * x * x + 9;
}
int main()
{
double a = 2; //卡取两个端点值
double b = 4;
double mid;
if (f(a) > 0) //区间增函数
{
for (int i = 0; i <= maxn; i++)
{
mid = (a + b) / 2;
if (f(mid) == 0) break;
if (f(mid

本文介绍了如何使用二分法求取函数f(x) = -2x^3 + 5x^2 + 9在[2, 4]区间上的零点。详细讨论了三种二分法的终止条件:区间大小、循环次数和真实误差,并分别用c++和python编程语言进行了实现。同时展示了mid值的变化趋势和相关代码。"
101696865,8363419,Unity流水灯实现:从嵌入式到Unity的转换,"['Unity', '游戏开发', '编程技巧']
最低0.47元/天 解锁文章
1936

被折叠的 条评论
为什么被折叠?



