Рекурсия с фиксированной точкой MATLAB

Я не уверен, натолкнулся ли я на вопрос с подвохом или нет, но я кодирую рекурсию с фиксированной точкой, чтобы найти корень для данного уравнения. Мне кажется, что у меня есть ответ сразу, но я все еще пытаюсь определить, как управлять уравнением, чтобы оно работало для моего алгоритма.

Уравнение f(x) = sqrt(x) - 1.1. Я думал, что мне нужно манипулировать, чтобы изолировать x, но это просто дает мне ответ. Есть ли другой способ манипулировать им, чтобы заставить его работать для алгоритма?

Вот мой код:

% FIXED POINT ITERATION
% function = sqrt(x) - 1.1
% error <= 1.e-8
% sqrt(x) = 1.1
% x = 1.1^2

clear;clc;format('long','g')
i = 1;
x(i) = 0;
error(i) = 9999;

while error(i) >= 1.e-8
    %% NOT WORKING WITH THIS MANIPULATION
    x(i+1) = sqrt(x(i))*1.1; 
    error(i+1) = abs(x(i+1)-x(i)); %abs((((x(i+1)-x(i))/(x(i+1)))*100));
    i = i +1;
end
disp('            root                 error(%)');
disp([x',error'])

0 ответов

Другие вопросы по тегам