我想实现以下内容:我为我的特定功能编写了一个执行 Newton Raphson 算法的脚本。现在我想编写一个脚本,使用先前找到的零作为我的下一个初始起点重复自身:
x=zeros(1,31);
for i=1:31
x(i)=(i-1)/10;
end
y0=0;
for i=1:length(x)
y0=newton(x(i),y0)
end
所以,我希望这个脚本执行 newton(x,y0)。所以它将从 newton(0,0) 开始,它会找到一个新值 y0,然后我希望脚本执行 newton(0.1,y0) 等。我希望这些值与数量一起显示在表格中迭代需要找到值 y0。
我希望我的问题很清楚。致谢。
再说一遍:我有一个向量 x,其中元素为 0、0.1、0.2、...、3 当我用初始值 y0 实现 x(i) 时,newton(x,y) 会给我一个值。然后我希望脚本再次执行 newton(x,y) 值 x(2) 为 x 和先前找到的 y0。所以我需要某种循环,但我无法完成它.. :(
编辑
这是我的newton
功能:
function nulpunt=newton(x,y0)
tolerantie=1e-8;
iteraties=0;
while (abs(functie1(y0,x))>tolerantie)
y0=y0-functie1(y0,x)/afgeleide_functie1(y0);
iteraties=iteraties+1;
end
if iteraties==100;
fprintf('Maximaal aantal iteraties bereikt')
else
fprintf('De benadering van het nulpunt y*(%.2f) is %.4f gevonden in %d iteraties.\n',x,y0,iteraties)
end
end