c语言二分法求x^3-x-1=0的根,用二分法求方程x^3-x-1=0在区间[1,1.5]内的一个近似解用C语言编程跪求!!!各位大虾...

本文详细介绍了满意答案二分法的基本思想,通过示例代码展示了如何利用该算法在区间[x1, x2]内寻找函数f(x)=pow(x, 3) - x - 1.0的实根。通过不断缩小区间并判断符号变化来逼近根的位置,直至精度达到1e-6。适合初学者理解迭代搜索方法。
摘要由CSDN通过智能技术生成

满意答案

二分法的基本思路是:任意两个点x1和x2,判断区间(x1,x2)内有无一个实根,如果f(x1)与f(x2)符号相反,则说明有一实根。接着取(x1,x2)的中点x,检查f(x)和f(x2)是否同号,如果不同号,说明实根在(x,x2)之间,如果同号,在比较(x1,x),这样就将范围缩小一半,然后按上述方法不断的递归调用,直到区间相当小(找出根为止)!

代码如下(已调试):

#include"math.h"

main()

{

floatx,x1,x2;

floatF(floatx,floatx1,floatx2);

printf("请输入区间[x1,x2]\n");

scanf("%f%f",&x1,&x2);

printf("x=%f\n",F(x,x1,x2));

}

floatF(floatx,floatx1,floatx2)

{

floatf,f1,f2;

do

{

f1=pow(x1,3)-x1-1.0;

f2=pow(x2,3)-x2-1.0;

}while(f1*f2>0);//确保输入的x1,x2使得f1,f2符号相反

do

{

x=(x1+x2)/2;//求x1,x2的中点

f=pow(x,3)-x-1.0;

if(f1*f>0)//当f与f1符号相同时

{x1=x;f1=f;}

elseif(f2*f>0)//当f与f2符号相同时

{x2=x;f2=f;}

}while(fabs(f)>1e-6);//判断条件fabs(f)>1e-6的意思是f的值非常0

returnx;

}

输入:11.5

则输出:x=1.324718

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值