Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Корни.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.47 Mб
Скачать

5. Метод хорд

5.1. Анализ задачи

Перепишем уравнение (1) как функцию f(x):

(5.1.)

Значения аргумента x на концах заданного отрезка обозначим переменными a и b.

График функции (5.1.) выглядит следующим образом:

Рисунок 5.1.

Значения функции (5.1.) в точках a и b обозначим как fa и fb соответственно. Находить их будем по следующим формулам:

(5.2.)

(5.3.)

Значение абсциссы в точке пересечения хорды с осью ОХ обозначим как x и найдем по формуле:

(5.4.)

В нашем случае неподвижна точка с абсциссой 2 (или b), следовательно, все последующие приближения рассчитываются по формуле

(5.5.)

Обозначим первое приближение x1, второе – x2. Значения функции (5.1.) в точках x и x1 обозначим как f1 и f2 соответственно. Формулы для нахождения их значений примут следующий вид:

(5.6.)

(5.7.)

(5.8.)

(5.9.)

Поскольку в программном коде невозможно применить идентификатор ε, то обозначим переменную ε как E.

Тогда условие окончания повторения цикла примет следующий вид:

(5.10.)

Переменная n будет применяться для вывода значений всех переменных на разные строки:

(5.11.)

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

Рисунок 5.2.

В данной задаче содержится три переменные, которые являются входными параметрами – a, b, E. Переменные fa, fb, f1, f2, n, x являются промежуточными параметрами. Выходными данными будут значения переменных x1, x2 они понадобятся для составления отчетной таблицы.

Входные данные: a, b, E;

Промежуточные данные: fa, fb, f1, f2, n, x;

Выходные данные: x1, x2.

Для переменных a, b, n будем применять тип данных BYTE, т.к. они принимают только положительные целочисленные значения, для переменной E - SINGLE, т.к. она имеет только 3 значащие цифры после запятой. Для переменных fa, fb, f1, f2, x, x1, x2 будем использовать тип данных DOUBLE, в целях достижения наибольшей точности при расчетах.

Для выполнения условного цикла будем использовать оператор DoLoop Until, т.к. подсчет нужно вести до тех пор, пока не выполнится условие (7).

5.2. Алгоритм действий

  1. Объявляем переменные a, b, E, fa, fb, f1, f2, n, x, x1, x2;

  2. Присваиваем переменным a, b, n тип данных BYTE; E – SINGLE; fa, fb, f1, f2, x, x1, x2 - DOUBLE;

  3. Присваиваем переменным a, b, E, n начальные значения 0, 2, 0.001, 29 соответственно;

  4. Вычисляем значение fa по формуле (5.2.);

  5. Вычисляем значение fb по формуле (5.3.);

  6. Находим значение абсциссы (x) в точке пересечения хорды с осью ОХ по формуле (5.4.);

  7. Находим значение функции (5.1.) в точке x по формуле (5.6);

  8. Вычисляем значение x1 по формуле (5.8.), тем самым находим новое приближение корня;

  9. Находим значение функции (5.1.) в точке x1 по формуле (5.7);

  10. Вычисляем значение x2 по формуле (5.9.), т.е. находим следующее приближение;

  11. Присваиваем переменной x значение переменной x2, этим действием мы задаем новый аргумент для последующей итерации;

  12. Выводим значения x1, x2 на лист;

  13. Присваиваем переменной n новое значение, используя формулу (5.10.);

  14. Ставим условие (5.11.);

    1. Если оно выполняется, условный цикл завершается;

    2. В противном случае программа возвращается и заново выполняет действия с 7 по 14. Цикл будет повторяться до тех пор, пока разность значений x2 и x1 не будет удовлетворять точности заданной в условии;

  15. Выводим конечное значение переменной x2 на лист, сохраняем результаты в таблице Excel.