Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
непрмо_подготовка к экзую.docx
Скачиваний:
0
Добавлен:
24.01.2026
Размер:
6.31 Mб
Скачать

12. Метод Ньютона одномерный. Запрограммировать, показать работу на функциях.

def nsearch(tol, x0):

x = x0

k_max = 1000

k = 0

coords = [x]

g1 = df(x)

g2 = ddf(x)

neval = 2

while (np.abs(g1) > tol) and (k < k_max):

x = x0 - (g1 / g2)

g1 = df(x)

g2 = ddf(x)

neval += 2

x0 = x

coords.append(x)

k += 1

xmin = x

fmin = f(xmin)

neval += 1

answer_ = [xmin, fmin, neval, coords]

return answer_

Метод Ньютона (метод касательных) используется для нахождения корней уравнения

f(x)=0

или для поиска стационарных точек (если применяем к f′(x)=0 для оптимизации).

Формула метода Ньютона:

Идея: В каждой итерации строится касательная к графику функции в точке xk, и берётся её пересечение с осью x — это и есть новое приближение корня.

Добавить КОП остановки, если нет

Также можно добавить КОП по количеству итераций, чтобы избежать зацикливания:

if k > k_max: break

Что будет, если убрать альфу?(хз пока, что за альфа)

Иногда в формулах Ньютона встречается множитель α (альфа):

Здесь α — коэффициент шага (0 < α ≤ 1).

  • Если α = 1 → классический метод Ньютона.

  • Если убрать или сделать α > 1 → шаг станет слишком большим, метод может перескочить через корень и расходиться.

  • Если уменьшить α (например, 0.5) → метод будет устойчивее, но сойдётся медленнее.

Зачем альфа: для стабилизации сходимости при "крутых" или "ломаных" функциях.

Что ищет этот метод? Как ищет?

Ищет: Корни уравнения f(x) = 0 (нули функции)

Как ищет: Итерационно: xₙ₊₁ = xₙ - f(xₙ)/f'(xₙ)

Геометрически: На каждой итерации проводит касательную в точке (xₙ, f(xₙ)) и берет точку ее пересечения с осью OX

Всегда ли ищет минимум? Если нет, что может еще найти? Ответ - точку макс, точку перегиба

Опять в сравнении с другими методами вопрос по типу, что лучше, метод Ньютона или метод секущих?

Что за точка такая, в которой df = 0? сказать про экстремум или точку перегиба - неправильно. Правильный ответ - стационарная точка

Это стационарная точка.

То есть точка, в которой производная равна нулю — но не обязательно минимум.

Чтобы понять тип точки, нужно смотреть знак второй производной.

  • Локальный минимум (если f''(x) > 0)

  • Локальный максимум (если f''(x) < 0)

  • Точка перегиба (если f''(x) = 0)

Какой-то вопрос под конец пары: можно ли использовать в этом методе 3-ю производную?

Теоретически — да, если строить разложение Тейлора до 3-го порядка,

но в классическом методе Ньютона она не нужна.

Метод использует только первую производную,

а при анализе сходимости — вторую.

Третья применяется лишь в расширенных (модифицированных) версиях, например, метод Халлея.

  • Порядок сходимости кубический (3)

  • Но требует вычисления f''(x) и более сложен

Можно ли найти решение нелинейного уравнения через метод ньютона, если как то рассказать и обосновать? (в пример предложил рассмотреть sinx=x, выяснили вместе, что можно только численно и вопрос повис)

Ответ: ДА!

f(x) = sin(x) - x = 0

f'(x) = cos(x) - 1

xₙ₊₁ = xₙ - (sin(xₙ) - xₙ)/(cos(xₙ) - 1)

Единственное решение: x = 0

Проблема: f'(0) = 0 ⇒ метод может работать плохо вблизи корня

В проге минус заменили на плюс, что будет? Ответ вроде как сломается (предлагал варианты: сломается, картина отразится, метод будет работать медленнее, найдет максимум)

шаг будет в противоположную сторону,

метод уйдёт от корня и расходится.

То есть программа «сломается» (корень не найдёт вообще).

  • Будет двигаться В ОБРАТНУЮ сторону от корня

  • Расходится или находит что-то случайное

  • Геометрически: берет пересечение с осью OX в неправильную сторону

За сколько итераций при параболе x^2 сойдется метод ньютона (говорил, что в лекции это было я хз)

Вопрос: За сколько итераций метод Ньютона сойдется для f(x) = x²?

Ответ: За 1 итерацию!

f(x) = x², f'(x) = 2x

xₙ₊₁ = xₙ - xₙ²/(2xₙ) = xₙ - xₙ/2 = xₙ/2

За одну итерацию расстояние до корня уменьшается в 2 раза

Из любого x₀ ≠ 0 сходится к 0

Какой-то такой рисунок, вопрос куда пойдет метод от разных точек (к (1), к (2))

Если функция имеет два корня или экстремума (например, около (1) и (2)), то всё зависит от начального приближения:

  • Если старт ближе к левому корню → сойдётся к левому;

  • Если ближе к правому → к правому;

  • Если далеко или на «перегибе» → может вообще разойтись.

  • Если x₀ близко к корню: сходится к ближайшему корню

  • Если x₀ в точке перегиба: может зациклиться или уйти далеко

  • Если f'(x₀) ≈ 0: следующее приближение далеко (деление на малое число)

  • Если начальная точка плохая: может сойтись к другому корню или расходиться

Вопрос: Каковы достаточные условия сходимости метода Ньютона? Ответ:

  1. f(x) ∈ C²[a,b] - дважды непрерывно дифференцируема на [a,b]

  2. f(a)·f(b) < 0 - корень существует

  3. f'(x) ≠ 0 на [a,b] - производная не обращается в ноль

  4. f''(x) знакопостоянна на [a,b]

  5. Начальное приближение x₀ такое, что f(x₀)·f''(x₀) > 0