Схема единственного деления метод гаусса маткад

Схема единственного деления метод гаусса маткад

БлогNot. Основные прямые и итерационные методы решения СЛАУ в MathCAD

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

Как известно, решение систем линейных алгебраических уравнений (СЛАУ) — весьма распространённый на практике тип задач. Теорию можно почитать по ссылке, а здесь приведём основные расчёты как для прямых (аналитических), так и для итерационных (приближённых) методов решения СЛАУ.

Начнём с прямых. Классический метод обратной матрицы в MathCAD легко реализовать с помощью стандартной функции lsolve или же посредством операции обращения матрицы, код приводить не будем из-за его тривиальности.

Уже двое спросили "а как всё же найти решение методом обратной матрицы?" 🙂
Введя данные, как на картинке ниже, под данными написать одну из формул x:=A -1 *b или x:=lsolve(A,b)
Затем ещё ниже сделать x=

А вот метод Крамера запрограммируем. Элемент вектора решения xi в нём получается в виде дроби, знаменателем которой является определитель матрицы системы, а числителем – определитель матрицы Ai , полученной из исходной заменой i-го столбца столбцом свободных членов b . Для удобства будем во всём документе нумеровать строки и столбцы матриц с единицы, то есть, установим значение системной переменной ORIGIN:=1 . Также определим общие для всех методов матрицу и вектор правой части системы:

Условием существования и единственности решения СЛАУ во всех случаях является условие det A≠0 , т.е., определитель матрицы A не равен нулю. Также имеет смысл сделать проверку полученного решения, посчитав значение невязки, равное норме разности векторов A*x ( x — найденное решение) и b . В идеале невязка должна быть равной нулю, но из-за неизбежного накопления погрешностей операций над вещественными числами она окажется равна малому числу ε , соответствующему погрешности метода. В MathCAD скалярный оператор "модуль" с панели инструментов калькулятора в применении к разности векторов даст как раз значение невязки, проверим это утверждение на небольшом тесте:

С учётом всего сказанного, реализуем метод Крамера и проверку полученного решения:

В теле функции det — не модуль, а похожая внешне кнопка "Определитель" с панели "Матрицы"!

Классический метод Гаусса с приведением матрицы к верхнему треугольному виду подробно изучается в базовом курсе высшей математики. Реализуем самую простую его разновидность, выбирающую ведущий элемент на главной диагонали матрицы, то есть, работающую в предположении, что значение A1,1,≠0 . Так как эта подпрограмма "нулевого" уровня, назовём её Gauss0 , а более сложную Gauss напишем отдельно.

Для удобства вектор правой части b записан как (n+1) -й столбец матрицы A , такую матрицу системы называют расширенной.

Реализация более "полноценного" метода Гаусса с выбором ведущего элемента (и перестановкой при необходимости строк матрицы) выполнена в приложенном к статье документе MathCAD, по крайней мере, систему с нулями на главной диагонали матрицы подпрограмма Gauss решила. Её дополнительный параметр — погрешность ε , начиная с которой значение |Ai,j| считается равным нулю. В случае ошибки (нет решения) подпрограмма возвращает вектор из n значений "бесконечность".

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

Читайте также:  Пешеходный навигатор для андроид без интернета

В определённой мере избежать этих недостатков позволяют итерационные методы, последовательно приближающие решение формулами вида xi (k+1) = f(xi (k) ) , где k=0,1. — номер шага, до тех пор, пока выбранная мера разности между двумя соседними векторами приближениямй |x (k+1) -x (k) | не станет меньше заданного малого значения ε . В простейшем случае решение СЛАУ с матрицей размерности 2*2 методом Якоби (он же — метод простых итераций) будет выглядеть так:

Все неизвестные значения xi присутствуют и в левой, и в правой частях новых уравнений. Выбрав некоторый вектор начального приближения x (0) , посчитаем по нему новое приближение x (1) , затем подставим его в правые части уравнений и посчитаем x (2) и т.д. до выполнения условия сходимости. А оно, кстати, довольно просто — метод Якоби сходится, если матрица системы имеет диагональное преобладание, то есть, на главной диагонали находятся наибольшие в своих строках элементы. Наша тестовая матрица уже имеет диагональное преобладание, а в большинстве других случаев этого можно добиться, выполняя преобразования над уравнениями системы, подобные тем, что делает расширенная процедура Gauss .

Выбор вектора начального приближения x (0) на практике также обычно прост, принимают x (0) =b , то есть, вектору правой части системы. Можно и просто "занулить" вектор x (0) .

Приходим к следующей процедуре решения:

Обратите внимание, что нам пришлось "схитрить" при расчёте сумм s1 и s2 — MathCAD просто не сможет вычислить сумму с нижним пределом суммирования =1 и верхним =0 (или нижним n и верхним n-1 ). По той же причине дополнительные проверки сделаны и в процедуре Gauss .

В основной "бесконечный" цикл подпрограммы имеет смысл добавить аварийный выход оператором break , например, по выполнении 10000 шагов.

Также, в этом и следующем методе в строчке с break точнее был бы критерий выхода |max(x1-x0)|≤ε , где | | — значок модуля числа с панели калькулятора.

Итерационный метод Гаусса-Зейделя отличается от метода простых итераций лишь тем, что для подсчета i –й компоненты (k+1) –го приближения к искомому вектору решения используются уже вычисленные на этом, т.е., (k+1) –м шаге новые значения первых i–1 компонент. а не просто берётся вектор x0 целиком с предыдущего шага. В нашей подпрограмме достаточно заменить x0 на x1 в операторе расчёта суммы s1 🙂 У меня точность решения на использованном тесте выросла при этом вчетверо.

Прямые и итерационные методы решения СЛАУ: скачать документ .xmcd Mathcad 14/15 в архиве .zip (56 Кб)

P.S. И ещё про прямые "гауссоподобные" методы решения СЛАУ. Если Вам нужно не пошаговое программирование, а достаточно применения стандартных функций, есть способ проще. С помощью стандартной функции augment можно получить расширенную матрицу системы (поставив "рядом" матрицу A и вектор b ), а с помощью rref привести матрицу к ступенчатому виду с единичным базисным минором. Потом останется извлечь решение с помощью метода submatrix (последний столбец матрицы, которую вернул метод rref ).

Норма вектора |A*x-b| , как и другие нормы в статье, берётся кнопкой |x| с Калькулятора, а не похожей на неё кнопкой с панели "Матрицы".

21.09.2013, 11:24; рейтинг: 40481

Задача. Решить систему уравнений по схеме единственного деления:

Читайте также:  Как перезапустить принтер canon

Решение осуществим с помощью формул (9) и (10):

Решение системы: x1=2,293021, x2=-4,81552, x3=0,967185.

Схема полного деления.

Задача. Решить систему уравнений по схеме полного деления:

Решение системы: x1=2,2930206,x2=-4,815522134,x3=0,967184874.

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

Задача. Решить систему уравнений методом Зейделя:

Решение. Воспользуемся формулами (11), (12) и (13):

Решение системы: x1≈2,232388,x2≈-4,84794,x3≈0,969745.

Решение достигается более чем за 14 итераций, т.е. трудоемко и занимает много времени.

Задача. Решить методом итераций СЛАУ, оценив предварительно гарантированное количество итераций. Точность 0,001

Для применения метода итераций с заданной точностью ε применим оценку

,

где А константа из формул критерия сходимости итерационного процесса

Рассчитаем А по формуле |А|3=

Значит, система имеет итерационный вид, т.е. можно построить последовательность решений по правой части исходной системы.

Если модуль |А|>1, то следует проверить формулу 4,5

Если формулы 3-5 не выполняются система не имеет итерационный вид, значит, метод итераций не применим, следует преобразовать исходную систему.

Рассчитаем значение k (число итераций) с учётом точности ε=0,001

Заменим переменные их значениями

решим неравенство логарифмированием неравенства

lg(0,61 k+1 )-lg(0,39)+lg(2,15) -3

(k+1)*lg(0,61) 17,5-1, к>17

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

Алгоритм решения системы линейных уравнений в TMTPascal:

1) Метод итераций. Предварительно система должна быть приведена к итерационному виду.

a11=0.24; a12=0.21; a13=0.06; a14=-0.34;

a21=0.05; a22=0; a23=0.32; a24=0.12;

a31=0.35; a32=-0.27; a33=0; a34=-0.05;

a41=0.12; a42=-0.43; a43=0.34; a44=-0.21;

b1=1.42; b2=-0.57; b3=0.68; b4=-2.14;

x1:=b1; x2:=b2; x3:=b3; x4:=b4;

for i:=1 to 104 do

writeln(xx1:6:3, xx2:6:3, xx3:6:3, xx4:6:3);

2)Метод Зейделя. Предварительно система должна быть приведена к специальному виду:

a11=0; a12=-0.949; a13=-0.511;

a21=-1.034; a22=0; a23=0.417;

a31=-0.533; a32=0.399; a33=0;

b1=0.2173; b2=-1.252; b3=-1.705;

for i:=1 to 30 do

writeln(xx1:6:3, xx2:6:3, xx3:6:3);

Практическая часть

Задание 1.Решить систему методом Гаусса, предварительно исследовать совместность.

Вариант 1 Ответ (1; 2; 1; 2) Вариант 2 Ответ (2; -1; 1; 1)
Вариант 3 Ответ (1; 2; 3; 1) Вариант 4 Ответ (1; -1; 2; 2)
Вариант 5 Ответ (3; 1; 1; -1) Вариант 6 Ответ (1; -1; 2; 4)
Вариант 7 Ответ (2; 1; 1; 3) Вариант 8 Ответ (1; -1; 2; -2)
Вариант 9 Ответ (2; 3; 1; 1) Вариант 10 Ответ (-1; 3; 2; 1)
Вариант 11 Ответ (-1; 1; 2; 2) Вариант 12 Ответ (4; -1; 1; 2)
Вариант 13 Ответ (2; 2; -1; 1) Вариант 14 Ответ (3; 4; -1; 1)
Вариант 15 Ответ (1; 1; 1; 1) Вариант 16 Ответ (-1; 2; 3; -1)

Задание 2. Решить систему из задания 1 методом Зейделя, предварительно приведя ее к специальному виду.

Вопросы к защите лабораторной работы №3

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

1. Метод Гаусса (схема единственного деления): описание метода, трудоемкость метода.

2. Метод Гаусса с выбором главного элемента по столбцу (схема частичного выбора): описание метода, его вычислительная устойчивость.

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

4. Метод Зейделя для решения систем линейных алгебраических уравнений. Сходимость, оценки погрешности, критерий окончания итераций. Геометрическая иллюстрация. Алгоритм приведения к виду, обеспечивающему сходимость итерационного процесса.

Читайте также:  Сколько mah в айфон 7

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

ЛАБОРАТОРНАЯ РАБОТА № 4

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).

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

Существует несколько модификаций метода Гаусса, самая известная из них — схема единственного деления.

Метод Г аусса состоит из двух этапов.

Цель прямого хода — приведение матрицы системы А к верхнетреугольному виду.

Для этого выполняется п преобразований матрицы А. На каждом шаге преобразования выбирается к-я главная или ведущая строка. Диагональные элементы главной строки аы называются главными (ведущими) элементами.

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

• для всех строк, кроме главной, находим множитель /,;

• к каждой неглавной добавляем главную строку, умноженную на множитель /,;

  • главную строку делим на главный элемент
  • главную строку вычеркиваем, размерность системы становится меньше на единицу, то есть(п— 1).

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

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

II. Обратный ход.

Вектор неизвестных СЛАУ х находится в обратном порядке, начиная с последнего. Для этого составляется матрица из вычеркнутых строк, она имеет верхнетреугольный вид. Из последнего уравнения находится неизвестный х„, затем неизвестные находятся в порядке х„_ь х„_2, . X].

Схему единственного деления Гаусса удобно реализовать в виде таблицы. В табл. 4.3 приведено решение следующей СЛАУ:

Метод Гаусса, схема единственного деления

Коэффициенты при неизвестных

  • 2/3
  • -2/3
  • 1
  • -1
  • 1
  • 4
  • 5
  • 15
  • 7
  • 20

  • 3
  • -]
  • 1/3
  • -1/3
  • 1
  • 4
  • 5
  • 10/3
  • 35/3
  • 7
  • 14/3
  • 46/3
  • 3
  • -1
  • 1/3
  • 1
  • 5
  • 5
  • 10/3
  • 45/3
  • 7
  • 14/3
  • 60/3

Замечание. Для уменьшения возможности ошибок счета вводятся так называемые контрольные суммы — столбец с в табл. 4.3, с которым выполняются следующие преобразования:

  • 1. На прямом ходе те же преобразования, что со столбцом свободных членов Ь. Контроль правильности преобразования строки на очередном шаге проводится суммированием всех коэффициентов в строке и свободного члена. Эти значения должны быть равны.
  • 2. На обратном ходе одновременно с вычислением корней х, вычисляются корни х], которые получены, если в выделенном в системе уравнении вместо свободного члена bt использовать значение контрольной суммы сг Между корнями должно выполняться следующее соответствие: х( = х( + .

При реализации метода Гаусса по схеме единственного деления предполагалось, что диагональные элементы не равны нулю. Это можно гарантировать только на нулевом шаге = 0) в исходной системе. Однако в ходе преобразований вполне возможны ситуации, что главные диагональные элементы станут нулевыми. В этих условиях схема единственного деления становится неработоспособной, так как в ходе преобразований происходит деление на главные элементы. Выходом в такой ситуации является использование модификации метода Гаусса — метода главных элементов.

Ссылка на основную публикацию
Сталкер зов припяти лучшее оружие в игре
S.T.A.L.K.E.R.: Call of Pripyat 4,260 уникальных посетителей 105 добавили в избранное "Уникальная модель пистолета СИП-т М200. Была выпущена малой партией...
Соевый соус стебель бамбука классический отзывы
Всем доброго дня!Много мнений по этому поводу, как вы считаете, соевый соус или морская соль, что менее вредно для организма....
Соевый соус ямаса отзывы
Полное наименование: Соевый Соус классический (натурально сваренный) Изготовитель: Yamasa Corporation Все характеристики Соевый соус Yamasa: Результаты теста Достоинства Безопасный Не...
Сталкер зов припяти много оружия
Для Всех любителей отличного отечественного шутера S.T.A.L.K.E.R.Зов Припяти представлен новый Оружейный мод Автоматы Штурмовые винтовки:1. АК-472. АКS-47 тактический3. АК-113 "Монгол"4....
Adblock detector