说明函数f(x)=x^3-3x+1在区间(1,2)内必有零点,用二分法求出一个零点的近似值(误差不超过0.001)
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/19 03:31:54
![说明函数f(x)=x^3-3x+1在区间(1,2)内必有零点,用二分法求出一个零点的近似值(误差不超过0.001)](/uploads/image/z/1168412-68-2.jpg?t=%E8%AF%B4%E6%98%8E%E5%87%BD%E6%95%B0f%28x%29%3Dx%5E3-3x%2B1%E5%9C%A8%E5%8C%BA%E9%97%B4%281%2C2%29%E5%86%85%E5%BF%85%E6%9C%89%E9%9B%B6%E7%82%B9%2C%E7%94%A8%E4%BA%8C%E5%88%86%E6%B3%95%E6%B1%82%E5%87%BA%E4%B8%80%E4%B8%AA%E9%9B%B6%E7%82%B9%E7%9A%84%E8%BF%91%E4%BC%BC%E5%80%BC%28%E8%AF%AF%E5%B7%AE%E4%B8%8D%E8%B6%85%E8%BF%870.001%EF%BC%89)
说明函数f(x)=x^3-3x+1在区间(1,2)内必有零点,用二分法求出一个零点的近似值(误差不超过0.001)
说明函数f(x)=x^3-3x+1在区间(1,2)内必有零点,用二分法求出一个零点的近似值(误差不超过0.001)
说明函数f(x)=x^3-3x+1在区间(1,2)内必有零点,用二分法求出一个零点的近似值(误差不超过0.001)
由于f(1) = 1 - 3 + 1 = -1 < 0
f(2) = 8 - 6 + 1 = 3 > 0
因此f(x)在1,2区间内存在一个0点(f'(x) 在 (1,2)区间恒大于0,因此该函数在此区间单调递增).
.算法:
#include <stdio.h>
void main()
{
float low = 1.0;
float high = 2.0;
float value;
float mid;
do {
mid = (low + high) / 2;
value = mid * mid * mid - 3 * mid + 1;
if (value > 0.0)
high = mid;
else
low = mid;
} while (value > 0.001 || value < -0.001);
printf("The x is:%f",mid);
}
程序已运行通过,输出结果为:1.532227