Метод простых итераций решения системы уравнений паскаль

Итерационные методы решения СЛАУ. Метод простых итераций. Метод Зейделя.

Видео:Метод простых итераций - PascalСкачать

Метод простых итераций - Pascal

Введение

Методы решения систем линейных алгебраических уравнений классифицируют на прямые (точные) и итерационные. Прямые методы основаны на выполнении конечного числа арифметических операций, это, например, метод обратной матрицы, метод Гаусса, метод Гаусса-Жордана, метод прогонки для трехдиагональных матриц и т.д. Суть итерационных методов, в свою очередь, заключаются в том, чтобы за счет последовательных приближений получить решение системы, определяемое необходимой точностью. Я попытаюсь наиболее подробно рассмотреть два из них, а именно метод простых итераций и метод Зейделя. Они практически эквивалентны, поэтому ограничусь подробным анализом метода простых итераций, а в конце пару слов скажу по поводу метода Зейделя. А прежде чем приступить к рассмотрению какого-то конкретного метода, хочется немного описать итерационные методы решения СЛАУ в общем плане.

Эти методы характеризуются большими расчетными объемами, что не мешает им быть по своей структуре достаточно простыми. Всего-навсего за счет предыдущих приближений мы получаем новые приближения, и, если система удовлетворяет условию сходимости, то эти приближения все меньше и меньше отличаются от аналитического решения.

Для итерационных методов можно выделить три последовательных этапа:

  1. Приведение исходной системы вида Метод простых итераций решения системы уравнений паскальк итерационной формеМетод простых итераций решения системы уравнений паскаль.
  2. Проверка условия сходимости.
  3. Решение системы одним из методов.

Видео:Решение нелинейного уравнения методом простых итераций (программа)Скачать

Решение нелинейного уравнения методом простых итераций (программа)

Метод простых итераций

Теперь, опираясь на представленную последовательность, разберем метод простых итераций. Сразу условимся, что для общего вида систем выполняется тождество m=n, где m — количество уравнений в системе, n — количество неизвестных. Т.е. не имеет смысла решать недоопределенные (m n) системы, т.к. они могут быть сведены путем элементарных алгебраических преобразований к нормальным (m=n) системам линейных уравнений. Другими словами, если у вас имеется «ненормальная» система, то прежде, чем использовать метод простых итераций, преобразуйте ее к нормальной.

Все мы знаем, что система линейных уравнений может быть записана в матричной форме, где A – матрица коэффициентов, b – вектор свободных членов, x – вектор неизвестных. Возьмем систему:

Метод простых итераций решения системы уравнений паскаль

Ее матричная форма:

Метод простых итераций решения системы уравнений паскаль

Смотрим на первый этап итерационных методов – он предполагает преобразование исходной системы, а именно матрицы А и вектора b к итерационной форме, где С и d – итерационные формы исходных данных.

Переход к итерационному виду осуществляется по следующим формулам:

Также следует отметить, что, несмотря на эти формулы, диагональные элементы новой матрицы обнуляются, хотя должны быть равны -1.

В итоге для нашей системы должно получиться:

Метод простых итераций решения системы уравнений паскаль

Проверьте. Ошибка? Если считать по исходной системе, то да. Все дело в том, что я не сказал про одно «НО».

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

Метод простых итераций решения системы уравнений паскаль

Некоторые элементы матрицы C будут больше единицы. А глядя на условие сходимости, становится понятно, что, если хотя бы один будет больше единицы, то условие не выполнится, и решение системы путем простых итераций не будет найдено.

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

Смотрим нашу начальную систему. Видим, что третий элемент третьей строки по модулю больше других. Оставим его неизменным. Меняем местами первую и вторую строки. Теперь умножаем строку, ставшую первой, на -1 и складываем с новой второй. В итоге получаем:

Метод простых итераций решения системы уравнений паскаль

Теперь при подстановке в формулы мы получим итерационную форму верно. К сожалению, это преобразование начальной системы к «благоприятному» виду — чистая аналитика, поэтому записать его в программный код очень сложно, а если даже и попытаться, то в некоторых случаях вероятно возникновение ошибок.

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

В конечном счете, мы получили систему линейных алгебраических уравнений в итерационной форме:

Метод простых итераций решения системы уравнений паскаль

где x1, x2, x3 – приближения, получаемые на текущей итерации за счет приближений полученных на предыдущей итерации — x 0 1, x 0 2, x 0 3.

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

Я думаю, что теории достаточно, осталось лишь обратить внимание на программную реализацию метода.

Далее представлен код, написанный в среде PascalABC.Net. Эта система была выбрана мной благодаря возможности работать с динамическими массивами (в Turbo Pascal предусмотрены только статические). Поэтому программа может решать любую нормальную систему линейных уравнений, которая проходит проверку условия сходимости. Главное, чтобы вид этой системы соответствовал вышеописанным критериям.

Применимо к нашей СЛАУ программа выдаст ответ: x1=1.0000002, x2=2.000000009, x3=-1.0000002. Такой вектор приближений соответствует точности 10 -6 , прописанной в коде.

Видео:Метод простых итераций пример решения нелинейных уравненийСкачать

Метод простых итераций пример решения нелинейных уравнений

Метод Зейделя

Как я уже говорил, метод простых итераций и метод Зейделя почти идентичны. Разница лишь в том, что в методе Зейделя расчет вектора приближений на текущей итерации происходит с использованием данных, полученных ни только на предыдущей, но и на нынешней итерации. То есть элемент x1 вычисляется на основе x2 и x3, значения которых, расчитаны на предыдущей итерации, а следующий элемент x2 уже вычисляется за счет x1, полученного именно на текущей итерации, и x3 на предыдущей. Другими словами данные в методе Зейделя для расчета вектора X поступают в процесс по мере их вычисления. А в методе простых итераций используются данные, строго полученные на предыдущей итерации.

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

И на последок покажем это различие в практической реализации. Чтобы метод простых итераций «превратился» в метод Зейделя нужно поменять процедуру ProstIterMetode, например, на следующую:

Видео:Алгоритмы С#. Метод простых итерацийСкачать

Алгоритмы С#. Метод простых итераций

Программа решения системы линейных уравнений методом итераций. Разработка Pascal-программы. Блок-схема алгоритма и его описание

Страницы работы

Метод простых итераций решения системы уравнений паскаль

Метод простых итераций решения системы уравнений паскаль

Метод простых итераций решения системы уравнений паскаль

Метод простых итераций решения системы уравнений паскаль

Метод простых итераций решения системы уравнений паскаль

Фрагмент текста работы

Иногда используются и многошаговые итерационные методы, в которых x ( k +1) определяется через значения x на двух и более предыдущих итерациях.

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

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

Канонической формой одношагового итерационного метода решения СЛАУ называется его запись в виде

Метод простых итераций решения системы уравнений паскаль

где Bk+1 — матрица, задающая тот или иной итерационный метод, tk+1 — итерационный параметр. Предполагается, что существуют обратные матрицы [Bk+1] -1 . Итерационный метод называют явным, если стационарным, ес Bk+1 — единичная матрица. Неявные итерационные методы имеет смысл применять лишь в том случае, когда каждую матрицу Bk обратить легче, чем исходную матрицу A (т. е. когда решение системы уравнений с матрицей Bk требует меньше машинной памяти или времени или алгоритмически проще, чем решение исходной системы).

Итерационный метод называется ecли Bk+1=B и tk+1=t, (т.е. не зависят от номера итерации), и нестационарным — в противоположном случае. Согласно этой классификации метод простой итерации является одношаговым явным стационарным методом с диагональной матрицей B (bii.= aii) и может быть записан в виде Метод простых итераций решения системы уравнений паскаль, где r ( k ) — вектор невязки.

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

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

При третьем способе предварительно оценивается число итераций, необходимое для получения заданной точностиe. Если для погрешности

итерационного метода выполняются оценки

Метод простых итераций решения системы уравнений паскаль, где qÎ (0,1), то говорят, что метод сходится со скоростью геометрической прогрессии со знаменателем q. Можно определить число итераций, достаточное для того, чтобы начальная погрешность уменьшилась в заданное число раз, потребовав, чтобы q n i then s:=s-an[i,j]*x0[j];

Видео:2.2 Итерационные методы решения СЛАУ (Якоби, Зейделя, релаксации)Скачать

2.2 Итерационные методы решения СЛАУ (Якоби, Зейделя, релаксации)

Лабораторная работа: Итерационные методы решения нелинейных уравнений

Видео:Метод итерацийСкачать

Метод итераций

ЛАБОРАТОРНАЯ РАБОТА №1-2.

Видео:Метод простой итерации Пример РешенияСкачать

Метод простой итерации Пример Решения

ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ.

Цель работы: научиться решать нелинейные уравнения методом простых итераций, методом Ньютона и модифицированным методом Ньютона с помощью ЭВМ.

1. Изучить метод простых итераций, метод Ньютона и модифицированный метод Ньютона для решения нелинейных уравнений.

2. На конкретном примере усвоить порядок решения нелинейных уравнений с помощью ЭВМ указанными методами.

3. Составить программу (программы) на любом языке программирования и с ее помощью решить уравнение с точностью Метод простых итераций решения системы уравнений паскальи Метод простых итераций решения системы уравнений паскаль. Сделать вывод о скорости сходимости всех трех методов.

4. Изменить Метод простых итераций решения системы уравнений паскальи снова решить задачу. Сделать вывод о точности полученных результатов.

5. Составить отчет о проделанной работе.

ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ

1. Доказать графическим и аналитическим методами существование единственного корня нелинейного уравнения

Метод простых итераций решения системы уравнений паскаль(1)

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

2. Построить рабочие формулы метода простых итераций, метода Ньютона и модифицированного метода Ньютона, реализующие процесс поиска корня нелинейного уравнения (1) на указанном отрезке.

3. Составить программу (программы) на любом языке программирования, реализующие построенные итерационные процессы.

1. Докажем графическим методом единственность корня нелинейного уравнения (1). Из графика функции Метод простых итераций решения системы уравнений паскальна Рис.1 видно, что функция Метод простых итераций решения системы уравнений паскальпересекает ось Метод простых итераций решения системы уравнений паскальв одной точке, являющейся приближенным значением корня нелинейного уравнения (1). Но так как данная функция имеет сложный аналитический вид, то преобразуем уравнение (1) к виду Метод простых итераций решения системы уравнений паскальи построим два графика Метод простых итераций решения системы уравнений паскальи Метод простых итераций решения системы уравнений паскаль, имеющих более простой аналитический вид (Рис.2). Абсцисса точки пересечения графиков является приближенным значением корня. Заметим, что графический метод показывает количество корней исходного уравнения, но не доказывает единственность корня на отрезке.

Название: Итерационные методы решения нелинейных уравнений
Раздел: Рефераты по информатике, программированию
Тип: лабораторная работа Добавлен 09:43:21 25 июня 2008 Похожие работы
Просмотров: 2747 Комментариев: 21 Оценило: 3 человек Средний балл: 5 Оценка: неизвестно Скачать
Метод простых итераций решения системы уравнений паскаль

Рис.1

Аналитический метод. Функция Метод простых итераций решения системы уравнений паскальнепрерывна на отрезке Метод простых итераций решения системы уравнений паскаль, имеет на концах отрезка разные знаки (Метод простых итераций решения системы уравнений паскаль), а производная функции Метод простых итераций решения системы уравнений паскальне меняет знак на отрезке (Метод простых итераций решения системы уравнений паскаль). Следовательно, нелинейное уравнение (1) имеет на указанном отрезке единственный корень.

2. Метод простых итераций. Для построения рабочей формулы перепишем уравнение (1) в виде: Метод простых итераций решения системы уравнений паскаль. Проверим, выполняется ли достаточное условие сходимости на отрезке:

Метод простых итераций решения системы уравнений паскаль(2)

Если условие выполняется, то итерационный процесс строится по формуле

Метод простых итераций решения системы уравнений паскаль

Заметим, что в точке Метод простых итераций решения системы уравнений паскальиз отрезка Метод простых итераций решения системы уравнений паскаль, значение Метод простых итераций решения системы уравнений паскаль.

Построим функцию Метод простых итераций решения системы уравнений паскаль. Константа Метод простых итераций решения системы уравнений паскальвыбирается из условия (2). Если производная Метод простых итераций решения системы уравнений паскаль, то значение Метод простых итераций решения системы уравнений паскальвыбирается из интервала Метод простых итераций решения системы уравнений паскаль, если производная Метод простых итераций решения системы уравнений паскаль, то – из интервала Метод простых итераций решения системы уравнений паскаль. Так как Метод простых итераций решения системы уравнений паскальвсюду положительна на отрезке, то, конкретизируя значение производной в любой точке отрезка (например Метод простых итераций решения системы уравнений паскаль), значение Метод простых итераций решения системы уравнений паскальопределяется из интервала Метод простых итераций решения системы уравнений паскаль. Выбрав значение Метод простых итераций решения системы уравнений паскаль, запишем рабочую формулу метода простых итераций:

Метод простых итераций решения системы уравнений паскаль(3)

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

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

Метод простых итераций решения системы уравнений паскаль(4)

Заметим, что в точке Метод простых итераций решения системы уравнений паскальусловие (4) не выполняется, а в точке Метод простых итераций решения системы уравнений паскаль— выполняется. Следовательно в качестве начального приближения выбирается точка Метод простых итераций решения системы уравнений паскаль. Рабочая формула метода Ньютона Метод простых итераций решения системы уравнений паскальдля данной задачи запишется так:

Метод простых итераций решения системы уравнений паскаль(5)

Условия выхода итерационного процесса (5) аналогичны условиям метода простых итераций.

Модифицированный метод Ньютона. Начальное приближение Метод простых итераций решения системы уравнений паскальвыбирается аналогично методу Ньютона, т.е. Метод простых итераций решения системы уравнений паскаль. Рабочая формула модифицированного метода Ньютона Метод простых итераций решения системы уравнений паскальдля данной задачи запишется так:

Метод простых итераций решения системы уравнений паскаль(6)

Условия выхода итерационного процесса (6) аналогичны условиям метода простых итераций.

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

3. Блок-схема метода простых итераций, метода Ньютона и модифицированного метода Ньютона приведена на рисунке 3.

Метод простых итераций решения системы уравнений паскаль

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

ПРИМЕР ПРОГРАММЫ НА ЯЗЫКЕ ПАСКАЛЬ

printf(“%d %.4f %.4f %.4f %.4fn”,n++,x,y,fabs(y-x),

Решение: в результате решения нелинейного уравнения (1) на указанном отрезке тремя методами при начальном приближении Метод простых итераций решения системы уравнений паскальс точностью Метод простых итераций решения системы уравнений паскальи Метод простых итераций решения системы уравнений паскальполучены следующие результаты: методом простых итераций Метод простых итераций решения системы уравнений паскаль; методом Ньютона Метод простых итераций решения системы уравнений паскаль; модифицированным методом Ньютона Метод простых итераций решения системы уравнений паскаль.

4. Содержание отчета.

Отчет о проделанной работе должен содержать: номер и название лабораторной работы; цель работы; содержание работы; задание на работу; теоретическую часть работы (вывод итерационных формул); листинг(и) программ(ы); таблицы результатов (в случае, если число итераций в таблице достаточно большое, в отчет занести две первых и две последних итерации); выводы о проделанной работе.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Определить количество корней исходного нелинейного уравнения графическим методом и построить график (пример приведен на рисунке 2).

2. Доказать аналитическим методом единственность корня исходного нелинейного уравнения на указанном отрезке.

3. Построить итерационные формулы, реализующие процесс поиска корня на отрезке методом простых итераций, методом Ньютона и модифицированным методом Ньютона.

4. Составить программу(ы) на любом языке программирования, реализующую(ие) построенные итерационные процессы, используя алгоритм методов, приведенный на рисунке. Печать результатов должен осуществляться на каждом шаге итераций в виде следующей таблицы:

💡 Видео

1 3 Решение нелинейных уравнений методом простых итерацийСкачать

1 3 Решение нелинейных уравнений методом простых итераций

Метод Зейделя Пример РешенияСкачать

Метод Зейделя Пример Решения

Метод Ньютона (метод касательных) Пример РешенияСкачать

Метод Ньютона (метод касательных) Пример Решения

Решение системы линейных уравнений методом итерацийСкачать

Решение системы линейных уравнений методом итераций

Решение системы линейных уравнений методом простых итераций в MS ExcelСкачать

Решение системы линейных уравнений методом простых итераций в MS Excel

8 Метод простой итерации Ручной счет Решение системы линейных уравнений СЛАУСкачать

8 Метод простой итерации Ручной счет Решение системы линейных уравнений СЛАУ

Лекция №2.3 Метод простых итерацийСкачать

Лекция №2.3 Метод простых итераций

Cистемы уравнений. Разбор задания 6 и 21 из ОГЭ. | МатематикаСкачать

Cистемы уравнений. Разбор задания 6 и 21 из ОГЭ.  | Математика

Решение систем линейных уравнений, урок 5/5. Итерационные методыСкачать

Решение систем линейных уравнений, урок 5/5. Итерационные методы

Решение систем линейных уравнений методом простой итерации в ExcelСкачать

Решение систем линейных уравнений методом простой итерации в Excel

Решение слау методом итераций. Метод простых итераций c++.Скачать

Решение слау методом итераций. Метод простых итераций c++.

4.2 Решение систем нелинейных уравнений. МетодыСкачать

4.2 Решение систем нелинейных уравнений. Методы

Язык Turbo Pascal и математика. Решение системы m линейных уравнений с n неизвестными методом ГауссаСкачать

Язык Turbo Pascal и математика. Решение системы m линейных уравнений с n неизвестными методом Гаусса
Поделиться или сохранить к себе: