Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математический редактор MathCAD (ЛЕКЦИЯ 3).doc
Скачиваний:
12
Добавлен:
13.11.2018
Размер:
169.47 Кб
Скачать

13 Выделение части матрицы

Часть матрицы выделяется одним из следующих способов:

1) для выделения одного элемента предназначен оператор нижнего индекса. Оператор вводится нажатием кнопки Subscript (Нижний индекс) со значком xn на панели Matrix (Матрица), либо нажатием клавиши [;

2) для выделения из матрицы столбца примените оператор выделения столбца нажатием кнопки Matrix Column (Столбец матрицы) с изображением угловых скобок <> на панели Matrix (Матрица), либо сочетанием клавиш Ctrl + 6. Этот оператор называют еще, по аналогии с предыдущим, оператором верхнего индекса;

3) чтобы выделить из матрицы строку, примените тот же оператор <> к транспонированной матрице;

4) для выделения подматрицы используйте встроенную функцию submatrix(A, ir, jr, ic, js), возвращающую часть матрицы A, находящуюся между строками ir, jr и столбцами ic, jc включительно.

Примечание: выделить из матрицы один столбец или одну строку можно и с помощью функции submatrix; нумерация строк и столбцов ведется в MathCAD с нуля.

14 Слияние матриц

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

1) augment(A, B, C, …) – матрица, сформированная слиянием матриц – аргументов слева направо;

2) stack(A, B, C, …) – матрица, сформированная слиянием матриц – аргументов сверху вниз, где A, B, C, … - векторы или матрицы соответствующего размера.

Задание: Составьте из двух матриц и одну двумя способами.

Решение:

15 Размер матрицы

Для получения сведений о характеристиках матриц или векторов предусмотрены следующие встроенные функции:

1) rows(A) – число строк;

2) cols(A) – число столбцов;

3) length(V) – число элементов вектора;

4) last(V) – индекс последнего элемента вектора, где A – матрица или вектор, V – вектор.

16 Сортировка матриц

Часто бывает нужно переставить элементы матрицы или вектора, расположив их в определенной строке или столбце в порядке возрастания или убывания. Для этого имеются несколько встроенных функций, которые позволяют гибко управлять сортировкой матриц:

1) sort(V) – сортировка элементов вектора в порядке возрастания;

2) csort(A, i) – сортировка строк матрицы выстраиванием элементов i – го столбца в порядке возрастания;

3) rsort(A, i) – сортировка столбцов матрицы выстраиванием элементов i – ой строки в порядке возрастания;

4) reverse(V) – перестановка элементов вектора в обратном порядке, где V – вектор; A – матрица; i – индекс строки или столбца.

Если элементы матриц или векторов комплексные, то сортировка ведется по действительной части, а мнимая часть игнорируется.

Задание: Для матрицы выполните сортировку элементов по первому и нулевому столбцу.

Решение:

17 Системы линейных алгебраических уравнений

Центральным вопросом вычислительной линейной алгебры является решение СЛАУ, т.е. систем уравнений вида ai1*x1+ai2*x2+…+aiN*xN = bi.

В матричной форме СЛАУ записывается в эквивалентном виде: A*x = b, где A – матрица коэффициентов СЛАУ размером M×N; x – вектор неизвестных; b – вектор правых частей уравнений.

СЛАУ имеет единственное решение, если матрица A является невырожденной, т.е. ее определитель не равен нулю. С вычислительной точки зрения, решение СЛАУ с квадратной матрицей не представляет трудностей, если она не очень велика. В Mathcad СЛАУ можно решить как в более наглядной форме, так и в более удобной для записи форме. Для первого способа следует использовать вычислительный блок Given/Find , а для второго – встроенную функцию lsolve:

lsolve(A, b) – решение системы линейных уравнений, где A – матрица коэффициентов системы; b – вектор правых частей.

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

Решение: