Решение нелинейных уравнений методом хорд программа

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

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

Метод хорд

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

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

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

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

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

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

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

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

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

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

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

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

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

Решение нелинейных уравнений методом хорд в MS Excel

Тема урока: «Решение нелинейных уравнений в MS Excel».

Цель урока: изучение возможностей MS Excel по решению нелинейных уравнений и практическое освоение соответствующих умений и навыков.

Тип урока: комбинированный – урок изучения нового материала и практического закрепления полученных знаний, умений и навыков.

Вид урока: сдвоенный, продолжительность – 1,5 часа.

Задачи урока:

  • обучающая – научить учащихся решать нелинейные уравнения в среде электронных таблиц MS Excel;
  • развивающая – познакомить учащихся с применением компьютеров в качестве помощников при решении уравнений;
  • воспитательная – выработать у учащихся умение рационально использовать время и возможности компьютерных технологий при решении задач.

Оборудование урока:

  • Компьютеры с OS MS Windows;
  • Программа Microsoft Excel;
  • Программа Turbo Pascal;
  • Презентация по теме, выполненная в программе Power Point;
  • Карточки с заданиями для самостоятельной работы.

В данном уроке особое внимание уделено визуальному представлению информации – в ходе урока с помощью проектора демонстрируются слайды, подготовленные в пакете презентационной графики Microsoft Power Point.

I. Организационный момент

Учитель объявляет тему и цели урока.

II. Актуализация знаний, умений и навыков учащихся – повторение материала прошлого урока по теме «Решение нелинейных уравнений методом половинного деления»

Учащиеся повторяют указанный метод с помощью слайдов, подготовленных в пакете презентационной графики Microsoft Power Point метод половинного деления

Вопросы:

  • Всегда ли существуют формулы для «точного» решения уравнений?
  • Сформулируйте основное условие существования корня на заданном отрезке.
  • Запишите уравнение, позволяющее определить координаты середины отрезка.
  • Почему алгоритм решения этой задачи можно назвать циклическим?
  • Какое действие в алгоритме повторяется?
  • Определите условие, при котором действие алгоритма должно остановиться.

III. Изобразите блок-схему алгоритма. блок-схема

IV. Практическое задание с использованием программы на языке Turbo Pascal (Учащимся разрешено использовать программу, составленную на предыдущем уроке. Было решено уравнение y = x 3 – cos(x)) метод половинного деления TP

Задания для учащихся первой группы

Найти решение уравнения y = x 3 – cos(x) на отрезке [–1;1], при = 0,0001

Задания для учащихся второй группы

Найти решение уравнения y = x 3 – cos(x) на отрезке [–1;1], определить на каком шаге циклического алгоритма будет получено решение.

V. Изучение нового материала «Решение нелинейных уравнений методом хорд»

VI. Объяснить алгоритм решения уравнения f(x)=0 на отрезке [а;в] методом хорд с помощью слайдов, подготовленных в пакете презентационной графики Microsoft Power Point. метод хорд

Вопросы:

  • Запишите уравнение, позволяющее определить координаты точки пересечения с осью ОХ.
  • Почему алгоритм решения этой задачи можно назвать циклическим?
  • Какое действие в алгоритме повторяется?
  • Определите условие, при котором действие алгоритма должно остановиться.
  • Изобразите блок-схему алгоритма блок-схема2

Этапы решения задачи

  • Содержательная постановка задачи. Решение уравнения y = x 3 – cos(x) на отрезке [–1,4; 1,4] с точностью = 0,001.
  • Визуализация решения задачи с помощью построения графика заданной функции с помощью процессора MS Excel, используя метод подбора параметра определить корень уравнения.
  • Формальная математическая модель.
    • Задание математической формулы для отыскания корня уравнения на отрезке
    • Задание системы ограничений при использовании циклического алгоритма
    • Требование к диапазону задания переменных

Для формализации модели используем математические формулы.

уравнение прямой, проходящей через две точки, где x1 = a, x2 = в, y1 = f(a), y2 = f(в).

После математических преобразований уравнение примет вид .

Определим корень уравнения

  • Блок схема алгоритма решения задачи блок-схема2
  • Программа на языке Turbo Pascal метод хорд ТР
  • Заполнение расчетной таблицы в программе MS Excel метод хорд xls

Метод хорд Pascal (Паскаль)

Найти корень уравнения методом хорд.

Будем искать корень функции f(x). Выберем две начальные точки C1(x1;y1) и C2(x2;y2) и проведем через них прямую. Она пересечет ось абсцисс в точке (x3;0). Теперь найдем значение функции с абсциссой x3. Временно будем считать x3 корнем на отрезке [x1;x2]. Пусть точка C3имеет абсцисcу x3 и лежит на графике. Теперь вместо точек C1 и C2 мы возьмём точку C3 и точку C2. Теперь с этими двумя точками проделаем ту же операцию и так далее, т.е. будем получать две точки Cn + 1 и Cn и повторять операцию с ними. Таким образом мы будем получать две точки, отрезок, соединяющий которые, пересекает ось абсцисс в точке, значение абсциссы которой можно приближенно считать корнем. Эти действия нужно повторять до тех пор, пока мы не получим значение корня с нужным нам приближением. (источник)

3 Thoughts to “Метод хорд Pascal (Паскаль)”

Исправил программу на сайте сделал проще и удобнее
согласно ссылке на сайт с описание алгоритма получается в onlinegdb.com следующая программа,

function f(x:real):real;
begin
f:=x*x*x+x-5;
end;

var xn,xk,p,e:real;
begin
e:=0.001;
xn:=0.5;
xk:=2;
repeat
p:=(f(xk)*xn-f(xn)*xk)/(f(xk)-f(xn));
if abs(f(p)) 0 then xn:=p else xk:=p;
until abs((f(xk)*xn-f(xn)*xk)/f(xk)-f(xn)-p) Atlant

Спасибо retros. Вы меня очень выручили. Буду советовать Ваш ресурс коллегам.


источники:

http://urok.1sept.ru/articles/524570

http://retrolib.ru/metod-hord-pascal-paskal/