问题标签 [bisection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
219 浏览

python - 从字典列表中获取最近的元素

我的程序生成以下列表(摘录):

它已经按“x”键的值排序。我正在尝试编写一个方法,该方法针对给定坐标返回此列表的两个元素的元组(xPos, yPos)

  • 左边最近的元素 ( x <= xPos)
  • 最右边的元素 ( x > xPos)

距离就是欧几里得距离(“毕达哥拉斯”)。该函数的第二个参数是允许的最大距离:

我尝试使用 bisect 函数分别获取最近元素的插入点xPos以及 for xPos - maxDistance(case 'left') 和xPos + maxDistance(case 'right) 以缩小搜索区域。然后我计算了这个切片列表中每个剩余元素的距离

不知何故,这感觉非常不雅。有没有更好的方法来做到这一点?

编辑: 也许我的意图不是很清楚:我需要列表的两个元素。“2D 窗格”中最靠近左侧和右侧的元素。因此,我还需要考虑 y 坐标。

可能会发生(实际上几乎每次),就其 x 坐标而言最近的元素比具有接近 y 坐标的元素更远。

0 投票
1 回答
10317 浏览

c - 用二等分法求解方程的C程序

该程序用于使用二分法求解方程给出错误“函数显示返回值”。

在这种方法中,我们给定一个函数f(x),我们近似 2 个根ab 对于函数,使得f(a).f(b)<0.

然后我们找到另一个点

我们对给定的迭代次数重复这些步骤

0 投票
1 回答
475 浏览

python - 使用二等分的多项式根

我是 python 新手,我很难通过二分法找到多项式的根。到目前为止,我有两种方法。一种用于在值 x 处评估多项式

下一个方法应该使用二分法来找到给定多项式的根

如何使用二分法找到根?我已经获得了一个测试脚本来测试这些。

编辑:我按照伪代码结束了这个:

这个对吗?由于 return xmid 语句的缩进错误,我无法对其进行测试。

0 投票
1 回答
72 浏览

python - if/else 语句执行不正确

学习python,目前正在学习二分法解题。我正在编写代码,该代码应该接受用户从 0 到 100 的猜测,并尝试使用二分法找到该猜测。这是代码:

我意识到,当我的猜测 < 答案为 false 时,else 块不会执行,所以我的高数永远不会改变。为什么会这样?我在这里忽略了什么吗?

0 投票
1 回答
135 浏览

python - 使用 bisect 组合两个列表中的数字

在以下两个列表中

目标是组合字典中最接近的数字,一旦到达第二个列表中的最后一项,组合就必须停止,所以在这种情况下,如果第一个列表中没有组合的项目,这些项目将不被考虑,所以上述列表的输出将是

此代码给出以下输出

输出

该声明

给出这个输出

有人可以帮忙吗?

0 投票
2 回答
3896 浏览

vba - VBA 寻根槽二分法

当我知道我的函数的根不是 0 时,我的 vba 代码一直返回值 0。

这是非常简单的代码,但我似乎无法调试它。知道这个错误可能来自哪里吗?

0 投票
1 回答
1553 浏览

javascript - 牛顿与二分法的javascript实现

出于好奇,我想验证牛顿在求解非线性方程方面确实比二分法(对于它成功收敛的情况)更快。

我从textbook algorithms. 测试的功能是:

收敛精度设置为 1e-4。牛顿从x0 = 0.5,开始converges in 2 iterations。二等分以 开始interval [0,1],收敛于14 iterations

performance.now()用来测量这两种方法的经过时间。令人惊讶的是,经过多次尝试,牛顿总是比二分法慢。

我将程序移植到 C(视觉 C):牛顿比二分法快得多。

这些数字代码是如此简单,以至于我无法发现任何奇怪的事情发生。任何人都可以帮忙吗?

http://jsfiddle.net/jmchen/8wvhzjmn/

0 投票
2 回答
158 浏览

c - Difference between two roots using bisection method in C?

I have written this C code to compare the root of two functions using bisection method. My first function (g(x)) executes correctly but the second one (h(x)) outputs "#1QO" on screen. I can't find what I did wrong in the code.

Can you please explain? Any kind of help would be highly appreciated. Thanks!

EDIT: Initialised i=1 in bisection and changed bisection (h,0,2,0.0005) to bisection (h,1,2,0.0005) and it works Thanks everyone!

0 投票
1 回答
361 浏览

java - 如何基于二分法求解方程组

我正在尝试实现二分法来找到方程的解。

方程的形式是这样的:
pe^(-x) + q sin(x) + r cos(x) + s tan(x) + t x^2 + u = 0 ,其中 0 ≤ p,r ≤ 20, -20 ≤ q,s,t ≤ 0 e -20 ≤ u ≤ 20

输入示例:

3
1. 0 0 0 0 -2 1
1 0 0 0 -1 2
1 -1 1 -1 -1 1

应该给:

0.7071
不可能
0.7554

我试图实现这一点,但我无法显示 4 位小数的结果,我意识到 ab 和 c 是 xx 的形式,只有一位小数。我认为问题从这里开始。任何帮助将不胜感激。这是我的代码

}

0 投票
2 回答
506 浏览

python - 在对数运行时间中使用二等分法的 Wting 反转函数

我正在尝试编写一个可以接受任何函数并返回 a 参数的函数,如果将其放入函数中,将返回接近 0 的答案(接近 epsilon),该函数将如下所示:

x0, x1 是寻找答案的范围。我知道的另一件事是它仅适用于可以是正数和负数的函数(例如 f(X) = x^2+1 不是一个很好的函数来解决)。

我在这里找到了答案Bisection method

编辑: 到目前为止一切顺利。现在我有了我需要编写的主要函数——一个为函数提供崇高价值的函数。函数本身获取需要反转的函数和答案假设接近的 epsilon。

例如,对于 f(x) = x+2,我希望inverse_func(f(100))返回 100。我得到的提示是我可以使用我展示的 prev 函数。我试着这样做:

我试图赋予“解决”功能来为我解决问题。我给它一个函数,该函数从 f(x) 减去求解函数需要找到的值计算给定值。

例如对于 f(x) = x+2,然后调用

minus_func = inverse(g(100)) =inverse(102) print(minus_func) 应该返回

100 因为“solve”中的函数是 102-f(x),当然“solve”可以为此找到正确的值。

我在我的代码中尝试了这个,它工作正常,但还不够好。对于某些功能,它工作正常。但对其他人来说,它根本不起作用。对于功能:

可能还有其他人,它不起作用。有人知道如何解决这个问题吗?

ps - 我正在用 python 编写代码,所以如果答案也在 python 中,那就太好了。但其他一切都可以(我也知道java,任何可以解释逻辑的东西当然都很棒)

谢谢!