Цель работы
Научиться решать системы линейных уравнений средствами Mathcad.
Постановка задач
Изучить материал по линейной алгебре, необходимый для
выполнения лабораторной работы;
Изучить свойство функций lsolve, augment и submatrix в программе
Научиться применять функции lsolve, augment и submatrix в
среде Mathcad для решения систем линейных алгебраических уравнений методами Гаусса и Крамера.
Основная часть
Системы линейных алгебраических уравнений
Центральным вопросом вычислительной линейной алгебры является решение систем линейных алгебраических уравнений (СЛАУ), т. е. систем уравнений вида
В матричной форме СЛАУ записывается в эквивалентном виде:
,
где А — матрица коэффициентов СЛАУ размерности mxn;
х — вектор-столбец неизвестных;
b— вектор-столбец свободных коэффициентов.
СЛАУ имеет единственное решение, если матрица А является невырожденной, т. е. ее определитель не равен нулю.
Для упрощения решений подобных систем уравнений была создана программа Mathcad, с набором различных встроенных функций, предназначенных для решения СЛАУ, некоторые из них, такие как lsolve, augment и submatrix, мы рассмотрим далее в работе.
Функция lsolve
В Mathcad СЛАУ можно решить в более удобной для записи форме (2), с помощью функции lsolve.
Lsolve(A,b) — это встроенная функция, которая возвращает вектор x для системы линейных уравнений при заданной матрице коэффициентов А и векторе свободных членов b.
Функцию lsolve применяют в работе с Mathcad следующим образом (скриншот 1):
создается в документе требуемая СЛАУ;
опираясь на заданную СЛАУ, создаем матрицу коэффициентов —
А необходимой размерности и матрицу свободных коэффициентов – b;
в панели инструментов выбираем необходимую нам функцию –
подставляем в выбранную функцию необходимые параметры А, b;
Скриншот 1 – применение функции lsolve в Mathcad
Функция augment
Функцию augment применяют для решения СЛАУ методами Крамера и Гаусса в программе Mathcad.
Аugment(A,B) – это встроенная функция, которая объединяет матрицы A и B в одну новую, при этом матрица B располагается справа от матрицы A, и обе матрицы должны иметь одинаковое число строк.
Функцию augment применяют в работе с Mathcad следующим образом (скриншот 2):
создается в документе требуемая СЛАУ;
опираясь на заданную СЛАУ, создаем матрицу коэффициентов –
А необходимой размерности и матрицу свободных коэффициентов – b, при этом матрица b должна располагаться справа от матрицы A;
в панели инструментов выбираем необходимую нам функцию –
подставляем в выбранную функцию необходимые параметры А, b;
получаем объединенную матрицу матриц A и b.

Скриншот 2 – применение функции augment в Mathcad
Функция submatrix
Функцию submatrix, также как и функцию augment и lsolve, применяют для решения СЛАУ в программе Mathcad.
Функция submatrix(А,_,_,_,_) – встроенная функция, с помощью которой можно выделить из заданной матрицы один столбец или строку.
Функцию submatrix применяют в работе с Mathcad следующим образом (скриншот 3):
создают матрицу, какой-либо размерности;
в панели инструментов выбираем необходимую нам функцию –
подставляем в выбранную функцию параметры, с помощью
значения которых мы хотим выделить столбцы или строки в новую матрицу;

Скриншот 3 – применение функции submatrix в Mathcad
Решение СЛАУ методом Гаусса
СЛАУ в программе Mathcad можно решать не только с помощью функции lsolve, но и с помощью рассмотренных выше функций augment и submatrix, используя следующий ход вычислений (скриншот 4):
создается в документе СЛАУ;
выбрав из встроенных функций функцию ORIGIN, присваиваем ей
значение равное единице (роль данной функции заключается в том, что в последующем решении системы, в матрицах первая строка, будет иметь первый коэффициент, равный единице);
опираясь на заданную СЛАУ, создаем матрицу коэффициентов —
А необходимой размерности и матрицу свободных коэффициентов – b;
с помощь функции augment, создаем объединенную матрицу;
выбираем из встроенных функций функцию rref, и присваиваем ей
параметр, соответствующий объединенной матрице (с помощью функции rref приводим матрицу к ступенчатому виду для дальнейшего решения);
используя функцию submatrix, находим неизвестные.

Скриншот 4 – решение СЛАУ в Mathcad методом Гаусса
Решение СЛАУ методом Крамера
СЛАУ можно решать не только методом Гаусса, но и методом Крамера. Для того чтобы произвести вычисления в программе Mathcad, достаточно двух, уже изученных нами функций: augment и submatrix.
Ход решения СЛАУ в Mathcad (скриншот 5):
создается в документе СЛАУ;
выбрав из встроенных функций функцию ORIGIN, присваиваем ей
значение равное единице;
опираясь на заданную СЛАУ, создаем матрицу коэффициентов —
А необходимой размерности и матрицу свободных коэффициентов – b;
вычисляем определитель матрицы А;
с помощью функций augment и submatrix создаем матрицы с
заменой необходимого нам столбца столбцом свободных коэффициентов – b;
вычисляем определители полученных матриц;
находим неизвестные СЛАУ по формуле Крамера:

подставляя в нее полученные значения определителей.

Скриншот 5 – решение СЛАУ в Mathcad методом Крамера
Вывод
Программа Mathcad позволяет упростить решение СЛАУ с помощью встроенных в нее функций. Так, c помощью функции lsolve, система линейных уравнений решается в одно действие. СЛАУ методом Гаусса с помощью функций augment и submatrix решается гораздо быстрей и проще, нежели это было бы на бумаге. В данной работе были приведены решения простейших систем уравнений, которые вычислить и на бумаге не составит труда, но с помощью программы Mathcad можно решить сложнейшие системы в кротчайшее время, над решениями которых человек затратит много времени. В работе были рассмотрены всего лишь несколько функций из множества приведенных в Mathcad.
Список использованных источников
1 Плис, А. И. Mathcad: математический практикум для экономистов и инженеров: учеб. пособие/ А. И. Плис, Н. А. Сливина. – М., 1999. – 656с.
2 Панферов, А. И. Применение Mathcad в инженерных расчетах: учеб. пособие/ А. И. Панферов, А. В. Лопарев, В. К. Пономарев – М., 2004. – 88с.
3 Симонович, С. В. Информатика: базовый курс: учеб. для вузов/ С. В. Симонович – Питер, 2001. – 640с.
4 Шипачев, В. С. Высшая математика: учеб./ В. С. Шипачев – М., 1998. – 479с.
5 Черненко, В. Д. Высшая математика в примерах и задачах: учеб. пособие/ В. Д. Черненко – М., 2003. – 703с.
Solving Systems of Equations in PTC Mathcad

In math and engineering, we often are left with a series of equations with an equal number of variables that we want to solve for. This is known as a system of equations. Real-world examples that require solving a system of equations include Kirchhoff’s Law for electrical resistance and aerodynamic trajectories. [That’s Kirchoff in the image above.]
PTC Mathcad has a few methods that we can use to solve for the variables. These include:
- The Solve Block construct.
- The lsolve function.
- Solving symbolically.
Let’s take a look at how to use each of these methods.
Solve Blocks
The Solve Block is a special structure in Mathcad. In addition to solving systems of equations, it can be used to perform optimizations – finding the minimum or maximum for a function – and differential equations. If you are going to use Mathcad for engineering calculations, I highly recommend you learn how to use this construct.
The Solve Block is initiated from the Math tab. It contains three different sections:
- Guess Values: in this section, you initialize the variables that you want to solve for using the Definition operator to assign a value. If I have no idea what to use, I will use a value of 1.
- Constraints: you write your system of equations here. Note that you use the Comparison operator, not the Evaluation operator, for the equals sign.
- Solver: create a vector for the variables you want to solve for. Then use the Definition operator to assign the Find function for the same variables.
Then outside of the Solve Block, evaluate the vector or individual variables to see the solutions.

I like Solve Blocks because they can be used to solve both linear and nonlinear systems of equations. A linear system is one in which the variables are all raised to the first power and the equation results in a line. In a nonlinear system, one or more variables are raised to a power higher than one.
Also, Mathcad will warn you if you have an inconsistent system of equations—that is, one for which a solution does not exist.
The lsolve Function
Mathcad has a built-in function for solving a linear system of equations called lsolve. To use lsolve, perform the following steps:
- Create a matrix that contains the coefficients of the variables in your system of equations.
- Create a vector of the constants appearing on the right-hand side of the system of equations.
- Evaluate the lsolve function using the matrix and the vector as the inputs.

You can also assign the lsolve function to a variable if desired.
Symbolic Solving
Sometimes when we have a system of equations, instead of solving them numerically, we want to solve for the variables as functions of the coefficients or constants on the right-hand side of the expressions. We can do this using the Symbolic Evaluation operator and the solve keyword. After selecting the solve keyword, type in a comma followed by the variables that you want to solve symbolically:

Now you have formulas for each of the variables.
Conclusion
Mathcad provides multiple methods for solving systems of equations. By familiarizing yourself with these tools, you can apply them to a variety of engineering and math problems. I especially recommend learning how to use Solve Blocks, as I have found them to be useful in many situations. Which method do you prefer?
Can you duplicate this? PTC Mathcad makes engineering calculations both easy and fun. More importantly, PTC Mathcad Express makes it free, so what are you waiting for?
About the Author
Dave Martin is a Creo, Windchill, and PTC Mathcad instructor and consultant. He is the author of the books “Top Down Design in Creo Parametric,” “Design Intent in Creo Parametric,” and “Configuring Creo Parametric,” all available at amazon.com. He can be reached at dmartin@creowindchill.com.
Dave currently works as the configuration manager for Elroy Air, which develops autonomous aerial vehicles for middle-mile delivery. Previous employers include Blue Origin, Amazon Prime Air, Amazon Lab126, and PTC. He holds a degree in Mechanical Engineering from MIT and is a former armor officer in the United States Army Reserves.