问题标签 [fixed-point-iteration]
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迭代
我想在我的 matlab 代码中添加一个 While 循环,以便在迭代足够好时停止。具有某种容忍度,例如。1e-6。
这是我现在的代码。所以我需要添加某种停止标准,我现在已经尝试了几次,但它不起作用......我感谢你的帮助!
% 这里应该是....
matlab - 使用scilab中的固定点求解方程?
我有一个方程,f(x)=exp(x)+3x^2
然后我用定点迭代来求解这个方程这是我的代码f(x)=0
x=?
scilab
然后我使用以下方法调用它:
我x(i)=inf
终于得到了,但我认为这不是答案,有人可以向我解释我的代码有什么问题吗?
matlab - Matlab 优化,其中目标由不动点方程隐式给出
我有以下问题:
max CEQ(w) st w in (0,1) 我对 CEQ(w) 一无所知,除了由 CEQ(w) = F(CEQ(w)) 形式的定点方程给出。如果我修正 aw,我可以使用 fzero 函数求解定点方程并获得 CEQ 的值。如果我选择不同的 w,我会得到另一个 CEQ 值。因此,我可以遍历 w 的所有可能值,然后选择给出最高 CEQ 的值。虽然这看起来很糟糕,我想知道我是否可以在 MATLAB 中更有效地做到这一点:我想将我的定点方程的解建模为 w 的函数,但我不知道如何实现它。
更准确地说,这是一个示例代码:
也就是说,在循环中,我修复了 aw,求解了不动点方程并存储了 CEQ 的值。如果某个其他 w 为 CEQ 提供了更大的值,则当前最优 w 将被新的 w 替换。我想要的(而不是循环部分)是这样的:
r - R 函数的不动点
我正在寻找一个函数的固定点x
,f(x)=x
当然是数字,但我不知道如何用 R 解决它,我正在尝试使用fsolve
以下代码,但可能它不是写这个的正确方法......我是没有得到任何东西...非常感谢提前
scala - Fixed point theory and the isGoodEnough function
In Coursera course Functional Programming Principles in Scala
, the Lecturer talks about the Fixed Point
and wrote some simple implementation of it.
Such implementation will allow the following function f(x) = 1 + x
to have a Fixed Point.
However this should not never happen. As in this function graph:
And this is what stated by Wikipedai:
Not all functions have fixed points: for example, if f is a function defined on the real numbers as f(x) = x + 1, then it has no fixed points, since x is never equal to x + 1 for any real number.
The point here is in the isCloseEnough
that I couldn't why it is written that way.
I am here to understand the isCloseEnough
and why it was implemented that way
That is All.
matlab - MatLab 定点法求函数的根作为输入
我很难创建一个代码来查找函数的根作为定点方法的输入,
在这里,我使用 Newton-Raphson 方法完成了它:
这是一个使用定点方法的代码,但在一个不作为输入的固定函数上:
结尾
但是我不能使用函数作为输入来做到这一点,因为定点方法在左侧对变量 x 进行了分割。我该怎么做?
c++ - 如何优雅地找到一个简单的 mod 函数的不动点?
这是一个函数,用 C 表示为:
然后我遇到了一个挑战:如何找到它的所有不动点?
我知道我们可以测试每个uint32_t
值来解决这个问题,但我仍然想知道是否有另一种更优雅的方法 - 特别是当uint32_t
成为uint64_t
并且(0x156, 0xfca802c7)
是任意一对值时。
haskell - Haskell 中是否有定点运算符?
我最近注意到我经常编写函数,这些函数只是迭代另一个函数f
直到它达到一个固定点(例如f x == x
)
我认为这是一个非常笼统的概念,所以我认为可能有一个内置的。
所以我想知道是否有内置的,或更通用的?
所以我基本上在寻找这个:
我只是在谷歌上搜索时遇到了麻烦,因为我只fix
在我的搜索词包含fixed point
或类似的东西时才找到对该函数的引用。
clojure - How do I iterate until a fixed point in Clojure?
I'm frequently in the position that my code reads like so:
And I'm looking for the first value that no longer is an improvement over the previous. Neither filter
nor take-while
lend themselves to an obvious solution. However, I'm hesitant to write out:
or:
Because at some point this is becoming repetitive and surely fixed point iteration is such a basic task that there must be some kind of library support somewhere, right?
haskell - 有一个通过迭代搜索有吸引力的不动点的功能。我们可以将它推广到一元函数吗?
介绍
固定点是函数的参数,它会原样返回:f x == x
. 一个例子是(\x -> x^2) 1 == 1
——这里的不动点是 1。
有吸引力的不动点是那些可以从某个起点通过迭代找到的不动点。例如,(\x -> x^2) 0.5
将收敛到 0,因此 0 是该函数的一个有吸引力的不动点。
幸运的是,可以通过从该点迭代函数来从合适的非固定点逼近(并且在某些情况下,甚至在许多步骤中达到)有吸引力的固定点。其他时候,迭代会发散,所以首先应该有一个证据证明一个固定点会吸引迭代过程。对于某些函数,证明是常识。
编码
我整理了一些可以巧妙地完成任务的现有技术。然后我开始将同样的想法扩展到一元函数,但没有成功。这是我现在拥有的代码:
(它可能被加载到repl
。有例子可以在评论中运行,以供说明。)
问题
_
上面的定义中有一个fixpM
。这是一个类型的函数[m a] -> [m a]
,原则上应该与上面的函数相同converge
,但有点提升。我开始怀疑它不能写。
我确实为以下内容编写了另一个专门的代码fixpM
:
(再次,在评论中找到了一个示例运行。)
-- 但它是一个完全不同的算法,而不是我们开始使用的纯函数的扩展/概括。特别是,我们没有通过提供inits
最多第一次重复的列表的阶段。
我们不能扩展纯算法来处理一元函数吗?
为什么会这样?
我很欣赏一个解释如何证明不可能或以常规方式构建解决方案的理论的提示,但这也许只是我在忙于输入闲置问题时遗漏的琐事,在这种情况下,一个简单的反例将打败我。
PS我知道这是一个有点微不足道的练习。尽管如此,我还是想一劳永逸地完成它。
PS 2正如@nm (retaining iterate
) 所建议的,对纯变体的更好近似如下所示:
通过使用iterate
,它关于 monad 的行为是不同的,因为在连续近似之间保留了效果。在性能方面,这些功能具有相同的复杂性。
PS 3对@nm 提供的想法的更完整的诠释,据我所知,与纯变体一对一地对算法进行了编码:
不幸的是,它恰好是相当长的。更重要的是,这两种解决方案在 monad 的影响方面都具有相同的不太理想的行为:所有影响都保留在连续近似之间。