matlab - 如何在 MATLAB/OCTAVE 上实现和修改牛顿法?
问题描述
我正在尝试实现牛顿的方法。2 阶迭代方法。并对其进行调整以计算具有 4 个精确小数的 ecuation (x=1-e^(-2x) 的非空解。
我无法弄清楚输出的外观。我试图实现用初始近似值找到更好的零近似值的方法
function [x , res , xvec , resvec] = newton( f, df, x0, maxiter, tol )
function x(k) = newton( f, df, x0, maxiter, tol )
k(1:maxiter)
f = @x(k)
df = @(x(k))'
x(k)= x0-(f(x0)/df(x0))
x(k+1) = x(k) - (f(x(k))/df(x(k)))
end
while (iter < maxiter)
while (abs(f(n)-(f(n-1)) > tol)
x(1)= x0-(f(x0)/df(x0))
elseif (iter > maxiter)
error('maximum amount of iterations exceeded')
end
end
fprintf('step(k) x(k) |f(xk)| |x(k+1)-x(k)|')
fprintf('------ ----------- --------- -------------\n')
fprintf('%d %d %.4f %.4f\n', k, x(k), mod(f(xk)), mod(x(k+1)−x(k)) )
我希望用 qpproximation 向我展示 4 个十进制的结果
解决方案
推荐阅读
- python - 在Tensorflow中动态改变观察数组长度?
- javascript - 用一个处理文件将两个表单提交到数据库中
- python - 从字典中存储和获取值的更优雅的方式?
- vba - 有没有办法为日期设置自定义小时周期(不同于 24 小时)?
- arrays - 创建 vba 数组时出现类型不匹配错误
- c++ - 即使我已经声明了一个标识符,我在使用 c++ 的 Visual Studio 2019 中仍然收到未声明的标识符错误
- javascript - 在画布上绘制线条时的奇怪形状(js)
- java - UI 测试 Xamarin 应用程序:System.Exception:找不到 Java 开发工具包 (JDK)
- python - Colorama 输出随机的东西
- draw.io - draw.io 调整容器形状的展开/折叠 (+/-) 按钮