标题:二分求根问题
只看楼主
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 
回复 20楼 九转星河
y>0,由此得出函数根在左侧是不严谨除非能保证区间最左端的函数值永远小于0.
我用y=x^2-16 测试 并设了区间最左端大于零,区间最右端小于零



f(a)*f(b)<0 零点在a和b之间

早知做人那么辛苦!  当初不应该下凡
2016-10-23 12:18
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
谢谢上楼的提醒,由于我只对本题数据进行了测试,还没有推及到一般情况,我这程序还要进一步完善。

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-10-23 13:04
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 21楼 炎天
这条题得出答案的前提条件是初始值f(x1)*f(x2)=<0,如果f(x1)*f(x2)>0则方程的根不在区间[x1,x2]上,固不能用该程序求解。但是这种情况又怎么判断并生成x所在的区间呢,这种情况日常判断比较人性化,而人性化的程序是很难编译的,关于区间判断要另外设计一个算法来求解。还有,为了使程序具有通用性,x1,x2的初值应该为多少呢?
//刚才还发现了,这条题得适用性是x1的初值要大于x2


[此贴子已经被作者于2016-10-23 13:24编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-10-23 13:15
zheng87266
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2016-10-22
得分:0 
回复 20楼 九转星河
谢谢,不过我的只要在循环时交换x1x2位置即可,麻烦了
2016-10-23 18:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-470131-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.373596 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved