ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode


Метод хорд


Метод хорд используется для численного нахождения приближенного значения корня нелинейного уравнения. В данной статье будет показан алгоритм метода, а также будет приведена его программная реализация на языках: Си, C# и Java.

Метод хорд (то же, что метод секущих) — итерационный метод решения нелинейного уравнения.

Нелинейное уравнение — это уравнение в котором есть хотя бы один член, включающий неизвестное, НЕ в первой степени. Обозначается, как: f(x) = 0.

Метод хорд. Алгоритм

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

Итерационная формула для вычислений методом хорд следующая:

Метод хорд. Формула

Вычисления продолжаются до тех пор, пока не станет истинным выражение:

|x(k+1) — xk| ≤ ε

Геометрическая модель одного шага итераций метода хорд представлена на рисунке:


Метод хорд. Геометрическое изображение

Метод хорд, в отличие от метода Ньютона, имеет плюс в том, что для расчета не требуется вычисление производных. Но при этом метод хорд медленнее, его сходимость равна золотому сечению:

Метод хорд. Скорость сходимости

Метод хорд. Программная реализация

Ниже мы приводим реализацию алгоритма метода хорд на языках программирования Си, C# и Java. Кроме того, исходники программ доступны для скачивания.

В качестве примера ищется корень уравнения x3 — 18x — 83 = 0 в области x0 = 2, x1 = 10, с погрешностью e = 0.001. (Корень равен: 5.7051).

x_prev — это xk-1, x_curr — это xk, x_next — это xk+1.

Блок-схема алгоритма метода хорд:

Блок-схема алгоритма метода хорд

Язык Си

Скачать исходник Си (Visual Studio)

 

 

Язык C#

Скачать исходник C# (Visual Studio)

 

 

Язык Java

Скачать исходник Java (NetBeans)

 

 

4.6/5 - (19 голосов)



Поделиться в соц. сетях:

Один комментарий к статье “Метод хорд

  1. Кир

    В варианте для языка С допущена ошибка:
    Необходимо в цикле while использовать не abs(), a fabs() ибо код работает некорректно при слишком высоких требованиях точности.

Добавить комментарий для Кир Отменить ответ

Ваш адрес email не будет опубликован.