社区
C语言
帖子详情
一道关于算法的题!(在线等,谢谢!)
zengjianping
2004-04-11 04:33:05
用二分法求解f(x)=x^3-2x-5=0在{2,3)内的实根
要求输出第十到第十五次的划分区间急解
...全文
22
2
打赏
收藏
一道关于算法的题!(在线等,谢谢!)
用二分法求解f(x)=x^3-2x-5=0在{2,3)内的实根 要求输出第十到第十五次的划分区间急解
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ITZHIHONH
2004-04-11
打赏
举报
回复
太麻烦了把
rorot
2004-04-11
打赏
举报
回复
#include "math.h"
#include "stdio.h"
/*用二法计算非线性方程的实根*/
int BinSearchRoot(a,b,h,eps,x,m)
int m;
/*
a 要求的根的下界
b 要求的根的上界,即:所求的根落在区间 [a,b]之内
h 递进的步长
eps 精度
x 根的值
m 预计的根的个数
*/
double a,b,h,eps,x[];
{
extern double Equation(); /*要求解的非线性方程*/
int n,js;
double z,y,z1,y1,z0,y0;
n=0; z=a; y=Equation(z);
while ((z<=b+h/2.0)&&(n!=m)) /*对给定步长的子区间进行搜索*/
{
if (fabs(y)<eps) /*当前的判定点是方程的根*/
{
n=n+1;
x[n-1]=z;
z=z+h/2.0;
y=Equation(z);
}
else /*当前点不是方程的根*/
{
z1=z+h;
y1=Equation(z1);
if (fabs(y1)<eps) /*下一个点是方程的根*/
{
n=n+1;
x[n-1]=z1;
z=z1+h/2.0;
y=Equation(z);
}
else if (y*y1>0.0) /*该区间内无根*/
{ y=y1; z=z1;}
else /*该区间内有根*/
{
js=0;/*标志,0表示未找到根,1表示已经确定了根*/
while (js==0)
{
if (fabs(z1-z)<eps) /*区间的长度小于给定的精度,可以当作
已经找到了根*/
{
n=n+1;
x[n-1]=(z1+z)/2.0; /*把区间的中位值作为根*/
z=z1+h/2.0; /*把寻找的位置放到下一个区间内*/
y=Equation(z);
js=1; /*在当前区间内已经找到了根*/
}
else /*区间比给定的精度大,则进行二分*/
{
z0=(z1+z)/2.0; /*区间二分*/
y0=Equation(z0);
if (fabs(y0)<eps) /*z0位置为根*/
{
x[n]=z0;
n=n+1;
js=1;
z=z0+h/2.0;
y=Equation(z);
}
else if ((y*y0)<0.0) /*[z,z0]内有根*/
{ z1=z0; y1=y0;}
else { z=z0; y=y0;}
}
}
}
}
}
return(n); /*返回根的个数*/
}
main()
{
int i,n;
static int m=6;
static double x[6];
n=BinSearchRoot(-2.0,5.0,0.2,0.000001,x,m);
printf("M=%d\n",n); /*输出根的个数*/
for (i=0; i<=n-1; i++)
printf("x(%d)=%13.7e\n",i,x[i]);
printf("\n");
}
double Equation(x)
double x;
{
double z;
z=(((((x-5.0)*x+3.0)*x+1.0)*x-7.0)*x+7.0)*x-20.0;
return(z);
}
[最新整理公布][汇总II]微软等数据结构+
算法
面试100
题
[第1-80
题
]
此微软等公司数据结构+
算法
面试100
题
系列,是极具代表性的经典面试
题
。 而,对你更重要的是,我自个还提供了答案下载,提供思路,呵。 所以,这份资料+答案,在网上是独一无二的。 -----------------------------...
[珍藏版]微软等数据结构+
算法
面试100
题
全部出炉[100
题
V0.1最终完美版]
火爆出炉:微软等数据结构+
算法
面试100
题
首次完整亮相 ---100
题
V0.1版最终完成 作者:July 2010年12月6日 微软等100
题
系列V0.1版终于结束了。 从2010年10月11日当天最初发表前40
题
以来,直至此刻,整理这100
题
...
程序员必备
算法
课!(揭秘淘宝购物车
算法
)
如何在有限的预算下,选择到让你最满意的商品, 本次公开课主要从以下几方面进行讲解: 首先讲解如何将购物车选择商品问
题
转进行量化指标度量,转化为计算机可以求解的
算法
问
题
; 其次结合实例讲解实际问
题
如何利用...
leetcode
题
库-js-practice:JavaScript
算法
练习-LeetCode与LintCode解
题
记录
如果您发现错误,欢迎给我留言,
谢谢
! 字符串 LeetCode 557. 反转字符串中的单词 III LintCode 1173. 反转字符串 III LeetCode 696. 计数二进制子串 LintCode 1079. 连续子串计数 LeetCode 459. 重复的子字符串 ...
算法
实现:Java单链表逆序
有一次,我去陆家嘴一家银行面试,面试官给我出了
一道
算法
编程
题
,用Java实现单链表逆序,不到10分钟,我就写出来了,拿到了offer。 但是当时是写在纸上的,我用手机拍了下来,然后回去又在电脑上把代码敲了下来,...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章