问题标签 [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.
matlab - MatLab - 用二等分法找到 f(x) = x - tan(x) 的根
我在 MatLab 中为二分算法编写了代码。我基于教科书中给出的伪代码。到目前为止,该算法在我所有的问题上都运行良好,但是当我被要求在区间 [1,2] 上找到 f(x) = x - tan(x) 的根时,我遇到了一些麻烦。我的代码如下:
如果我在区间 [1,2] 上运行这个算法,比如 15 次迭代,我的最终答案是:
这显然很遥远,因为我希望得到 f(c) = 0 (上面向量中的第三个条目)。
如果有人可以就如何提高我的成绩给我任何帮助/提示,我将不胜感激。我对 MatLab 很陌生,所以把我当作新手:)。
matlab - Matlab中的二等分方法代码错误
我需要编写二分法的正确实现,这意味着我必须解决所有可能的用户输入错误。这是我的代码:
这是我在 Matlab 中尝试测试时收到的错误消息:
我试图查看我的错误代码是否有效,但看起来不像。当我尝试在一个应该可以工作的函数上测试它时,我得到了同样的错误。
numerical-methods - 二分法失去精度
我已经有一段时间没有出现在这个非常好的论坛上了。我正在学习数值分析课程,我被要求编写二分法,这是我的代码
我唯一的问题是,当x = 0.354492时找到了根,而真正的根在x=1/3中,所以实际上我的双精度或容差不好。我不知道如何改进此代码以获得更好的结果。任何想法?
python - 为什么我的二分算法不起作用?Python
我正在为我的 Python 课程编写一个信用卡支付计算器。任务是为计算器编写一个定义,该计算器计算出在 x 个月内使您的余额为零所需的每月付款。
该定义采用 3 个参数:initialBalance、apr、months。
据我所知,作业的重点是让我们使用二分法来找到我们的答案,我还写了另外两个有助于作业的定义:
1) newBalance() - 确定付款后的新余额;2) balances() - 在付款后返回余额列表;
鉴于此,balances()[-1] 返回最终余额,因此我的行动计划是评估列表中的最后一项等于 0(或至少在 0 的 0.005 以内!),如果是,则返回让我到达那里的付款。
如果最终余额为负数(我付出了太多!):付款=付款-(付款/ 2);如果余额为正(我还没有付足够的钱!):付款=付款+(付款/2);
尽我所能,我的算法最终应该得出结论,但它永远找不到足够接近的答案......
这是我的代码,(最后是教授的测试定义):
谢谢您的帮助。除非我用谷歌搜索的所有内容都在 stackoverflow 上,否则可能不会加入 compsci。
python - 麻省理工学院的“二分搜索”
我碰巧找到了这段代码,它似乎运行良好。令人惊讶的是,(通过检查,对于 MIT 课程)只有当年利率为 0.15 时才会失败,其他情况下都可以。我是一个新手,所以我今天没有任何希望解决它,但是如果有人能给我一些关于这个问题的信息,我将非常感激!
结果:
matlab - 二等分法(数值分析)
在找到每个根之前进行了多少次递归?另外,哪些是根?
这是我的代码:
matlab - 如何在我的二分码上显示所有中点?
我有一个找到二等分的代码(它终于起作用了!),但我需要再包括 3 件事:
- output- Root History 包含算法获得的中点序列的向量
- 输出——函数的绝对值
f(x) 在 r 处,即 fRoot = f(r) 输入-最大迭代次数
/li>
我该怎么做呢?谢谢!!
python - 如何在 Python 中进行二分法
我想制作一个 Python 程序,该程序将运行二分法来确定以下内容的根:
二分法是一种用于估计多项式 f(x) 的根的数值方法。
是否有任何可用的伪代码、算法或库可以用来告诉我答案?
segmentation-fault - 分段错误 - fortran 90 - 对分子例程
此处上传了相同代码的版本。
这是我能想到的最小例子。这会在使用 gfortran 以及在网站上运行可执行文件时产生分段错误。
function - 如何在MATLAB中将函数设置为变量
作为一项家庭作业,我正在编写一个代码,该代码使用二分法来计算一个函数的根,其中一个变量在一个范围内。我创建了一个执行计算的用户函数,但是该函数的输入之一应该是“有趣的”,应该设置为等于该函数。
这是我的代码,在我继续之前:
输入参数由我们的老师定义,所以我不能乱用它们。我们应该在运行函数之前在命令窗口中设置这些变量。这样,我们以后可以将该程序用于其他事情。(即使我认为 fzero() 可以用来做到这一点)
我的问题是我不确定如何为某事设置乐趣,然后以我可以做乐趣(a)或乐趣(b)的方式使用它。在我们的书中,他们做了一些他们称之为将 f(x) 定义为匿名函数的事情。他们这样做是为了解决一个示例问题:
但是当我尝试这样做时,我得到了错误,错误:意外的 MATLAB 运算符。
如果你们想在发布之前尝试运行程序来测试您的解决方案(希望我的程序有效!),您可以使用书中示例中的这些变量:
fun = 8 - 4.5*(x - sin(x))
a = 2
b = 3
TolMax = .001
使用这些的书中得到的答案是2.430664
。
我敢肯定,这个问题的答案非常简单明了,但由于某种原因,我找不到解决方法!感谢您的帮助。