Маткад система уравнений

Решение систем уравнений в MathCad

Часто в курсовом проекте либо в лабораторной работе (да и вообще по жизни) возникает необходимость в решении больших и громоздких систем уравнений. Методы решения систем уравнений применяются те же, что и при решении уравнений: это вычислительный блок Given — Find и метод solve

Способ №1: использование вычислительного блока Given — Find:

Вычислительный блок Given — Find хорош тем, что он способен предоставить результат решения системы уравнений в двух видах: численном и символьном. Рассмотрим каждый из них подробнее.
Численный метод применяется в том случае если инженеру или студенту, необходимо получить только лишь численные результаты своей работы. В этом случае необходимо изначально задать значения всех «букв» и переменных(!). Переменные нужно задать в качестве начальных приближений. Эти начальные приближения нужны для корректной работы численных методов MathCad (см. подробнее в Решение уравнений). При этом, если начальное приближение не задано или задано не верно, то высока вероятность, что решение найдено не будет. Далее через «жирное» равно записывается список уравнений Вашей системы, а после него Find(x,y,z,…)→ либо «=».
Символьный метод применяют для нахождения выражения искомой переменной из данной системы. В этом случае не обязательно задавать все величины входящие в систему. Достаточно просто записать все уравнения по порядку и затем найти решения в виде выражений с помощью оператора Find(x,y,z,…)→. Нужно отметить, что не всегда удается получить символьное выражение для переменной, ввиду сложности преобразований.

Чтобы опустить нудное разъяснение синтаксиса MathCad, ниже приводятся примеры решения систем уравнений с помощью блоков Given — Find как численном так и в символьном виде, которые наглядно продемонстрируют правила оформления решения.

Пример №1.Решение системы уравнений в MathCad с помощью блока Given — Find численно:Скачать

Пример №2.Решение системы уравнений в MathCad с помощью блока Given — Find символьно:Скачать

Способ №2: Применение метода solve:

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

Рис. 1. Панель «Матрица»

После заполнения матрицы уравнениями, нажимаем кнопку с надписью solve на панели Symbolic (см. рис. 2) и перечисляем через запятую все искомые переменные.
Рис. 2. Панель «Символьные»

Форма записи представлена в примере.

Пример №3.Решение системы уравнений в MathCad с помощью solve:Скачать

РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ

Решение уравнений и систем средствами Mathcad
Функция root, блоки Given…Find, Given…Minerr
Решение полиномиальных уравнений. Функция polyroots
Решение систем линейных уравнений
Порядок выполнения лабораторной работы

4 Решение уравнений и систем средствами Mathcad

Система Mathcad обладает широкими возможностями численного решения уравнений и систем уравнений.

Функция root, блоки Given…Find, Given…Minerr

В ходе численного решения обычно выделяют два этапа:

  • отделение корней – определение интервала нахождения каждого корня или определение приблизительного значения корня. В системе Mathcad наиболее наглядным будет отделение корней уравнения графическим способом;
  • уточнение корней – нахождение численного значения корня с указанной точностью.

Точность нахождения корня устанавливается с помощью системной переменной TOL (Convergence Tolerance – Допуск сходимости), которая по умолчанию равна 10-3. Чем меньше значение TOL, тем точнее, вообще говоря, находится корень уравнения. Однако оптимальным является TOL = 10-5. Переопределить значение TOL можно в окне математических свойств документа Math Options на вкладке Build-In Variables (Встроенные переменные) или присваиванием, например, TOL:=0.0001.

Для решения одного уравнения с одной неизвестной предназначена встроенная функция root, которая в общем виде задается

root(f(x), x, )

и возвращает значение переменной x, при котором функция f(x) обращается в ноль. Аргументы функции root:

  • f(x) – функция левой части уравнения f(x) = 0;
  • x – переменная, относительно которой требуется решить уравнение;
  • a, b (необязательные) – действительные числа, такие что a b, причем на интервале находится только один корень.

Если функция root не может найти корни уравнения, то рекомендуется уточнить начальное приближение по графику, изменить границы интервала нахождения корня или увеличить значение системной переменной TOL.

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

Функция

Find(x1, x2, …)

возвращает значения неизвестных x1, x2, … , обращающих уравнения в верные тождества, т. е. возвращает точное решение системы уравнений или одного уравнения в частном случае. Для системы из n уравнений с n неизвестными решение возвращается в виде вектора, состоящего из n элементов.

Если в результате поиска не может быть получено решение с заданной точностью, то функция Find выдает сообщение об ошибке. В этом случае можно использовать функцию

Minerr(x1, x2, …),

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

Порядок применения блоков Given…Find, Given…Minerr для численного решения уравнений и систем уравнений:

  1. Всем неизвестным, входящим в систему, задается начальное приближение.
  2. При необходимости присваиваются требуемые значения системным переменным TOL и CTOL (Constraint Tolerance – Допуск ограничения).
  3. Печатается ключевое слово Given, которое указывает Mathcad, что далее следует система уравнений.
  4. Задаются уравнения и ограничения на поиск решения в виде неравенств (если они имеются) в любом порядке, каждое в отдельном формульном блоке, причем для записи используются операторы отношения палитры Boolean (Логические). Допускается использование двусторонних неравенств вида a ≤ x ≤ b.
  5. Применяется функция Find или Minerr в составе какого-нибудь выражения.

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

  6. В случае использования функции Minerr выполняется проверка.

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

  • ранжированные переменные;
  • выражения, содержащие знак ≠;
  • локальное (:=) или глобальное (Ξ — тождественно равно) определение переменных и функций, за исключением выражения, в состав которого входит функция Find или Minerr;
  • другой блок решения. Каждый блок должен содержать только одно слово Given и одну решающую функцию.

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

Решение полиномиальных уравнений. Функция polyroots

Для решения полиномиальных уравнений вида

или нахождения всех корней полинома степени n, используют функцию

polyroots(v),

возвращающую вектор-столбец длины n, состоящий из корней полинома, как действительных, так и комплексных.

Аргументом функции polyroots является вектор v длины n + 1

Решить полиномиальное уравнение можно следующим образом:

  1. задать полином;
  2. выделить переменную синим управляющим курсором;
  3. создать вектор коэффициентов полинома, выполнив последовательность команд главного меню Symbolics / Polynomial Coefficients (Символика / Коэффициенты полинома);
  4. вырезать вектор коэффициентов полинома в буфер обмена;
  5. задать переменную v и присвоить ей значение вектора коэффициентов полинома, вставив его непосредственно из буфера обмена;
  6. применить функцию polyroots(v) в каком-нибудь выражении, например, X:=polyroots(v);
  7. получить вектор корней полинома: X =.

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

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

В матричном виде ее можно записать Ax = b,

где – матрица коэффициентов при неизвестных системы (матрица левой части системы);

– столбец свободных членов.

Как известно, система линейных алгебраических уравнений имеет решение, если ее определитель отличен от 0: det(A)=|A|≠0.

Умножим обе части матричного уравнения Ax = b на обратную матрицу коэффициентов при неизвестных системы A-1 слева: A-1Ax=A-1b. Учитывая, что A-1A, вектор-столбец решений системы можно искать в виде

x=A-1b.

Этот прием используется в Mathcad так:

  1. задается матрица коэффициентов при неизвестных системы A;
  2. задается столбец свободных членов b;
  3. вводится формула для нахождения решения системы X:=A-1b;
  4. выводится вектор решений системы X=.

Кроме того, пакет Mathcad имеет встроенную функцию

lsolve(A, b),

возвращающую вектор-столбец решений системы линейных алгебраических уравнений. Аргументами функции lsolve являются матрица коэффициентов при неизвестных системы и столбец свободных членов. Порядок решения аналогичен рассмотренному, но вместо формулы X:=A-1b используется X:=lsolve(A, b).

Реализовать широко известный метод Гаусса решения систем линейных уравнений позволяет встроенная функция rref(M), возвращающая ступенчатый вид матрицы M. Если в качестве аргумента взять расширенную матрицу системы, то в результате применения rref получится матрица, на диагонали которой – единицы, а последний столбец представляет собой столбец решений системы.

Решение системы линейных уравнений можно осуществить с помощью блоков Given…Find, Given…Minerr. При этом неизвестным системы задается произвольное начальное приближение, а проверка необязательна.

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

  1. Загрузить Mathcad Start / All Programs / Mathsoft Apps / Mathcad (Пуск / Все программы / Mathsoft Apps / Mathcad).
  2. Сохранить в личной папке на диске z:\ новый документ с именем ФИО1, лучше использовать латинские буквы. Производить сохранение регулярно в процессе работы (Ctrl + S).
  3. Вставить текстовую область Insert / Text Region (Вставка / Область текста) и ввести в поле документа текст:

Лабораторная работа № 4
Решение уравнений и систем в Mathcad.

  1. В новой текстовой области ввести фамилию, имя, отчество, учебный шифр и номер варианта.
  2. Выполнить задание 1.

Задание 1. Решить уравнение .

Решение.

Решение данного уравнения будем проводить в два этапа: отделение корней уравнения графически, уточнение корней уравнения.

Определим функцию f(x), равную левой части данного уравнения, когда правая равна нулю:

Зададим ранжированную переменную x на некотором диапазоне с мелким шагом, например:

x:=-5,-4.9..5

Вставим в документ графическую область. Для этого выберем дважды пиктограмму с изображением графика сначала на панели Math (Математика), затем на палитре графиков Graph или выполним из главного меню последовательность команд Insert / Graph / X-Y Plot (Вставка / График / X-Y Зависимость).

Снизу по оси абсцисс наберем x, а сбоку по оси ординат введем f(x).

Для появления графика щелкнем левой клавишей мыши вне графической области.

Отформатируем график функции f(x). Для этого щелкнем правой клавишей мыши в области графика и выберем в контекстном меню команду Format (Формат). Установим пересечение осей графика (Crossed – Только оси), добавим вспомогательные линии по координатным осям (Grid Lines – Вспомогательные линии). Отменим при этом автосетку (Autogrid – Автосетка) и установим количество линий сетки, равное 10.

Для подтверждения внесенных изменений нажмем последовательно кнопки Apply (Применить) и ОК.

После указанных преобразований график функции f(x) будет выглядеть следующим образом:

Из графика функции f(x) видно, что уравнение имеет три корня, которые приблизительно равны: x1 ≈ -1; x2 ≈ 1; x3 ≈ 2,5.

Этап отделения корней завершен.

Уточним теперь корни уравнения с помощью функции root.

Присвоим начальное приближение переменной x и укажем точность поиска корня:

x:=-1 TOL:=0.0001

Уточним заданное приближение к значению корня с помощью функции root:

x1:=root(f(x),x)

x1=-1.1395

Выполним проверку, подтверждающую, что первый корень найден с заявленной точностью:

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

  1. Выполнить задание 2.

Задание 2. Решить уравнение .

Решение.

Напечатаем левую часть уравнения, не приравнивая выражение к 0, и выделим синим курсором переменную x:

Выберем из главного меню Symbolics / Polynomial Coefficients (Символика / Коэффициенты полинома). Появившийся вектор коэффициентов полинома выделим целиком синим курсором и вырежем в буфер обмена, используя кнопку Вырезать на панели инструментов Formatting (Форматирование) или комбинацию клавиш Ctrl + X.

Напечатаем v := и вставим вектор из буфера обмена, используя кнопку Вставить на панели инструментов или комбинацию клавиш Ctrl + V.

Для получения результата напечатаем polyroots(v) =:

  1. Выполнить задание 3.

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

Решение.

1-й способ. Использование блока Given … Find.

Зададим всем неизвестным, входящим в систему уравнений, произвольные начальные приближения, например:

x:=0 y:=0 z:=0

Напечатаем слово Given. Установим визир ниже и наберем уравнения системы, каждое в своем блоке. Используем при этом логический знак равенства (Ctrl + =).

После ввода уравнений системы напечатаем X := Find(x, y, z) и получим решение системы в виде вектора, состоящего из трех элементов:

Сделаем проверку, подставив полученные значения неизвестных в уравнения системы, например, следующим образом

После набора знака «=» в каждой строке должен быть получен результат, равный или приблизительно равный правой части системы. В данном примере системная переменная ORIGIN = 1.

2-й способ. Использование блока Given…Minerr.

Порядок решения системы этим способом аналогичен порядку использования блока Given … Find и представлен ниже вместе с проверкой:

3-й способ. Решение системы линейных уравнений матричным способом.

Создадим матрицу А, состоящую из коэффициентов при неизвестных системы. Для этого напечатаем A := , вызовем окно создания массивов (Ctrl + M). Число строк (Rows) и столбцов (Columns) матрицы данной системы равно 3. Заполним пустые места шаблона матрицы коэффициентами при неизвестных системы, как показано ниже:

Зададим вектор b свободных членов системы. Сначала напечатаем b :=, затем вставим шаблон матрицы(Ctrl + M), где количество строк (Rows) равно 3, а количество столбцов (Columns) равно 1. Заполним его:

Решим систему матричным способом по формуле

Решим систему с помощью функции lsolve:

Для проверки правильности решения системы, полученного матричным способом, достаточно вычислить произведение A·X, которое должно совпасть с вектором-столбцом свободных членов b:

БАЗОВЫЕ ОПЕРАЦИИ.
РАНЖИРОВАННЫЕ ПЕРЕМЕННЫЕ. ФУНКЦИИ. ГРАФИКИ
МАССИВЫ

1 Запуск. Формульные и текстовые области
2 Ранжированные переменные. Функции. Графики
3 Массивы
4 Вычисление производных, интегралов, сумм, произведений и пределов
Порядок выполнения лабораторной работы

1 Запуск. Формульные и текстовые области

Запуск Mathcad: Start / All Programs / Mathsoft Apps / Mathcad (Пуск / Все программы / Mathsoft Apps / Mathcad).

Документ Mathcad просматривается, интерпретируется и выполняется слева направо и сверху вниз и может включать три вида областей:

  • формульные;
  • текстовые;
  • графические.

Для ввода математических символов: View / Toolbars / Math (Вид / Панели инструментов / Математическая).

Каждое математическое выражение набирается в отдельной формульной области. Одна формула – одна область!

Перемещение курсора — клавиша Пробел. Изменение направления уголка — клавиша Insert (Ins).

Знаки равенства:

«:=» — «присвоить» — задать выражение (число или формулу)

«=» — «вычислить» подсчитать и вывести значение выражения.

Для вставки в документ текстовой области выполняют Insert / Text Region (Вставка / Область текста), либо просто нажимают в формульной области Пробел. Текстовая область имеет рамку с маркерами, позволяющими изменять ее размеры, и курсор в виде вертикальной линии красного цвета.

2 Ранжированные переменные.

Функции. Графики

В Mathcad существует тип переменных, принимающих не одно, а множество значений. Такие переменные носят название ранжированных или дискретных. Ранжированная переменная – переменная, которая принимает ряд значений при каждом ее использовании, причем каждое значение отличается от соседнего на постоянную величину, называемую шагом.

Ранжированная переменная общего вида определяется выражением:

Имя := x1, x2 .. xn

Здесь Имя – задаваемое пользователем имя ранжированной переменной;
x1 – первое значение ранжированной переменной;
x2 – второе значение ранжированной переменной (x2 = x1 + Dx — первое значение плюс шаг);
xn – последнее значение ранжированной переменной.
Значения x1 и x2 разделяются запятой, двоеточие представляет собой единый оператор, указывающий на изменение переменной в заданных пределах. Он вводится с клавиатуры клавишей «;» или выбирается с палитры математических инструментов Matrix (Векторы и матрицы) (кнопка — Range Variable).

Например, если переменная изменяется в интервале с шагом , то она задается в виде

Шаг изменения значений ранжированной переменной в явном виде обычно не задается, он определяется как x2 – x1.

Функции в системе Mathcad можно условно разделить на две группы: встроенные и функции пользователя. Встроенные функции изначально заданы в системе разработчиками. Имя функции вводится с клавиатуры, обычно в нижнем регистре. Полный перечень встроенных функций можно получить, выполнив команду Function (Функция) главного меню Insert (Вставка), или нажав на кнопку панели инструментов. При этом появляется окно, где справа перечислены возможные категории функций, а слева – список функций из выделенной категории.

Среди наиболее часто используемых функций можно указать:

  • sin(z) — синус z (z задается в радианах);
  • cos(z) — косинус z;
  • tan(z) — тангенс z;
  • cot(z) — котангенс z;
  • exp(z) – экспоненциальная функция, значение е (основание натурального логарифма) в степени z;
  • ln(z) – натуральный логарифм z;
  • log(z) – десятичный логарифм числа z;
  • log(z, b) – логарифм числа z по основанию b;
  • acos(z) – арккосинус z;
  • acot(z) – арккотангенс z;
  • asin(z) – арксинус z;
  • atan(z) – арктангенс z.

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

Имя(список аргументов) := Выражение

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

Обращение к функции осуществляется по ее имени с подстановкой на место аргументов констант, переменных, определенных до обращения к функции, и выражений.

Основные виды графиков и инструменты для работы с ними находятся на палитре математических инструментов Graph (График).

Для построения графика функции одной переменной в декартовой системе координат в Mathcad:

  1. определяется функция пользователя;
  2. задается ранжированная переменная на некотором диапазоне с мелким шагом;
  3. вставляется шаблон двумерного графика X-Y Plot;
  4. в знакоместо по оси абсцисс записывается имя переменной, а в знакоместо по оси ординат — функция или имя ранее определенной функции;
  5. производится щелчок левой клавишей мыши вне области графика.

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

3 Массивы

Массив в пакете Mathcad – это совокупность конечного числа упорядоченных пронумерованных элементов, которая может иметь уникальное имя. Обычно используют одномерные (векторы) и двумерные (матрицы) массивы, содержащие числовые, символьные или строковые данные.

– вектор-столбец; – вектор-строка.

Порядковый номер элемента называется индексом. Местоположение элемента в массиве задается одним индексом для вектора и двумя – для матрицы. Номер первого элемента массива определяется значением системной переменной ORIGIN. По умолчанию ORIGIN = 0 и может принимать только целые значения. Изменение значения этой системной переменной осуществляется последовательностью команд Math / Options… / Built-In Variables / Array Origin (ORIGIN) (Математика / Параметры / Встроенные переменные / Начальный индекс массивов) или переопределением в документе, например:

ORIGIN:=1

Существует несколько способов создания массивов.

1-й способ. Использование панели Matrix (Матрицы).

Сначала набирается имя массива и оператор присваивания, например, . Далее на панели Math (Математика) выбираем кнопку Matrix (Матриц):

Далее указываем количество ее строк m (Rows) и столбцов n (Columns) матрицы. Для векторов один из этих параметров должен быть равен 1. При m = 1 получим вектор-строку, а при n = 1 – вектор-столбец.

На месте курсора появится шаблон, в знакоместа которого вводятся значения элементов массива:

2-й способ. Использование ранжированной переменной.

Целочисленные ранжированные переменные используются для задания индексов и позволяют создавать массивы в следующем порядке:

  1. определяется системная переменная ORIGIN;
  2. задается ранжированная переменная (переменные) для нумерации элементов;
  3. индексированной переменной присваиваются значения элементов массива через запятую или в виде явной формулы.

Обращаться к отдельным элементам вектора или матрицы можно, используя нижний индекс, принимающий только целочисленные значения. Для ввода нижнего индекса после имени вектора или матрицы нажимается клавиша «, состоящий из произвольных чисел, и значение v = 0,95. Для каждого элемента массива M вычислить значение R по формуле . Подсчитать сумму элементов массива R. Найти минимальное значение R. Отсортировать элементы массива R по убыванию. Подсчитать произведение элементов массива R.

Решение.

Зададим порядок нумерации элементов в массивах, начиная с единицы, и ряд значений ранжированной переменной для нумерации элементов создаваемых векторов M и R:

ORIGIN:=1
i:=1..5

Введем имя исходного массива и знак присваивания. Не меняя положение курсора, выберем кнопку с изображением матрицы математических инструментов Matrix (Матрица) дважды и укажем размерность вектора-столбца: Rows – количество строк (5), Columns – количество столбцов (1).

Введем произвольные значения элементов массива M, используя для перехода к новому знакоместу клавишу Tab или клавиши управления курсором:

Присвоим значение переменной v:

v:=0.95

Введем формулу для вычисления i-го элемента массива R . Для ввода i используем кнопку – Нижний индекс панели Matrix (Матрица):

Для просмотра результатов в виде таблиц наберем Mi =, Ri =, а для вывода результатов в виде векторов – M=, R=:

Вычислим сумму элементов массива R. Для этого нажмем на кнопку на палитре Matrix (Матрица) и введем имя массива. Для получения результата достаточно нажать «=»:

Для определения минимального элемента используем специальную функцию min:

Далее отсортируем RES по возрастанию и изменим порядок расположения элементов:

Подсчитаем произведение элементов:

  1. Выполнить задание (см. функции для работы с файлами данных)

Задание 3. Задайте матрицу A размером 3×3, состоящую из произвольных чисел.
Запишите ее в файл task.txt.
Просмотрите с помощью Total Commander содержимое файла task.txt.
Задайте еще одну матрицу B размером 3×3, состоящую из произвольных чисел.
Допишите ее в файл task.txt и просмотрите его.
Считайте из файла task.txt данные в матрицу D (в Mathcad) и выведите её значения.

Вернуться на страницу <Методические разработки>

В начало

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

Решение матричных уравнений ~ Метод Гаусса

Способы решения систем линейных уравнений делятся на две группы:

  1. точные методы
  2. , представляющие собой конечные алгоритмы для вычисления корней системы (решение систем с помощью обратной матрицы, правило Крамера, метод Гаусса и др.),

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

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

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

Решение матричных уравнений

Рассмотрим систему n линейных алгебраических уравнений относительно n неизвестных х1, х2, …, хn:

(13)

Рисунок 8.

В соответствии с правилом умножения матриц рассмотренная система линейных уравнений может быть записана в матричном виде

где:

(15)

Матрица А, столбцами которой являются коэффициенты при соответствующих неизвестных, а строками — коэффициенты при неизвестных в соответствующем уравнении, называется матрицей системы; матрица-столбец b, элементами которой являются правые части уравнений системы, называется матрицей правой части или просто правой частью системы.

Матрица-столбец х, элементы которой — искомые неизвестные, называется решением системы.

Если матрица А — неособенная, то есть det A не равен 0 то система (13), или эквивалентное ей матричное уравнение (14), имеет единственное решение.

В самом деле, при условии det A не равно 0 существует обратная матрица А-1. Умножая обе части уравнения (14) на матрицу А-1 получим:

(16)

Формула (16) дает решение уравнения (14) и оно единственно.

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

lsolve(А, b)

Возвращается вектор решения x такой, что Ах = b.

А

— квадратная, не сингулярная матрица. — вектор, имеющий столько же рядов, сколько рядов в матрице А.

На Рисунке 8 показано решение системы трех линейных уравнений относительно трех неизвестных.

Метод Гаусса

Метод Гаусса, его еще называют методом Гауссовых исключений, состоит в том, что систему (13) приводят последовательным исключением неизвестных к эквивалентной системе с треугольной матрицей:

решение которой находят по рекуррентным формулам:

(17)

В матричной записи это означает, что сначала (прямой ход метода Гаусса) элементарными операциями над строками приводят расширенную матрицу системы к ступенчатому виду:

а затем (обратный ход метода Гаусса) эту ступенчатую матрицу преобразуют так, чтобы в первых n столбцах получилась единичная матрица:

Последний, (n + 1) столбец этой матрицы содержит решение системы (13).

В Mathcad прямой и обратный ходы метода Гаусса выполняет функция rref(A).

На Рисунке 9 показано решение системы линейных уравнений методом Гаусса, в котором используются следующие функции:

rref(A)

Возвращается ступенчатая форма матрицы А.

augment(A, В)

Возвращается массив, сформированный расположением A иВ бок о бок. Массивы A иВ должны иметь одинаковое число строк.

Добавить комментарий

Закрыть меню