我必须编写一个程序来实现牛顿方法和以下方法:
在给定定点方法g(x)= x的情况下,求解f(x)= 0的迭代方法,其中
p_(n + 1)= g(p_n)= p_n-f(p_n)/ f'(p_n)-(f''(p_n)/ 2f'(p_n))*(f(p_n)/ f '(p_n))^ 2。
我已经完成了下面的第一部分(牛顿法):
format long;
f = @(x) x^3+x-1; %define the function
fp = @(x) 3*x^2+1; %and its first two derivatives
fpp = @(x) 6*x;
tol=10^(-14); %set precision desired for the approximation
a=1; %set starting value to 1
N=25; %max number of iterations allowed
ebound=1; %set initial bound for error
X=a; %initialize iterate array, allows for column output
n=0; %iteration counter
while ebound>=tol && n<=N
b=a-(f(a)/fp(a)); %compute next iterate
X=[X;b]; %record the iterate into the array
ebound=abs(b-a); %compute error
a=b;n=n+1; %update a and n
end
disp(X);%display array of iterates
但是,我不确定如何实现第二部分。有什么建议吗?它们必须在同一程序中。
编辑:为了清楚起见,我的问题是关于如何编写定点近似代码。我应该从写g(x)= 1-x ^ 3开始吗?