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

Для решения систем линейных уравнений используется внутренняя функция lsolve.

Пусть дана система уравнений:

Для ее решения следует определить матрицу коэффициентов, которая не должна быть вырожденной:

а также указать вектор свободных коэффициентов:

Решение:

Хорошей альтернативой решению систем в матричной форме является так называемый solve block (Блок решения). Он удобен тем, что при его использовании уравнения записываются не в матричной, а в обычной форме, а также тем, что позволяет решать нелинейные уравнения и вводить ограничительные условия для определяемого решения. Блок решения применяется как для нахождения численного решения, так и для отыскания решения в символьном виде.

Синтаксис Блока решения:

Уравнения

Ограничительные условия

– возвращает значение одной

или ряда переменных для точного решения

– переменные, которые надо найти.

Последовательность действий при численном решении:

Задаем начальные (стартовые) значения для искомых переменных.

Заключаем уравнения в блок решения, начинающийся ключевым словом и заканчивающийся ключевым словом

Если после слова ввести знак равенства [=], Mathcad выдаст численное решение.

При символьном решении не надо вводить начальные значения, а после ключевого слова вместо знака равенства следует ввести символьный знак равенства (при помощи комбинации [Ctrl+.] или соответствующей пиктограммы панели Evaluation).

Матрицы

Панель операторов с матрицами находится на панели Math.(рис. 4)

Рис.4. Панель операторов с матрицами.

кнопками панели закреплены следующие функции:

– определение размеров матрицы;

– ввод нижнего индекса;

– вычисление обратной матрицы;

– вычисление определителя матрицы: ; вычисление длины вектора ;

— поэлементные операции с матрицами: если , то ;

– определение столбца матрицы: j -й столбец матрицы M;

– транспонирование матрицы:

– вычисление скалярного произведения векторов: ;

— вычисление векторного произведения векторов:

– вычисление суммы компонент вектора: ;

– определение диапазона изменения переменной;

– визуализация цифровой информации, сохраненной в матрице.

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

- функции определения (генерации) матриц и операции с блоками матриц;

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

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

Первая группа:

1. matrix(m, n, f) – создает и заполняет матрицу размерности , элемент которой, расположенный в i-ой строке и j-ом столбце равен значению функции ;

2. diag(v) – создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе v;

3. identity(n) – создает единичную матрицу порядка n;

4. augment(A, B)–объединяет матрицы A и B; матрица B располагается справа от матрицы A, при этом матрицы должны иметь одинаковое число строк;

5. stack(A, B) – объединяет матрицы A и B, матрица В располагается внизу под матрицей А, при этом матрицы должны иметь одинаковое число столбцов;

6. submatrix(A, ir, jr, ic, jc) – формирует матрицу, которая является блоком матрицы А, расположенным в строках с ir по jr и в столбцах с ic по jc, причем ir £ jr, ic £ jc.

На рисунке 5 изображены некоторые из приведенных выше функций в действии.

Вторая группа:

1. rref(A) – приведение матрицы к ступенчатому виду с единичным базисным минором (выполняются элементарные операции со строками матрицы: перестановка строк, умножение строки на число, сложение строк);

2. rank(A) – вычисляет ранг матрицы А (количество линейно-независимых строк или это число ненулевых строк ступенчатой матрицы rref(A));

 

Рис. 5. Операции с матрицами.

 

3. eigenvals(A)– вычисление собственных значений квадратной матрицы А;

4. eigenvecs (A)– вычисление собственных векторов квадратной матрицы А, значением функции является матрица, столбцы которой есть собственные векторы матрицы А, причем порядок следования векторов отвечает порядку следования собственных значений, вычисленных с помощью функции eigenvals(A);

5. eigenvec(A,e) – вычисление собственного вектора матрицы А, отвечающего собственному значению e;

6. normi(A)– max – норма, или ¥ - норма (infinity norm). в линейной алгебре используются различные матричные нормы, которые ставят в соответствие матрице некоторую скалярную числовую характеристику;

7. lsolve (A,b)– решение системы линейных алгебраических уравнений вида .

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

На рисунке 6 изображены некоторые из приведенных выше функций в действии.

Рис. 6. Операции с матрицами.

 

В самом простом виде задача на собственные значения матрицы формулируется следующим образом: требуется найти такие значения , чтобы матричное уравнение имело решение. В таком случае число называют собственным числом матрицы А, а n – компонентный вектор Х, приводящий уравнение с заданным в тождество – собственным вектором. В вышеприведенном примере собственные вектора матрицы А получены в матрице MS. Проверка проведена для первого столбца матрицы MS и соответствующего ему собственного числа