问题标签 [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 投票
1 回答
22325 浏览

matlab - MatLab - 用二等分法找到 f(x) = x - tan(x) 的根

我在 MatLab 中为二分算法编写了代码。我基于教科书中给出的伪代码。到目前为止,该算法在我所有的问题上都运行良好,但是当我被要求在区间 [1,2] 上找到 f(x) = x - tan(x) 的根时,我遇到了一些麻烦。我的代码如下:

如果我在区间 [1,2] 上运行这个算法,比如 15 次迭代,我的最终答案是:

这显然很遥远,因为我希望得到 f(c) = 0 (上面向量中的第三个条目)。

如果有人可以就如何提高我的成绩给我任何帮助/提示,​​我将不胜感激。我对 MatLab 很陌生,所以把我当作新手:)。

0 投票
1 回答
2550 浏览

matlab - Matlab中的二等分方法代码错误

我需要编写二分法的正确实现,这意味着我必须解决所有可能的用户输入错误。这是我的代码:

这是我在 Matlab 中尝试测试时收到的错误消息:

我试图查看我的错误代码是否有效,但看起来不像。当我尝试在一个应该可以工作的函数上测试它时,我得到了同样的错误。

0 投票
1 回答
1377 浏览

numerical-methods - 二分法失去精度

我已经有一段时间没有出现在这个非常好的论坛上了。我正在学习数值分析课程,我被要求编写二分法,这是我的代码

我唯一的问题是,当x = 0.354492时找到了根,而真正的根在x=1/3中,所以实际上我的双精度或容差不好。我不知道如何改进此代码以获得更好的结果。任何想法?

0 投票
2 回答
2269 浏览

python - 为什么我的二分算法不起作用?Python

我正在为我的 Python 课程编写一个信用卡支付计算器。任务是为计算器编写一个定义,该计算器计算出在 x 个月内使您的余额为零所需的每月付款。

该定义采用 3 个参数:initialBalance、apr、months。

据我所知,作业的重点是让我们使用二分法来找到我们的答案,我还写了另外两个有助于作业的定义:

1) newBalance() - 确定付款后的新余额;2) balances() - 在付款后返回余额列表;

鉴于此,balances()[-1] 返回最终余额,因此我的行动计划是评估列表中的最后一项等于 0(或至少在 0 的 0.005 以内!),如果是,则返回让我到达那里的付款。

如果最终余额为负数(我付出了太多!):付款=付款-(付款/ 2);如果余额为正(我还没有付足够的钱!):付款=付款+(付款/2);

尽我所能,我的算法最终应该得出结论,但它永远找不到足够接近的答案......

这是我的代码,(最后是教授的测试定义):

谢谢您的帮助。除非我用谷歌搜索的所有内容都在 stackoverflow 上,否则可能不会加入 compsci。

0 投票
1 回答
5458 浏览

python - 麻省理工学院的“二分搜索”

我碰巧找到了这段代码,它似乎运行良好。令人惊讶的是,(通过检查,对于 MIT 课程)只有当年利率为 0.15 时才会失败,其他情况下都可以。我是一个新手,所以我今天没有任何希望解决它,但是如果有人能给我一些关于这个问题的信息,我将非常感激!

结果:

0 投票
2 回答
9660 浏览

matlab - 二等分法(数值分析)

在找到每个根之前进行了多少次递归?另外,哪些是根?


这是我的代码:

0 投票
1 回答
402 浏览

matlab - 如何在我的二分码上显示所有中点?

我有一个找到二等分的代码(它终于起作用了!),但我需要再包括 3 件事:

  • output- Root History 包含算法获得的中点序列的向量
  • 输出——函数的绝对值
  • f(x) 在 r 处,即 fRoot = f(r) 输入-最大迭代次数

    /li>

我该怎么做呢?谢谢!!

0 投票
8 回答
63167 浏览

python - 如何在 Python 中进行二分法

我想制作一个 Python 程序,该程序将运行二分法来确定以下内容的根:

二分法是一种用于估计多项式 f(x) 的根的数值方法。

是否有任何可用的伪代码、算法或库可以用来告诉我答案?

0 投票
1 回答
905 浏览

segmentation-fault - 分段错误 - fortran 90 - 对分子例程

此处上传了相同代码的版本。

这是我能想到的最小例子。这会在使用 gfortran 以及在网站上运行可执行文件时产生分段错误。

0 投票
1 回答
3449 浏览

function - 如何在MATLAB中将函数设置为变量

作为一项家庭作业,我正在编写一个代码,该代码使用二分法来计算一个函数的根,其中一个变量在一个范围内。我创建了一个执行计算的用户函数,但是该函数的输入之一应该是“有趣的”,应该设置为等于该函数。

这是我的代码,在我继续之前:

输入参数由我们的老师定义,所以我不能乱用它们。我们应该在运行函数之前在命令窗口中设置这些变量。这样,我们以后可以将该程序用于其他事情。(即使我认为 fzero() 可以用来做到这一点)

我的问题是我不确定如何为某事设置乐趣,然后以我可以做乐趣(a)或乐趣(b)的方式使用它。在我们的书中,他们做了一些他们称之为将 f(x) 定义为匿名函数的事情。他们这样做是为了解决一个示例问题:

但是当我尝试这样做时,我得到了错误,错误:意外的 MATLAB 运算符。

如果你们想在发布之前尝试运行程序来测试您的解决方案(希望我的程序有效!),您可以使用书中示例中的这些变量:

fun = 8 - 4.5*(x - sin(x)) a = 2 b = 3 TolMax = .001

使用这些的书中得到的答案是2.430664

我敢肯定,这个问题的答案非常简单明了,但由于某种原因,我找不到解决方法!感谢您的帮助。