![]() Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ИТЕРАЦИОННЫЕ ЦИКЛЫ. УТОЧНЕНИЕ КОРНЕЙ УРАВНЕНИЙ МЕТОДОМ ПОЛОВИННОГО ДЕЛЕНИЯ
Пример составления програмы Пусть необходимо найти корень уравнения на интервале [0; 1] с погрешностью Схема алгоритма, реализующего данный метод, представлена на рисунке, где
Как показано на схеме, в начале алгоритма обеспечивается ввод начальных границ интервала и заданной погрешности вычислений (блок 1). Затем перед входом в цикл (блок 2) вычисляется значение функции в точке a. В начале цикла (блок 3) вычисляется координата середины отрезка и значение функции в точке x (блок 4). В логическом блоке 5 определяется половина интервала, содержащая корень. Затем (блоки 6, 7) задается новая граница интервала. Когда в точку x сдвигается левая граница a интервала [a, b], то значение функции
методом половинного деления будет иметь следующий вид: {Цель - уточнение корня } {Переменные: } { 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). После выхода из итерационного цикла корень считать равным середине интервала и провести проверку путем подстановки в исходное уравнение, чтобы убедиться в правильности нахождения корня. В исходном уравнении
Тема 13 ИТЕРАЦИОННЫЕ ЦИКЛЫ. УТОЧНЕНИЕ КОРНЕЙ УРАВНЕНИЙ МЕТОДОМ ИТЕРАЦИЙ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 337. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |