Примеры решения системы линейных алгебраических уравнений 4-ого порядка методом Гаусса, пример № 7
СЛАУ 3-его порядка:
1 —
2 —
3 —
4 —
5 —
6 —
7 —
8 —
9 —
10 —
11 —
12
СЛАУ 4-ого порядка:
1 —
2 —
3 —
4 —
5 —
6 —
7 —
8 —
9 —
10 —
11 —
12
Условие
|
Решение системы линейных алгебраических уравнений методом Гаусс
Для проверки ответов можете воспользоваться нашим онлайн сервисом —
Решение системы линейных уравнений методом Гаусса.
Перепишем систему линейных алгебраических уравнений в матричную форму. Получится матрица 4 × 5, слева от разделительной линии стоят коэффициенты при переменных, а справа стоят свободные члены.
Проведём следующие действия:
- Из строки № 2 вычтем строку № 1 умноженную на 4 (Строка 2 — 4 × строка 1)
- Из строки № 3 вычтем строку № 1 умноженную на 2 (Строка 3 — 2 × строка 1 )
- Из строки № 4 вычтем строку № 1 (Строка 4 — строка 1)
Получим:
Проведём следующие действия:
- К строке № 4 прибавим строку № 2 (Строка 4 + строка 2)
- Строку № 3 поделим на -2 (Строка 3 = строка 3 / -2)
Получим:
Проведём следующие действия:
- К строке № 4 прибавим строку № 3 умноженную на 5 (Строка 4 + 5 × строка 3)
- Строку № 4 умножим на 2 (Строка 4 = строка 4 * 2)
Получим:
Проведём следующие действия:
- Из строки № 3 вычтем строку № 4 умноженную на 0.

5 (Строка 3 — 0.5 × строка 4) - Из строки № 1 вычтем строку № 4 (Строка 1 — строка 4)
Получим:
Проведём следующие действия:
- К строке № 2 прибавим строку № 3 умноженную на 7 (Строка 2 + 7 × строка 3)
- Из строки № 1 вычтем строку № 3 умноженную на 3 (Строка 1 — 3 × строка 3)
Получим:
Проведём следующие действия:
- Строку № 2 поделим на 3 (Строка 2 = строка 2 / 3)
- К строке № 1 прибавим строку № 2 (Строка 1 + строка 2)
Получим:
В левой части матрицы по главной диагонали остались одни единицы. В правом столбце получаем решение:
х1 = 9
х2 = 18
х3 = 10
х4 = -16
Вы поняли, как решать? Нет?
Другие примеры
Руководство программиста по линейным уравнениям
Это Words and Buttons Online — сборник интерактивных #учебников, #демонстраций и #викторин по #математике, #алгоритмам и #программированию.
Будучи практикующим программистом, вы вряд ли самостоятельно реализуете еще один алгоритм решения линейных систем. Поэтому в этом руководстве не рассматриваются детали реализации. Хотя, возможно, вы столкнетесь с проблемами, которые можно решить в виде линейных систем, причем часто более изящно, чем любыми другими способами. В этом руководстве рассматриваются концепции, которые должны помочь вам распознать эти проблемы и найти для них наилучшее решение.
Но даже если вы совсем не интересуетесь линейной алгеброй, этот урок все равно может вас заинтересовать. Такие вещи, как сходимость, вычислительная ошибка, алгоритмическая сложность — все это легко продемонстрировать на такой интуитивной и наглядной задаче, как решение простой линейной системы.
Линейная система — это система линейных уравнений. Линейное уравнение представляет собой сумму взвешенных переменных, которая равна константе. В двумерном пространстве это также уравнение для реальной линии. В 3-х измерениях это плоскость, в 4-х — гиперплоскость и так далее.
Систему можно представить в виде массива уравнений.
| { | а11х1 + а12х2 = b1 |
| а21х1 + а22х2 = b2 |
Тот же самый массив уравнений составляет матричное уравнение.
| [ | 1 0 | 0 1 | ] | [ | х 1 х 2 | ] | = | [ | 0 1 | ] |
А в простейшем случае может иметь еще и графическую форму.
Графическая форма является полезной ментальной моделью, поскольку она делает систему визуальной. Ее решение — просто пересечение линий.
Задание 1. Используя график выше, составьте систему, которая имеет решение в x 1 = 0, x 2 = 0 . Это не обязательно должно быть точным, было бы обременительно добиться этого на маленьком участке. Просто сделайте это где-то около (0, 0) . Затем нажмите кнопку «Проверить!» кнопка.
Но даже у хорошо определенной системы может не быть решения (пересечения).
А иногда может иметь не одно, а бесконечное множество решений.
Задание 3. Используя тот же график, что и выше, создайте систему с бесконечными решениями.Это может быть проблемой для численных методов, направленных на поиск единственного решения. Они могут сообщить об ошибке или, что еще хуже, предоставить вам самое лучшее решение, которое они найдут. В этом случае следует проверить свои уравнения на линейную зависимость.
Вы видите, когда вы умножаете каждый коэффициент уравнения и константу на одно и то же число, все факты о точках, которые оно описывает, остаются неизменными. Это все то же уравнение; это все та же линия.
| х 1 + 2х 2 = 3 |
| 2x 1 + 4x 2 = 6 |
Иногда системы имеют больше уравнений, чем переменных.
В общем случае эти системы не имеют решения, но в некоторых редких случаях имеют.
Квест 4. Используя трехстрочный сюжет, создайте систему с одним решением.Иногда в системах больше переменных, чем уравнений. Эти системы называются с заниженным номером .
Конечно, в двумерном случае у них есть только одно уравнение и бесконечное количество решений. Каждая точка, лежащая на прямой уравнения, является решением. Но в более многомерных случаях недоопределенные системы могут вообще не иметь решений.
Задание 5. Используя приведенную ниже форму матрицы, пожалуйста, составьте недоопределенную систему из 2 уравнений, не имеющих решения.| [ | | | | ] | [ | х 1 х х 3 | ] | = | [ | | ] |
Существует два основных класса решателей линейных систем: итерационные и прямые.
Итерационные алгоритмы концептуально очень просты. Все они могут быть сведены к этим трем шагам.
- Начни с чего-нибудь.
- Посмотрите, получили ли вы то, что искали.
Если так — отлично, готово! - Если нет, сделайте что-нибудь, что приблизит вас к цели.
Перейти к шагу 2.
Давайте сделаем из этого линейный решатель. Часть алгоритма, которая приблизит нас к решению, будет простой проекцией. Если вы проецируете произвольную точку на линию, проекция будет ближе к одной точке этой линии, включая, конечно, желаемое решение. Поэтому, проецируя точку с одной прямой на другую, мы будем все ближе и ближе подбираться к решению.
Если, конечно, он есть.
Что касается критериев выхода, мы можем просто измерить, как далеко нам нужно пройти, чтобы совершить итерацию — проективный «скачок» с одной линии на другую. Предположительно, по мере того, как мы приближаемся, расстояние прыжка должно сокращаться, поэтому в какой-то момент мы можем счесть его достаточно маленьким, чтобы остановить операцию.
И мы можем оставить вопрос «с чего начать» без ответа. Конечно, было бы здорово начать прямо с точки решения, но в целом наш алгоритм должен работать для любой выбранной нами начальной точки.
Вот интерактивная иллюстрация этого.
Изменять: линии точка отсчета расстояние остановки
Когда подобный алгоритм приближается к решению с каждой итерацией, говорят, что он сходится. При удалении от точки она расходится. Сходимость — второе по важности свойство итеративного алгоритма. В основном это его скорость.
И первым наиболее важным свойством алгоритма является его стабильность . Обычно, чем больше математических операций вы выполняете, тем больше ошибок вы получаете. Но устойчивые алгоритмы обладают свойством автоматически уменьшать ошибку. Конечно, он собирает некоторую ошибку на каждой итерации, но не накапливает ее во что-то уродливое.
Этот конкретный алгоритм стабилен и геометрически неспособен к расходимости. Причем его сходимость напрямую связана с углом между линиями.
К сожалению, стабильность и сходимость сами по себе не приносят пользы на практике. Он уязвим для случая почти параллельного угла и выбора условия выхода.
Квест 7. Используя приведенный выше сюжет, создайте систему и настройте условия так, чтобы решение имело ошибку более 6,0.В отличие от итеративных, прямые алгоритмы не имеют сходимости. Они всегда выполняют работу за определенное количество операций. Однако в некоторых условиях итерационные алгоритмы могут вести себя так же, как и прямые.
Квест 8. Используя приведенный выше график, составьте систему, которая всегда разрешима не более чем за 3 итерации. Всегда иметь возможность решить систему всего за несколько прыжков — это здорово. Это похоже на окончательную конвергенцию — метафорическую скорость света в вычислениях. К счастью, мы можем превратить наш итеративный решатель в прямой, добавив одну маленькую деталь.
Раньше мы делали каждый скачок, делая ортогональную проекцию на соответствующую прямую. Но что, если мы сделаем проекцию параллельно соответствующей прямой?
Поскольку алгоритм теперь прямой, ему не нужны критерии выхода. Кроме того, поскольку у него есть «предельная конвергенция», выбор начальной точки не имеет значения. Это блестяще! Зачем вообще нужны итерационные алгоритмы?
Есть, конечно, подвох. Когда скорость итеративного алгоритма зависит от сходимости, скорость прямого алгоритма зависит от его сложности. Этот конкретный алгоритм довольно сложен.
Сложность алгоритма сама по себе не является количеством. Это не просто постоянное количество операций для достижения цели. Как и в случае с конвергенцией, это число зависит от вещей. В нашем случае это зависит от количества уравнений. Это делает его функцией, и мы обычно используем нотацию с большой буквой «О», чтобы охарактеризовать его. Big-O задает форму предельной функции — функции, которую наша сложность не имеет права обогнать для любого количества уравнений.
Если у вас есть что-то простое, например одиночный цикл for, его сложность будет линейной: O(n) . Если у вас есть цикл внутри цикла, то это O(n 2 ) . Этот тип сложности называется полиномом , и он довольно распространен в дикой природе. Например, наш проективный решатель имеет полиномиальную сложность.
защита cross_of (A):
''' n-мерное перекрестное произведение (n-1) векторов в списке A '''
D = длина (А [0])
N = лен(А)
v_res = [0.] * D
для я в xrange (0, D):
для jk в xrange(0, D ** N):
v_ijk = [i] + [(jk/(D ** (N-j-1))) % D для j в xrange(0, N)]
t_res = v__E(v_ijk)
если t_res != 0:
для тыс. в xrange(0, N):
t_res *= A[k][v_ijk[k + 1]]
v_res[i] += t_res
вернуть v_res
определение решения_для (А, В):
р = [0. для каждого в B]
для i в xrange (len (A)):
плоскость_n = А [я]
plane_d = -B[i]
other_planes_ns = A[:i] + A[i+1:]
project_vector = cross_of (other_planes_ns)
р = проект_по_вектору (р, проекция_вектор, плоскость_n, плоскость_d)
вернуть р
Квест 9.
Пожалуйста, оцените сложность алгоритма выше в big-O. O(n 2 )
O(n 3 )
O(n 4 )
O(n 5 )
Вы можете представить, что с полиномиальной сложностью использование прямого алгоритма на массивных системах на самом деле неправдоподобно. Решение системы из 1000 уравнений с помощью нашего алгоритма требует триллиона операций. В этом отношении итерационные алгоритмы являются достойной альтернативой. Не то чтобы они обычно быстрее, но все дело в балансе между конвергенцией и сложностью.
Наш алгоритм может быть графическим, но он слишком тяжелый, чтобы считаться практически полезным. Есть лучшие варианты. Например, метод исключения Гаусса имеет сложность O(n 3 ) , а теоретическое наилучшее значение для LU-разложения составляет O(n 2,376 ) .
Они оба разделяют одну и ту же идею: мы можем менять систему, как хотим, пока она не станет верной.
Мы уже видели, что мы можем одинаково умножать оба конца уравнения и при этом сохранять одну и ту же линию в графической форме. Мы также можем добавить любое уравнение и просуммировать его с любым другим уравнением из той же системы. Это изменит линию, но сохранит решение.
Выполняя только эти операции, мы можем превратить почти любую систему в тривиальную.
| { | а11х1 + а12х2 = b1 |
| а21х1 + а22х2 = b2 |
Это все хорошо, но как выбрать метод для решения вашего конкретного случая? Вот несколько советов.
- Если ваша система является разреженной, то есть большинство коэффициентов равны нулю, вы можете использовать это с любым методом разложения (факторизации) или методом исключения, который работает с разреженными структурами.
- Если ваша матрица доминирует по диагонали, а это означает, что самые большие элементы в каждом уравнении имеют тенденцию располагаться на диагонали, то итерационные методы, такие как Якоби или Гаусса-Зейделя, должны работать лучше всего для вас.

- И если ваша система очень мала, например, от 2 до 4 уравнений, вам лучше вообще обойтись без решателя. Просто решите это символически с помощью SymPy и скопируйте и вставьте символическое решение обратно в свой код. Да, это превзойдет любой возможный внешний решатель. И нет, это не противоречит закону.
Метод исключения Гаусса | Wyzant Спросите эксперта
Тригонометрия
Т Б.
спросил 25.10.18{2x-3y=13, 3x-4y=18 Решить методом исключения Гаусса
Подписаться І 1
Подробнее
Отчет
2 ответа от опытных наставников
Лучший Новейшие Самый старыйАвтор: Лучшие новыеСамые старые
Тим Т. ответил 30.04.20
Репетитор
4.
9
(702)
Математика: от K-12 классов до Advanced Calc, Ring Theory, Cryptography
См. таких репетиторов
Смотрите таких репетиторов
Приветствую! Давайте решим это?
Итак, мы должны решить эту систему линейных уравнений методом исключения Гаусса, используя элементарные операции со строками, такие что
2x — 3y = 13
3x — 4y = 18…….. Сначала мы применяем R 2 — R 1 —> R 1 , чтобы изменить R 1 так, чтобы
x — y = 5
3x — 4y = 18…………Затем применяем 4*R 1 — R 2 —> R 2 для изменения R 2 такое, что
x — y = 5
x + 0 = 2 ………… Тогда x = 2 . Наконец, мы подставляем x = 2 в x — y = 5, чтобы получить
2 — y = 5
-y = 3
y = -3
Надеюсь, это помогло!
Голосовать за 0 Понизить
Подробнее
Отчет
Джон Б.
ответил 26.08.19
Репетитор
4.7 (41)
BS ХИМИЯ и BS MATHEMATICS TUTOR — СЕВЕРНАЯ АТЛАНТА / ОНЛАЙН
Смотрите таких репетиторов
Смотрите таких репетиторов
2x — 3y = 13
3x — 4y = 18
убрать переменную x:
(-3/2)*(2x — 3y = 13) равно -3x + (9/2) y = -39/ 2
Добавьте это к другому уравнению:
3x — 4y = 18
-3x +(9/2)y = -39/2
0 + (17/2)y = (-3/2)
y = (-3/2)*(2/17)
y = -3/17 = 0,1765
3x — 4(-3/17) = 18
3x + 12/17 = 18
3x = 17 + 17/17 — 12/17
3x = 17 + 5/17
x = 17,2941
x = 17,2941 и y = 0,1765 — это ответ, который вы ищете.
Если вам нравится, как я ответил на этот вопрос, пожалуйста, оставьте комментарий и отправьте мне сообщение о том, что вам понравилось! Вы можете ознакомиться с более чем 50 другими проблемами, которые я решил здесь, на Wyzant Ask an Expert, используя ссылку на моей странице репетитора.


