gpt4 book ai didi

algorithm - MatLab - 牛顿法算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:39:34 25 4
gpt4 key购买 nike

为了使用牛顿法在 MatLab 中评估一个函数,我编写了以下算法(我们在我的解决方案中设置 r = -7):

function newton(r);
syms x;
y = exp(x) - 1.5 - atan(x);
yprime = diff(y,x);
f = matlabFunction(y);
fprime = matlabFunction(yprime);
x = r;
xvals = x
for i=1:8
u = x;
x = u - f(r)/fprime(r);
xvals = x
end

算法的工作原理是它运行时没有任何错误,但数字在每次迭代中都在减少,尽管根据我的教科书,对于 x,表达式应该收敛到大约 -14。我的算法在前两次迭代中是正确的,但随后它超出了 -14,并在所有迭代完成后最终以 roughøy -36.4 结束。

如果有人能帮助我解决为什么算法不能正常工作,我将不胜感激!

最佳答案

我觉得

x = u - f(r)/fprime(r);

应该是

x = u - f(u)/fprime(u);

如果您总是使用 r,那么您总是将 x 递减相同的值。

关于algorithm - MatLab - 牛顿法算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com