Метод Secant: вариант метода Ньютона-Рафсона - PullRequest
0 голосов
/ 27 сентября 2019

Мне нужно закодировать метод Secant: вариант метода Ньютона-Рафсона.

Я сделал следующее:

function [SecantMethod] = SecantMethod(x0, x1);

%this is a variation on the Newton-Raphson MEthod, uses two inital guesses
%so that we do not have to explicitly work of the derivative of f(x).

x0 = 2;      
x1 = 1;
%the two guesses

f0 = f(x0);              
f1 = f(x1);
%two coressponding values of the function evaluated at x0 and x1

    x = x1 - (f1*((x1 - x0)/(f1 - f0)));         
    %actual Secant Method (finds x axis intercept between two guesses
end

Когда я запускаю код в Matlab,появляется ошибка «Неопределенная функция или переменная« f ».»

У меня нет какой-то конкретной функции, которую я хочу решить, я просто должен ее кодировать, поэтому я не уверен, как это сделать.

1 Ответ

1 голос
/ 27 сентября 2019

Вы можете заставить функцию принимать функцию в качестве аргумента следующим образом:

function [SecantMethod] = SecantMethod(f,x0, x1);

disp(f(x0));

end

Тогда в вашем коде:

%make anonymous function:
f=@(x)(x.^2);
%or:
f=@sin;

%and simply:
SecantMethod(f,1,2)
% or just:
SecantMethod(@myfucntion,1,2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...