Приближенное решение уравнения методом деления пополам

Приближенное вычисление корня уравнения методом деления отрезка пополам

Раздел программы: “Научно-технические расчёты на ЭВМ”

Тема урока: “Приближенное вычисление корня уравнения методом деления отрезка пополам”

Продолжительность занятия: 2 академических часа.

Тип урока: урок изучения нового материала.

Вид урока: комбинированный.

Время проведения: первый урок по теме “Приближенные вычисления”

Цели урока:

  • Развитие представлений о применениях ЭВМ для научно-технических расчетов.
  • Формирование системно-информационного подхода к анализу окружающего мира.
  • Формирование общеучебных и общенаучных навыков работы с информацией.

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

  • Воспитательная – развитие познавательного интереса, воспитание информационной культуры, воспитание умения четко организовать самостоятельную работу.
  • Образовательная – изучить и закрепить приемы использования языка программирования для решения задач приближенного решения уравнений, закрепить знания и умения по теме “Алгоритмизация и программирование”.
  • Развивающая – расширение кругозора.

Методы: Словесные, наглядные, практические.

Организационные формы работы: фронтальные, индивидуальные.

Материально-техническая база: доска, ПК с установленным ПО ЯП Turbo Pascal 7.0.

Межпредметная связь: математика.

Требования к знаниям и умениям: учащиеся должны знать основные команды языка программирования для задач вычислительного характера, уметь составлять и записывать алгоритмы с использование циклов и ветвлений; по записи алгоритма записывать программу на языке программирования Turbo Pascal.

Содержание этапа урока

Вид и формы работы1. Организационный моментПриветствие2. Мотивационное начало урока.Постановка цели урока.3 Изучение нового материала.
Ознакомление с новым методом приближенного
решения уравнений,
показ образца действий.Работа в тетради.4. Закрепление и проверка полученных знаний.Фронтальный опрос.

Работа в тетради по кодированию программ
по заданному алгоритму.5. Упражнения творческого характера.Лабораторная работа:
применение созданной программы
для приближенного вычисления корня функции.
Работа в тетради.
Защита результатов.6 Подведение итогов урока, домашнее задание.Работа в тетради.

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

II. Мотивационное начало урока. Постановка цели урока

Учитель: Вычисления на компьютере обладают большей гибкостью, чем привычные всем вычисления в математике. Рассмотрим для примера задачу вычисления корня уравнения f(x) = 0. В курсе школьной математики вам известен метод дискриминанта для уравнений вида:
ax 2 + bx + c = 0, выражаемой по формуле . Однако, во многих случаях, ответ не выражается формулой (например, для корня уравнения cos(x) = x формулы просто нет). Но можно, не выводя точных формул, вычислить корень приближенно, с заданной точностью, например, до 0,0001. Сегодня мы рассмотрим один из приближенных методов вычисления корня уравнения – метод деления отрезка пополам.

III. Изучение нового материала.

Учитель: Рассмотрим задачу в следующей постановке.

Дано уравнение f(x) = 0 и числа a и b: a f(b) 0.

Если V–точный корень уравнения f(V) = 0, a * f(b) E, то перейти к пункту 1).

Любая точка отрезка [a, b] при таком алгоритме даст приближенное решение с заданной точностью.

Запишем алгоритм решения нашей задачи в виде блок схемы: (См. рис. 2).

Учитель: Есть ли вопросы?

Если у учащихся есть вопросы, то необходимо все уяснить, прежде чем переходить к следующему этапу урока/

Учитель: Какой алгоритм по структуре у нас получился?

ПО: циклический, причем использовать надо цикл с предусловием.

Учитель: Что необходимо вписать в блоки, помеченные звездочкой ( * )?

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

Учитель: Что необходимо предварительно сделать, прежде чем применять этот алгоритм для нахождения корня уравнения?

ПО: Необходимо, в первую очередь, проверить, удовлетворяет ли функция постановке задачи: является ли график функции непрерывной линией на отрезке [a, b], разные ли знаки имеет функция на концах отрезка [a, b].

IV. Этап закрепления, проверки полученных знаний

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

  1. x 2 – 5 = 0, [0, 3] (ПО: функция непрерывна на отрезке и f(0) *f(3) 4 + cos(x) – 2 = 0 [0, 2] (ПО: функция непрерывна на отрезке и f(0)*f(2) 5 – 1 = 0 [–5, 2] (ПО: функция непрерывна на отрезке и f(– 5)*f(2) e do
    Begin c : = (a + b)/2;
    fc : = … ;
    If fc . fa 2 cos(2x) + 1 = 0 [0, /2]
  2. x 3 + x 2 + x + 1 = 0 [–2,1]
  3. x 5 – 0,3 | x – 1 | = 0 [0,1]
  4. 2xcos(x) = 0 [0, /4]
  5. tg(x) – (x + 1)/2 = 0 [0, /4]

3. Это задание для учащихся математического класса: Вычислить значения , используя этот же метод деления отрезка пополам. Ответы сравните с расчетами на инженерном калькуляторе.
ВСЕ результаты вычислений фиксируются в тетради.

4. Результаты лабораторной работы должны быть защищены в индивидуальном порядке в беседе с учителем: проверяется понимание метода и используемой программы.

Вопросы для собеседования:

  1. В чем смысл переменной…?
  2. Что означает данная команда…?
  3. Как вы записывали для функции а) – е) выражение в команде fa : = .
  4. Для чего в программе используются операторные скобки?
  5. Для чего использовали в программе команду ветвления? Цикла?
  6. Где в программе осуществляется выбор отрезка, где находится корень уравнения?

На выполнение задания дается 30 минут. (Для выполнения задания учащиеся рассаживаются за компьютеры, загружают среду программирования и начинают проверять программу).

Защита результатов осуществляется по мере готовности учащихся, наиболее продвинутые учащиеся назначаются консультантами и принимают зачет вместе с учителем.

VI. Подведение итогов. Домашнее задание

Учитель: Подведем итоги. Сегодня на уроке вы узнали, как находить решение уравнений методом деления отрезка пополам, как использовать для этого компьютер. Я проверила во время практической работы и в процессе защиты результатов работы как вы усвоили материал, вы хорошо справились с заданием и получили следующие отметки… На этом изучение применений компьютера для научно-технических расчетов не заканчивается, предлагаю проанализировать свои записи в тетради и выполнить домашнее задание: подумать над вопросом “Какие методы поиска площадей фигур вы знаете?”. Запишите его себе в тетрадь.
Спасибо всем за работу.

Метод бисекции

Метод бисекции или метод деления отрезка пополам — простейший численный метод приближённого нахождения корня уравнения.

Калькулятор, который находит приближенное решение уравнения методом бисекции или методом деления отрезка пополам. Небольшая теория под калькулятором.

Метод бисекции

Метод бисекции

Существует довольно очевидная теорема: «Если непрерывная функция на концах некоторого интервала имеет значения разных знаков, то внутри этого интервала у нее есть корень (как минимум, один, но может быть и несколько)». На базе этой теоремы построено несколько методов численного нахождения приближенного значения корня функции. Обобщенно все эти методы называются методами дихотомии, т. е. методами деления отрезка на две части (необязательно равные).

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

Итерационная формула проста:

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

В качестве критерия останова берут один из следующих:

— значение функции на данной итерации стало меньше заданого ε.

— изменение хk в результате итерации стало меньше заданого ε. Поскольку интервал на каждом шаге уменьшается в два раза, вместо проверки x можно рассчитать количество требуемых итераций.

Метод деления отрезка пополам (метод бисекции)

Один из простейших методов нахождения корней нелинейных уравнений состоит в следующем. Допустим, что нам удалось найти отрезок [а, b], на котором расположено искомое значение корня (далее мы предполагаем, что х = с – единственный корень на отрезке [а, b], а если корней на [а, b] несколько, то в результате применения метода деления отрезка пополам и метода хорд (см. разд. 1.1.3) будет найдено приближенное значение одного из корней) х = с, т.е. .

В качестве начального приближения корня с0 принимаем середину этого отрезка: с0=(а+b)/2. Далее исследуем значения функции F(x) на концах отрезков [а, с0] и [с0, b], т.е. в точках а, с0, b. Тот из отрезков, на концах которого F(x) принимает значения разных знаков, содержит искомый корень; поэтому его принимаем в качестве нового отрезка [a1,b1]. Вторую половину отрезка [а, b], на которой знак F(x) не меняется, отбрасываем. В качестве первого приближения корня принимаем середину нового отрезка c1 = (a1+b1)/2 и т.д. Таким образом, k приближение вычисляем как

(1.2)

После каждой итерации отрезок, на котором расположен корень, уменьшается вдвое, а после kитераций он сокращается в 2kраз:

(1.3)

Пусть приближенное решение требуется найти с точностью до некоторого заданного малого числа ε > 0:

(1.4)

Взяв в качестве приближенного решения k-еприближение корня: , запишем (1.4) с учетом обозначения — сk в виде:

(1.5)

Из (1.2) следует, что (1.5) выполнено, если

(1.6)

Таким образом, итерационный процесс нужно продолжать до тех пор, пока не будет выполнено условие (1.6).

Метод деления отрезка пополам проиллюстрирован на рис. 1.1. Пусть для определенности F(a) 0. В качестве начального приближения корня примем с0 = (а + b)/2. Поскольку в рассматриваемом случае F(c0) 0 и F(b) > 0. Таким образом, с[с0, c1],а2=с0, b2 = с1. Аналогично находим другие приближения: с2=(с0+c1)/2и т.д. до выполнения условия (1.6).

Рис. 1.1. Метод деления отрезка пополам

В отличие от большинства других итерационных методов метод деления отрезка пополам всегда сходится, причем можно гарантировать, что полученное решение будет иметь любую наперед заданную точность (разумеется, в рамках разрядности компьютера). При применении этого метода нет необходимости приближенно определять момент достижения требуемой точности, пользуясь, например, условиями близости двух последовательных приближений (2.22) или (2.23) (записанными для скалярного случая). Вместо них применяется соотношение (1.6), гарантирующее выполнение (1.4).

Однако метод деления отрезка пополам довольно медленный. Вычислим число итераций N, требуемое для достижения точности ε. Для этого выясним, пользуясь (1.3), для каких kвыполнено условие (1.6), и возьмем в качестве N наименьшее из таких k. Окончательно получим

(1.7)

где Е(х) – целая часть числа х. Обычно для метода деления отрезка пополам N больше, чем для некоторых других методов, что не является препятствием к применению этого метода, если каждое вычисление значения функции F(x) несложно.

Итерационный процесс можно завершать и тогда, когда значение функции F(x) после k итерации станет меньшим по модулю ε, т.е.

(1.8)

Такое условие окончания итераций аналогично условию (2.24). Действительно, для уравнения (1.1) величина F(ck)есть невязка(см. разд. 2.2.2),полученная на kйитерации.

На рис. 1.2 представлен алгоритм итерационного процесса нахождения корня уравнения (1.1) методом деления отрезка пополам. Здесь сужение отрезка осуществляется заменой границ а или bна текущее значение корня с. При этом значение F(a) вычисляют лишь один раз, поскольку нам нужен только знак функции F(x) на левой границе, а он в процессе итераций не меняется.

Рис. 1.2. Алгоритм метода деления отрезка пополам


источники:

http://planetcalc.ru/3718/

http://3ys.ru/metody-resheniya-nelinejnykh-uravnenij-i-zadach-linejnoj-algebry/metod-deleniya-otrezka-popolam-metod-bisektsii.html