Matlab 牛顿加速迭代法 急…………

问题描述:

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.5608708628768790.56638785976344 0.567143165034862
0.565256569258052 0.567067654387364 0.567143290409781
0.566576822918211 0.567135725875868 0.567143290409784
0.566973309510764 0.567142533947073 0.567143290409784
0.567092292480130.56714321476342 0.567143290409784
0.567127990701457 0.567143282845146 0.567143290409784
0.5671387004676360.56714328965332 0.567143290409784
0.567141913424471 0.567143290334137 0.567143290409784
0.56714287731395 0.567143290402219 0.567143290409784
可见,加速系数取1,收敛速度最快.