Matlab 牛顿加速迭代法 急…………Matlab 牛顿加速迭代法 急…………记住是 牛顿“加速”迭代法解方程是x=e^(-x)在x=0.5附近的根

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/15 04:26:26

Matlab 牛顿加速迭代法 急…………
Matlab 牛顿加速迭代法 急…………
记住是 牛顿“加速”迭代法
解方程是x=e^(-x)在x=0.5附近的根

clc;clear
f='x-exp(-x)'
df=diff(f)
x=0.5;
ac=[0.7;0.9;1];%加速因子
ac2=0.9;
for k=1:10
x=x-ac.*subs(f/df);
X(k,:)=x;
end
format long g
X
plot(X,'o-')
结果:
X =
0.546417702238053 0.559679902877496 0.566311003197218
0.560870862876879 0.56638785976344 0.567143165034862
0.565256569258052 0.567067654387364 0.567143290409781
0.566576822918211 0.567135725875868 0.567143290409784
0.566973309510764 0.567142533947073 0.567143290409784
0.56709229248013 0.56714321476342 0.567143290409784
0.567127990701457 0.567143282845146 0.567143290409784
0.567138700467636 0.56714328965332 0.567143290409784
0.567141913424471 0.567143290334137 0.567143290409784
0.56714287731395 0.567143290402219 0.567143290409784
可见,加速系数取1,收敛速度最快.