Метод итераций
Изучение способов решения алгебраических и трансцендентных уравнений. Описание назначения, расчет алгоритма, построение блок-схемы метода решения алгебраических уравнений методом итераций. Разработка программы для определения интервалов уравнений функции.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 04.12.2013 |
Размер файла | 203,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
14
2
Размещено на http://www.allbest.ru/
1
Контрольная работа
на тему:
«Метод итераций»
алгоритм итерация интервал алгебраическое уравнение
Содержание
Введение
Решение алгебраических и трансцендентных уравнений
Метод итераций
Алгоритм метода итераций
Блок-схема метода итераций
Пример
Выполнение задания
Листинг программы
Использованная литература
Введение
Идеи и достижения математики используются в практической деятельности человека. До недавнего времени главные усилия математиков были направлены на разработку теорий. Строгое математическое обновление ранее выработанных методов - расширение объектов, к которым эти методы можно применить.
В практической же деятельности важно довести расчеты до числа. Но часто приходится иметь дело с такими задачами, в которых или очень велик объем вычислений (решение систем с большим числом неизвестных), или традиционными методами задачи вообще не решаются (например, первообразную вообще не имеет). Не все дифференциальные уравнения решаются в квадратурах. Особенно много таких задач появилось в последнее время. Необходимость их решения и появление мощных вычислительных систем привело к бурному развитию методов, позволяющих решать эти задачи численно. Вычислительная математика занимается разработкой методов доведения до численных результатов основных задач математики и способов использования в этих целях ЭВМ. Как правило, результаты вычислений не всегда бывают точными. Источниками ошибок могут быть следующие факторы:
неполное соответствие математической модели реальному физическому процессу;
погрешность исходных данных;
погрешность округления;
погрешность метода.
Методы, используемые в высшей математике, бывают точными (например, метод Гаусса) и приближенными (например, итерационные методы, вычисления функций через ряды и т. д.). Но любой метод должен иметь возможность вычисления с наперед заданной точностью.
Решение алгебраических и трансцендентных уравнений
Часто возникает необходимость решить уравнение вида (1), но при этом нет возможности определить точное решение, то прибегают к численным методам решения данного уравнения.
Если в левой части уравнения стоит функция вида: , то уравнение (1) называется алгебраическим уравнением n - ной степени, и оно имеет n корней. Коэффициенты ак (к = 0, 1, 2, …, n) могут быть любыми числами.
Если левая часть уравнения включает степенные алгебраические, тригонометрические и другие функции от аргумента х, то уравнение (1), называется трансцендентным. Такие уравнения нередко имеют бесконечное число корней.
Рассмотрим метода итераций решения уравнения (1), который определяет решение с заданной точностью е. В методе предполагается, что на заданном интервале существует только один корень. Если на некотором интервале корней несколько, то необходимо разбить интервал так, чтобы на каждом вновь полученном интервале был только один корень.
Метод итераций
(метод последовательных приближений)
Рассмотрим уравнение (1), где функция непрерывна и дифференцируема на некотором отрезке [а, в]. Перепишем уравнение в виде (2) , т.е. . Пусть каким-либо образом найдено грубое значение корня х0. Подставив его в правую часть уравнения (2) получим число , подставив х1 в (2) найдем и т.д. (3). Допустим, что получившаяся числовая последовательность имеет предел, т.е. . Переходя к пределу выражения (3) . Получаем , т.е. с - корень уравнения (2).
Вопрос о сходимости последовательности решает теорема.
Пусть функция непрерывна и дифференцируема на некотором отрезке [а, в] и пусть:
все ее значения тоже € [а, в], € [а, в];
на [а, в], q - некоторое число.
Тогда последовательность, задаваемая соотношением (3) сходится при любых х0 € [а, в].
Доказательство:
Рассмотрим два последовательных приближения и , тогда по теореме Лагранжа, которая звучит: , где с € (хп, хп-1).
Допустим, , т.е. . Подставляя вместо п последовательно значения п = 1, 2, 3, …, п получим:
………………….
перемножая неравенства получим (4).
Рассмотрим два ряда:
(5) (6)
Ряд В сходится как геометрическая прогрессия, если 0 < q < 1, тогда и ряд А сходится, причем абсолютно исходя из условия (4) и признака сравнения сходимости рядов.
Рассмотрим частичную сумму ряда А: Sn = Хп. Из сходимости ряда А следует что . Теорема доказана.
Докажем, что решение уравнения (2) найденное методом итераций единственно. Допустим, что существует два корня с и с и возьмем их разность:
с - с = ц(с) - ц(с) = ц!(е)(с - с)
где е € (хп, хп-1) (по теореме Лагранжа). (с - с)! (1 - ц!(е)) =0.
Так как 1 - ц!(е)?0 (ц!(е)<1), тогда с = с.
Если удовлетворить условия (1) и (2) теоремы не удается, то можно провести следующие преобразования: умножим обе части (1) на некоторое действительное число б и прибавим по х. Запишем (1) в виде: (т.е. ).
Для удовлетворения требования (2) теоремы, т.е. подбираем б. Для получения приближенного корня с заданной точностью е необходимо соблюсти условия, чтобы .
Алгоритм метода итераций
Шаг 1. Задаются концы отрезка а и b , точность метода е.
Шаг 2. Выбирается начальное приближение из условия . Если условие верно, то начальной точкой выбирают точку а, в противном случае - точку b.
Шаг 3. Вычисляется новое приближение по формуле .
Шаг 4. Проверяется условие . Если условие верно, то управление передается шагу 5, в противном случае управление передается шагу 3, используя только что полученное приближение.
Шаг 5. Вывод хп и .
Шаг 6. Конец.
Блок - схема метода итераций
Пример:
Решить уравнение с точностью е = 0,01, уточняя корень методом итераций.
Решение:
отделение корня. Перепишем уравнение в виде или и . Построив графики, увидим, что х1 € [-1, 0], х2 € [0, 1].
Кроме того, ц(0) = -1 <0; ц(1) >0, т.е. за отрезок отделения берем [0, 1].
уточним корень. Запишем уравнение в виде (*).
Проверим условие теоремы: 1) все значения € [0, 1]: , условие выполняется. 2).
, отсюда получим , т.е. , поэтому за начальную точку берем х0 = 0, подставим это значение в (*) и найдем , и т.д. Заполним в виде таблицы:
х0 |
х1 |
х2 |
х3 |
х4 |
х5 |
х6 |
х7 |
|
0 |
1 |
0,735 |
0,861 |
0,807 |
0,8232 |
0,820 |
0,826 |
, т.е. за корень х можно взять 0,82.
Проверка: подставим в уравнение х, получим: 0,822 - cos 0,82 ? -0,0098.
Задание:
Решить уравнение методом итераций с точностью е = 0,0001. Решение:
Преобразуем уравнение к равносильному уравнению , т.е. .
т.е.
Найдем производную от функции .
Определим интервал, где существует один корень. Для этого построим графики функций и
Заполним в виде таблицы значения х и у отдельно для каждого уравнения.
х |
0 |
1 |
-1 |
2 |
-2 |
3 |
-3 |
|
у |
0 |
1 |
-1 |
2 |
-2 |
3 |
-3 |
х |
0 |
1 |
-1 |
2 |
-2 |
3 |
-3 |
|
у |
2,6458 |
2,4824 |
2,7979 |
2,3058 |
2,9404 |
2,1128 |
3,0740 |
Итак, корень существует в интервале (2, 3).
Для того, что метод сходился, необходимо выполнение для любых х из интервала (2, 3) условия . Проверим это.
, следовательно за начальную точку берем х0 = 2. Подставим это значение в уравнение и найдем х1.
Ответ:
За корень возьмем х = 2,257757.
До того, как написать программу, составим блок - схему.
Листинг программы
program met_iterasii;
label 1;
var a, b, s, x, y, e: real;
function f(x:real): real;
begin
f := x - sqrt(9 + x) + sqr(x) - 4;
end;
function g(x:real):real;
begin
g := sqrt(sqrt(9 + x) - x + 4);
end;
function g1(x:real):real;
begin
g1:= (1 - 2 * sqrt(9 + x)) / 4 * sqrt(9 + x) * (sqrt(9 + x) - x + 4);
end;
begin
read (a, b, E);
if abs(g1(a)) < abs(g1(b)) then x := a else x := b;
1: y := g(x);
if abs(y - x) <= E then
begin
writeln ('y=', y:8:5);
writeln ('f(y)=', f(y):12:9);
end
else begin
x := y;
goto 1;
end; end.
Использованная литература
1.Боглаев Ю. П. Вычислительная математика и программирование. Издательство «Высшая школа» Москва. 1990.
2.Иванов А. Ф. Информатика. Раздел: Численные методы. Типография Альметьевского нефтяного института, 2002.
3.Иванов А. Ф., Садриева Л. М. Алгоритмический язык PASCAL. Отдел оперативной полиграфии управления «ТатАСУнефть» АО «Татнефть». 1998.
4. Марченко А. И., Марченко Л. А. Программирование в среде Турбо Паскаль 7.0. Киев. «Век +». 1999.
Размещено на Allbest.ru
...Подобные документы
Использование метода Зейделя для нахождения корней системы линейных алгебраических уравнений. Суть метода простых итераций. Оценка погрешности нормальной системы. Составление алгоритма, блок-схемы и кода программы. Тестовый пример и проверка в MathCad.
лабораторная работа [174,8 K], добавлен 02.10.2013Методы решения систем линейных алгебраических уравнений. Метод простых итераций и метод Зейделя. разработка программы для решения СЛАУ с произвольным количеством уравнений. Реализация методов Зейделя и простых итераций для получения вектора решений СЛАУ.
курсовая работа [25,0 K], добавлен 20.11.2008Численные методы решения задач. Решение алгебраических и трансцендентных уравнений. Уточнение корня по методу половинного деления. Решение систем линейных уравнений методом итераций. Методы решения дифференциальных уравнений. Решение транспортной задачи.
курсовая работа [149,7 K], добавлен 16.11.2008Разработка проекта по вычислению корней нелинейных уравнений методом итераций, в среде программирования Delphi. Интерфейс программы и ее программный код, визуализация метода. Сравнение результатов решения, полученных в Mathcad 14 и методом итераций.
контрольная работа [1,9 M], добавлен 10.12.2010Сущность матричного метода. Разработка программы решения системы уравнений линейных алгебраических уравнений методом решения через обратную матрицу на языке программирования Delphi. Представление блок-схемы и графического интерфейса программного продукта.
курсовая работа [1,0 M], добавлен 27.09.2014Системы линейных алгебраических уравнений. Код программы для решения систем линейных алгебраических уравнений. Математические и алгоритмические основы решения задачи методом Гаусса. Программная реализация решения. Алгоритмы запоминания коэффициентов.
лабораторная работа [23,5 K], добавлен 23.09.2014Системы линейных алгебраических уравнений. Матричный метод решения систем линейных уравнений. Решение задачи математическим методом. Блок-схема алгоритма и листинг программы. Расчет трудоемкости разработки программы. Расчет себестоимости и цены программы.
дипломная работа [144,8 K], добавлен 25.04.2012Приведение системы линейных алгебраических уравнений к треугольному виду прямым ходом метода Гаусса. Применение обратного хода метода вращений. Создание алгоритма, блок-схемы и кода программы. Тестовый пример решения уравнения и его проверка в MathCad.
лабораторная работа [164,3 K], добавлен 02.10.2013Нахождение с заданной погрешностью корней уравнения. Оценка скорости сходимости. Нахождение промежутка, в котором содержится какой-либо корень уравнения для методов итераций и Ньютона. Разработка текста компьютерных программ для решения данных уравнений.
лабораторная работа [253,9 K], добавлен 19.12.2012Метод Гаусса-Зейделя как модификация метода Якоби, его сущность и применение. Разработка программы решения системы линейных алгебраических уравнений на языке VB, проверка правильности работы программы в MS Excel и математических пакетах MathCad и MatLab.
курсовая работа [325,5 K], добавлен 27.10.2013Применение итерационных методов численного решения системы линейных алгебраических уравнений при вычислении на ЭВМ. Математические и алгоритмические основы решения задачи, метод Гаусса. Функциональные модели и блок-схемы, программная реализация решения.
курсовая работа [527,5 K], добавлен 25.01.2010Описание математической модели определения тока в электрической цепи с помощью решения системы алгебраических уравнений методом Гаусса. Описание и разработка блок-схемы программы. Ввод данных задачи, составление программы и анализ результатов решения.
контрольная работа [231,8 K], добавлен 15.08.2012Решение систем алгебраических линейных уравнений методом Крамера. Сущность метода прогонки. Программная реализация метода: блок-схема алгоритма, листинг программы. Проверка применимости данного способа решения для конкретной системы линейных уравнений.
курсовая работа [581,0 K], добавлен 15.06.2013Преобразование матрицы системы линейных алгебраических уравнений (СЛАУ) с помощью алгоритма Гаусса. Решение задачи методом простой итерации. Создание блок-схемы и текста программы для решения СЛАУ, реализованной на языке программирования Turbo Pascal.
курсовая работа [1,2 M], добавлен 15.06.2013Сравнительный анализ итерационных методов решения нелинейных алгебраических и трансцендентных уравнений. Простейший алгоритм отделения корней нелинейных уравнений. Метод половинного деления. Геометрический смысл метода Ньютона. Метод простой итерации.
реферат [95,0 K], добавлен 06.03.2011Алгоритм решения систем линейных уравнений методом Гаусса, его этапы. Система уравнений для определения коэффициентов сплайна, представляющая собой частный случай систем линейных алгебраических уравнений. Программная реализация, тестовый пример.
курсовая работа [431,8 K], добавлен 15.06.2013Проектирование приложения, позволяющего находить решение системы алгебраических линейных уравнений матричным методом. Выбор количества уравнений, заполнение значений коэффициентов системы уравнений и свободных членов, алгоритм решения линейных уравнений.
курсовая работа [939,4 K], добавлен 16.01.2014Обзор существующих методов по решению нелинейных уравнений. Решение нелинейных уравнений комбинированным методом и методом хорд на конкретных примерах. Разработка программы для решения нелинейных уравнений, блок-схемы алгоритма и листинг программы.
курсовая работа [435,8 K], добавлен 15.06.2013Рассмотрение двух способов решения систем линейных алгебраических уравнений: точечные и приближенные. Использование при программировании метода Гаусса с выбором главного элемента в матрице и принципа Зейделя. Применение простой итерации решения уравнения.
курсовая работа [879,8 K], добавлен 05.06.2012Описание алгоритма создания программы для решения алгебраических или трансцендентных уравнений с помощью численного метода Бернулли. Нахождение значений корней алгебраического уравнения с заданными параметрами точности. Листинг программы на языке java.
контрольная работа [206,0 K], добавлен 19.06.2015