ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Минимизация функции нескольких переменных. Метод Марквардта

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

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

Программа написана на языке С++ в среде Turbo C++ 3.0 для DOS с использованием класса «Матрица».

Скачать исходники: marquardt.zip (5 Кб)



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ