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

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

Дата добавления: 2015-07-23 ; просмотров: 7353 ; Нарушение авторских прав

Лабораторная работа №5

Тема: Решение СЛАУ итерационным методом в MathCAD.

Цель: изучение приемов численного решения систем линейных уравнений с помощью функций MathCAD.

Порядок выполнения работы

1. Ознакомиться с теоретическими положениями.

2. Рассмотреть пример решения СЛАУ итерационным методом в MathCAD.

3. Выполнить практическое задание.

4. Ответить на контрольные вопросы.

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

1. Тема, цель работы.

2. Практическое задание:

2.1. Постановка задачи.

2.2. Результаты выполнения.

3. Ответы на контрольные вопросы.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Итерационные методы – это методы, позволяющие получить решение системы с заданной точностью путем сходящихся итерационных процессов (метод итерации, метод Зейделя и др.).

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

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

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

Пусть дана линейная система (1).

(1)

Систему (1) коротко можно записать в виде матричного уравнения:

Ах = b,(2)

Предполагая, что диагональные коэффициенты

разрешим первое уравнение системы (1) относительно х1, второе – относительно х2 и т. д. Тогда получим эквивалентную систему

(3)

при i ¹ j

Систему (3) можно записать в матричной форме

x = b + ax,

а любое (k + 1) приближение вычисляется по формуле

x (k+1) = b + ax (k) .(4)

Напишем формулы приближений в развернутом виде:

(4¢)

Приведем достаточное условие сходимости метода итераций.

Теорема:Процесс итерации для приведенной линейной системы (18) сходится к единственному ее решению, если какая-нибудь каноническая норма матрицы a меньше единицы, т.е. для итерационного процесса (19) достаточное условие есть

(5)

Следствие 1. Процесс итерации для системы (3) сходится, если:

1) (k +1) .

Пример решения СЛАУ итерационным методом в MathCAD.

Решить систему методом простых итераций:

Результат на экране:

|следующая лекция ==>
Контрольные задания|

Не нашли то, что искали? Google вам в помощь!

Решение системы линейных алгебраических уравнений

Главная > Решение

Информация о документе
Дата добавления:
Размер:
Доступные форматы для скачивания:

Лабораторная работа 3. Решение системы линейных алгебраических уравнений

Цель: Освоить технологию решения систем линейных алгебраических уравнений в интегрированной среде MathCad.

Задание: Решить систему линейных алгебраических уравнений

используя функцию lsolve;

методом простой итерации;

Методика выполнения задания:

Чтобы решить систему линейных алгебраических уравнений можно использовать несколько способов, причем технология нахождения параметров заданной системы линейных алгебраических уравнений на первых этапах аналогична, а именно, пусть задана система трех линейных алгебраических уравнений с тремя неизвестными, найдем ее решение. Для этого присвоим некоторой переменной М матрицу значений коэффициентов при неизвестных, воспользуемся динамической кнопкой , расположенной на панели инструментов Матрица, входящей в Математическую палитру интегрированной среды MathCad. Некоторой переменной V присвоим матрицу – столбец значений, расположенных в правой части системы алгебраических уравнений (то есть после знака =).

Определение решения системы матричным методом .

Используем представление системы линейных алгебраических уравнений в векторной форме, то есть A*X=B, где A – матрица значений при неизвестных, B – вектор свободных членов, а Х – вектор неизвестных, тогда исходя из этого уравнения Х=A -1 *B, задав последнюю формулу получим решение системы линейных алгебраических уравнений.

Определение решения методом Гаусса.

Сформируем расширенную матрицу системы Mr добавлением к матрице М справа матрицу V, используя встроенную функцию augment . Приведем расширенную матрицу к ступенчатому виду Mg, с помощью функции rref и выделим из нее блок матрицы – ее последний столбец, содержащий решение системы, с помощью функции submatrix .

Определение решения системы с помощью встроенной функции lsolve .

Активизируем кнопку Мастер функций на панели инструментов Стандартная и в категории Solving выберем встроенную функцию lsolve (M, V);

Результаты решения заданной системы линейных алгебраических уравнений отображены на рис. ().

l

Рис. Пример решения системы линейных уравнений

4. Решение системы линейных алгебраических уравнений методом простой итераций .

Введем переменную ORIGIN = 1 для нумерации столбцов и строк матрицы с 1 (по умолчанию ORIGIN=0). Сформируем матрицы α и β эквивалентной системы х= β + αх.

Для описания i и j воспользуемся кнопкой на панели Калькулятор, для нижних индексов – кнопкой на панели Матрицы.

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

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

Вычислим 10 последовательных приближений и погрешности каждого из них.

Фрагмент рабочего документа MathCAD с соответствующими вычислениями приведен ниже на рис ().

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

5. Решение системы линейных уравнений методом Зейделя .

Сформируем матрицы α и β преобразованной системы х= β + α1х+ α2х и матрицу α= α1+ α2.

Фрагмент рабочего документа MathCAD с соответствующими вычислениями по методу Зейделя приведен ниже на рис ().

Рис. Пример решения системы линейных уравнений методом Зейделя

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

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

Для решения системы уравнений выполните следующее:

  • Задайте начальные приближения для всех неизвестных, входящих в систему уравнений. Mathcad решает уравнения при помощи итерационных методов. На основе начального приближения строится последовательность, сходящаяся к искомому решению.
  • Напечатайте ключевое слово Given. Оно указывает Mathcad, что далее следует система уравнений. При печати слова Given можно использовать любой шрифт, прописные и строчные буквы. Убедитесь, что при этом Вы не находитесь в текстовой области или параграфе.
  • Введите уравнения и неравенства в любом порядке ниже ключевого слова Given. Удостоверьтесь, что между левыми и правыми частями уравнений стоит символ =. Используйте [Ctrl]= для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов , , и .
  • Введите любое выражение, которое включает функцию Find. При печати слова Find можно использовать шрифт любого размера, произвольный стиль, прописные и строчные буквы.
Find(z1, z2, z3, . . . )Возвращает решение системы уравнений. Число аргументов должно быть равно числу неизвестных.

Функция Find возвращает найденное решение следующим образом:

  • Если функция Find имеет только один аргумент, то она возвращает решение уравнения, расположенного между ключевым словом Given и функцией Find.
  • Если функция Find имеет более одного аргумента, то она возвращает ответ в виде вектора. Например, Find(z1, z2) возвращает вектор, содержащий значения z1 и z2 , являющиеся решением системы уравнений.

Ключевое слово Given, уравнения и неравенства, которые следуют за ним, и какое-либо выражение, содержащее функцию Find, называются блоком решения уравнений.

На Рисунке 5 показан рабочий документ, который использует блок решения уравнений для решения одного уравнения с одним неизвестным. Так как имеется только одно уравнение, то только одно уравнение появляется между ключевым словом Given и формулой, включающей функцию Find. Так как уравнение имеет одно неизвестное, то функция Find имеет только один аргумент. Для решения одного уравнения с одним неизвестным можно также использовать функцию root, как показано ниже:

Рисунок 5: Блок решения уравнений для одного уравнения с одним неизвестным.

Между ключевым словом Given и функцией Find в блоке решения уравнений могут появляться выражения строго определенного типа. Ниже приведен список всех выражений, которые могут быть использованы в блоке решения уравнений. Использование других выражений не допускается. Эти выражения часто называются ограничениями. В таблице, приведенной ниже, через x и y обозначены вещественнозначные скалярные выражения, а через z и w обозначены любые скалярные выражения.

УсловиеКак ввестиОписание
w = z[Ctrl] =Булево равенство возвращает 1, если операнды равны; иначе 0
x > y>Больше чем.
x

Следующие выражения недопустимы внутри блока решения уравнений:

  • Ограничения со знаком .
  • Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме.
  • Неравенства вида a -15 .

Причиной появления этого сообщения об ошибке может быть следующее:

  • Поставленная задача может не иметь решения.
  • Для уравнения, которое не имеет вещественных решений, в качестве начального приближения взято вещественное число. Если решение задачи комплексное, то оно не будет найдено, если только в качестве начального приближения не взято также комплексное число. На Рисунке 11 приведен соответствующий пример.
  • В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Метод поиска решения, который используется в Mathcad, не позволяет в этом случае построить следующее приближение, которое бы уменьшало невязку. Для поиска искомого решения пробуйте использовать различные начальные приближения или добавьте ограничения на переменные в виде неравенств, чтобы обойти точку локального минимума.
  • В процессе поиска решения получена точка, которая не является точкой локального минимума, но из которой метод минимизации не может определить дальнейшее направление движения. Метод преодоления этой проблемы — такой же, как для точки локального минимума: измените начальное приближение или добавьте ограничения в виде неравенств, чтобы миновать нежелательную точку остановки.
  • Возможно, поставленная задача не может быть решена с заданной точностью. Если значение встроенной переменной TOL слишком мало, то Mathcad может достигнуть точки, находящейся достаточно близко к решению задачи, но уравнения и ограничения при этом не будут выполнены с точностью, задаваемой переменной TOL. Попробуйте увеличить значение TOL где-нибудь выше блока решения уравнений.

Что делать, когда имеется слишком мало ограничений

Если количество ограничений меньше, чем количество переменных, Mathcad вообще не может выполнить блок решения уравнений. Mathcad помечает в этом случае функцию Find сообщением об ошибке “слишком мало ограничений”.

Задача, аналогичная той, которая приведена на Рисунке 12, называется недоопределенной. Ограничений в ней меньше, чем переменных. Поэтому ограничения не содержат достаточной информации для поиска решения. Поскольку функция Find имеет пять аргументов, Mathcad определяет, что требуется решить два уравнения с пятью неизвестными. Вообще говоря, такая задача обычно имеет бесконечное число решений.

При использовании блока решения уравнений в Mathcad необходимо задать количество уравнений по крайней мере не меньшее, чем число искомых неизвестных. Если зафиксировать значения некоторых переменных, удастся решить уравнения относительно оставшихся переменных. На Рисунке 13 показано, как, зафиксировав часть переменных, решить недоопределенную задачу из Рисунка 12. Поскольку функция Find содержит только два аргумента, z и w, Mathcad определяет переменные x, y и v как имеющие фиксированные значения 10, 50 и 0 соответственно. Блок решения уравнений становится в этом случае корректно определенным, потому что теперь имеются только две неизвестных, z и w, и два уравнения.

Рисунок 12: Функция Find имеет пять аргументов, поэтому Mathcad определяет, что требуется решить два уравнения с пятью неизвестными.

Рисунок 13: Проблема может быть решена, если уменьшить количество аргументов функции Find.

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


источники:

http://gigabaza.ru/doc/113527.html

http://old.exponenta.ru/SOFT/MATHCAD/UsersGuide/chapter15/15_2.asp