Метод Ньютона для оптимизации в MATLAB - PullRequest
0 голосов
/ 29 марта 2020

Я хочу оптимизировать проблему, используя метод Ньютона в MATLAB, однако я не получаю правильного ответа. Я надеюсь, что кто-то может меня с моими кодами. Ответ должен быть около 33,333, но я получаю 25.

clc; clear all; close all;

f = @(x) (5*sqrt(2))*(50-x)*(sqrt(2*x-50));  %Objective Function
df1 = @(x) - 10*(x - 25)^(1/2) - (5*(x - 50))/(x - 25)^(1/2);      % First Derivative
df2 = @(x) (5*(x - 50))/(2*(x - 25)^(3/2)) - 10/(x - 25)^(1/2);  % Second Derivative

K = 200;                 
x = 0;                    
Err = 0.0001;     

for i = 1:K               
    x = x - f(x)/df1(x);  
    j = i + 1;
    xx(j) = x;  

    err = abs(xx(j)-xx(j-1));   
    if err < Err
        break
    end
    z(i) = x;
end
x
...