Использование флага в Matlab для секущего метода - PullRequest
0 голосов
/ 24 октября 2019

В книге под названием оптимизация у нас есть следующий алгоритм для метода Секанта. Обратите внимание, что мы ищем нули производной.

Шаг 1: Даны a, b, ε и Δx, flag = 0;Шаг 2: Вычислите α = a + b / 2, f ′ (a) и f ′ (α)

Если f ′ (a) f ′ (α) <0, то b = α </p>

      set flag = 1(zero is bracketed)

иначе a = α

Если флаг = 1, тогда перейдите к шагу 3, еще перейдите к шагу 2

Шаг 3: вычислите α = x2 −f ′ (x2) / ((f′ (X2) - f ′ (x1)) / (x2 - x1))

Если f ′ (α)> 0, то b = α, иначе a = α

Если | f ′(α) | <ε </p>

, затем перейдите к шагу 4, иначе перейдите к шагу 3 Шаг 4: сходятся. Выведите x * = α, f (x *) = f (α)

Мои вопросы: ** Что делает флаг, и почему на шаге 2 было 1, а на шаге 3 - 0? ** Что они имеют в виду (ноль в скобках)? ** На шаге 3 почему мы говорим, что f ′ (α)> 0

Может ли кто-нибудь помочь. Большое спасибо заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...