Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ИТЕРАЦИОННЫЕ ЦИКЛЫ. УТОЧНЕНИЕ КОРНЕЙ УРАВНЕНИЙ МЕТОДОМ ПОЛОВИННОГО ДЕЛЕНИЯ




Пример составления програмы

Пусть необходимо найти корень уравнения

на интервале [0; 1] с погрешностью  методом половинного деления.

Схема алгоритма, реализующего данный метод, представлена на рисунке, где

.

Как показано на схеме, в начале алгоритма обеспечивается ввод начальных границ интервала и заданной погрешности вычислений (блок 1). Затем перед входом в цикл (блок 2) вычисляется значение функции в точке a. В начале цикла (блок 3) вычисляется координата середины отрезка и значение функции в точке x (блок 4). В логическом блоке 5 определяется половина интервала, содержащая корень. Затем (блоки 6, 7) задается новая граница интервала. Когда в точку x сдвигается левая граница a интервала [a, b], то значение функции  можно не вычислять, а принять его равным ранее вычисленному . Если величина полученного интервала превышает заданную погрешность, то обеспечивается повторение цикла (блок 8). В качестве результата выводится (блок 9) найденное значение корня x и контрольное значение функции в данной точке z, которое по определению должно быть близко к нулю.

Текст программы для решения уравнения

методом половинного деления будет иметь следующий вид:

{Цель - уточнение корня }

{Переменные:             }

{ eps – допустимая      }

{ погрешность;       }

{ x – приближение корня; }

{ a, b – границы интервала; }

{ y – значение функции на }

{ левой границе; }

{ z - значение функции в }

{ середине отрезка. }

{Метод – половинного деления }

{Подпрограммы:           }

{ F – исследуемая функция }

{Программист:            }

{ ст. гр. 571  Петров П.П. }

{Проверил: доцент Парфилова Н.И.}

{Дата - 10.01.06 г. }

Program Halving;

Var

a, b, eps, x, y, z :real;

{Описание исследуемой функции}

{ F – имя функции    }

{ x – аргумент функции }

FunctionF(x :real) :real;

Begin{F}

   F := 5*x*x*x + 10*x*x + 5*x – 1

End; {F}

Begin{Halving}

{Ввод и эхо-печать исходных данных }

    WriteLn(‘Введите границы интервала и погрешность’);

Read(a, b, eps);

WriteLn(‘В интервале:’; a:6:2, ‘,’, b:6:2);

WriteLn(‘с погрешностью:’, eps:9:6);

{Реализация метода половинного деления}

y := F(a);

repeat            {Начало цикла}

   x := (a+b)/2;

   z := F(x)

if y*z < 0

   then

      b := x

   else

      begin

         a := x;

         y := z

      end;

until b –a <= eps; {Конец цикла}

WriteLn(‘корень:’,x:10:6, ‘ f(x)=’, z)

End. {Halving}

Задания

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

На экран дисплея вывести границы интервала, получаемые при его делении пополам (для всех вариантов число таких интервалов не превышает 18).

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

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

Вариант Уравнение Область, содержащая корень
1 [2; 3]
2 [0; 2]
3 [0,4; 1]
4 [0; 0,85]
5 [1;2]
6 [0; 0,8]
7 [1,2; 2]
8 [3; 4]
9 [1; 2]
10 [0; 1,5]
11 [1; 3]
12 [0; 1]
13 [0,5; 1]
14 [1; 3]
15 [0; 1]
16 [2; 3]
17 [0,2; 1]
18 [1; 2]
19 [1; 2]
20 [0; 1]
21 [2; 3]
22 [0; 1}
23 [0; 1,5]
24 [0; 2]
25 [1; 3]

Тема 13

ИТЕРАЦИОННЫЕ ЦИКЛЫ. УТОЧНЕНИЕ КОРНЕЙ УРАВНЕНИЙ МЕТОДОМ ИТЕРАЦИЙ










Последнее изменение этой страницы: 2018-05-10; просмотров: 264.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...