Практическая работа № 3
В задачах линейной алгебры практически всегда возникает необходимость выполнять различные операции с матрицами.
Предварительно матрицу нужно определить и ввести в рабочий документ MathCAD.
Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания (<Shift>+<:>). Затем откройте панель операций с матрицами и нажмите кнопку «Создать матрицу или вектор» или выберите в меню Вставка (Insert) команду Матрицу (Matix). В окне диалога введите число строк и столбцов и заполните значениями поле ввода матрицы.
Большинство вычислений с матрицами, как и другие вычисления в MathCAD, можно выполнять тремя способами – с помощью панелей инструментов, выбором операции в меню или обращением к соответствующей функции.
За кнопками на панели инструментов Матрицы закреплены следующие функции:
· определение размеров матрицы
· Xn – ввод нижнего индекса
· X-1 – вычисление обратной матрицы
· |X| - вычисление определителя матрицы: ; вычисление длины вектора
· поэлементные операции с матрицами: если , то
· M<> – определение столбца матрицы: M<j> - j-й столбец матрицы
· MT – транспонирование матрицы:
· - вычисление скалярного произведения векторов:
· - вычисление векторного произведения двух векторов:
· - вычисление суммы компонент вектора: ;
· - определение диапазона изменения переменной
· визуализация цифровой информации, сохраненной в матрице.
Для того, чтобы выполнить какую-либо операцию с помощью панели инструментов, нужно выделить матрицу и щелкнуть в панели по кнопке операции либо щелкнуть по кнопке в панели и ввести в помеченной позиции имя матрицы.
Функции, предназначенные для решения задач линейной алгебры, собраны в разделе Векторы и матрицы (Vector and Matrix); их можно разделить на три группы: функции определения матриц и операции с блоками матриц, функции вычисления различных числовых характеристик матриц и функции, реализующие численные алгоритмы решения задач линейной алгебры.
Функции определения матриц и операции с блоками матриц:
· matrix(m, n, f) – создает и заполняет матрицу размерности m x n, элемент которой, расположенный в i-ой строке, j-ом столбце, равен значению f(i,j) функции f(x,y);
· diag(v) – создает диагональную матрицу, элементы главной диагонали хранятся в векторе v;
· identity(n) – создает единичную матрицу порядка n;
· augment(A, B) – формирует матрицу, в первых столбцах которой содержится матрица A, а в последних – матрица B (матрицы A и B должны иметь одинаковое число строк);
· stack(A, B) – формирует матрицу, в первых строках которой содержится матрица A, а в последних – матрица B (матрицы A и B должны иметь одинаковое число столбцов);
· submatrix(A, ir, jr, ic, jc) – формирует матрицу, которая является блоком матрицы A, расположенным в строках с ir по jr и в столбцах с ic по jc (ir<=jr, ic<=jc).
Номер первой строки (столбца) матрицы или первой компоненты вектора хранится в MathCAD в переменной ORIGIN. По умолчанию в MathCAD координаты векторов, столбцы и строки матрицы нумеруются, начиная с 0 (ORIGIN:=0). Поскольку в математической записи чаще всего используется нумерация с 1, перед началом работы с матрицами будем определять значение переменной ORIGIN равным 1, т.е. будем, прежде всего, выполнять команду ORIGIN:=1.
Функции вычисления различных числовых характеристик матриц:
· last(v) – вычисление номера последней компоненты вектора V;
· length(v) – вычисление количества компонент вектора V;
· rows(A) – вычисление числа строк в матрице A;
· cols(A) – вычисление числа столбцов в матрице A;
· max(A) – вычисление наибольшего элемента в матрице A;
· min(A) – вычисление наименьшего элемента в матрице A;
· tr(A) – вычисление следа квадратной матрицы A (след матрицы равен сумме ее диагональных элементов);
· rank(A) – вычисление ранга матрицы A;
· norm1(A), norm2(a), norme(A), normi(A) – вычисление норм квадратной матрицы A.
Функции, реализующие численные алгоритмы решения задач линейной алгебры:
· rref(A) – приведение матрицы к ступенчатому виду с единичным базисным минором (выполняются элементарные операции со стоками матрицы);
· eigenvals(A) – вычисление собственных значений квадратной матрицы A;
· eigenvecs(A) – вычисление собственных векторов квадратной матрицы A; значением функции является матрица, столбцы которой есть собственные векторы матрицы A, причем порядок следования векторов отвечает порядку следования собственных значений, вычисленных функцией eigenvals(A);
· eigenvec(A, l) – вычисление собственного вектора матрицы A, отвечающего собственному значению l;
· lsolve(A, b) – решение системы линейных алгебраических уравнений Ax=b.
Вычисления с использованием описанных функций выполняются стандартным для MathCAD способом. Чтобы обратиться к функции, введите с клавиатуры имя функции, перечислите в скобках ее аргументы, введите знак равенства и щелкните по свободному месту в рабочем документе вне выделяющей рамки. Результат вычислений (число, вектор, матрица) будет отображен в рабочем документе справа от знака равенства.
Если предполагается использовать результаты в дальнейших вычислениях, им следует присвоить имя. Для этого введите с клавиатуры имя переменной и знак присваивания, а справа от него – имя функции со списком аргументов в круглых скобках. Если теперь ввести с клавиатуры имя переменной, знак равенства и щелкнуть по свободному месту в рабочем документе вне выделяющей рамки, то результат вычислений будет отображен справа от знака равенства.
Имя функции можно вставить из списка: щелкните по месту вставки, затем по строке Функция (Function) меню Вставка (Insert), выберите в окне списка стрелками прокрутки нужную функцию и подтвердите выбор щелчком по кнопке OK в окне диалога.
Вычисления могут производиться в двух режимах – автоматическом и последовательном. В первом случае операция выполняется сразу после ввода команды и щелчка по рабочему документу вне выделяющей рамки, во втором – после команды Вычислить (Calculate). Режим вычислений устанавливается в меню Математика (Math). По умолчанию включен режим автоматических вычислений.
MathCAD читает и выполняет введенные выражения слева направо и сверху вниз, поэтому следите, чтобы выражение для вычисления располагалось правее и ниже определенных для него значений переменных.
Задание
1. Создать матрицу А заданной размерности n*m (матрицу заполнить самостоятельно).
2. Транспонировать матрицу А.
3. Вычленить из матрицы А i-ый и j-ый столбцы и найти их сумму и скалярное произведение.
4. Применить к каждому элементу матрицы А функцию z(x).
Указания
1. В начале работы переменной ORIGIN присвоить значение 1. Для выполнения операций над матрицей пользоваться панелью инструментов Матрицы, для вставки функций пользоваться меню Вставка – Функция или соответствующей кнопкой панели инструментов Стандартная.
2. Для выполнения 4 задания необходимо:
· Записать функцию z(x) в общем виде.
· Переменным i и j присвоить диапазоны значений: .
· Вычислить элементы новой матрицы Z как значения функции z(x), где в качестве переменной x подставляется элемент матрицы A: .
· Просмотреть полученную матрицу Z (набрать с клавиатуры Z=).
3. Для записи функции, заданной с условиями необходимо:
· Записать диапазон изменения аргументов x и y: (значения n и m должны быть описаны выше).
· Записать «f(x,y):=», затем на панели инструментов «Программирование » нажать кнопку «Add line ». В поле ввода функции появится вертикальная черта с метками для ввода.
· В верхней метке набрать первое значение функции, а затем нажать кнопку «if », появится служебное слово if и метка для ввода условия. Для применения логической операции «И» для нескольких логических выражений ставится знак «*», а для операции «ИЛИ» – знак «+».
· В нижней метке набрать второе значение функции и нажать кнопку «otherwise » (иначе). Щелкнуть за пределами поля ввода функции для завершения записи.
4. Для исследования однородной системы уравнений необходимо вычислить определитель матрицы коэффициентов. Если определитель не равен 0, то система нетривиально совместна и имеет более одного решения (в том числе нулевые). Справедливо также утверждение: для того, чтобы однородная система была нетривиально совместна, необходимо и достаточно, чтобы ранг матрицы системы был меньше числа неизвестных n. Таким образом, если |C|≠0 и rank(C)≤n, то система тривиально совместна и имеет только одно нулевое решение.
5. Для вставки текстовых комментариев выберите в меню Вставка пункт Текстовая область или нажмите сочетание клавиш <Shift>+<”>.
Варианты заданий.
Вариант 1
Размерность матрицы А 3*4.
i=2; j=3;
;
Вариант 2
Размерность матрицы А 5*3.
i=1; j=2;
;
Вариант 3
Размерность матрицы А 4*4.
i=1; j=2;
;
Вариант 4
Размерность матрицы А 7*4.
i=3; j=2;
;
Вариант 5
Размерность матрицы А 7*8.
i=5; j=6;
;
Вариант 6
Размерность матрицы А 7*7.
i=4; j=6;
;
Вариант 7
Размерность матрицы А 7*8.
i=5; j=2;
;
Вариант 8
Размерность матрицы А 7*5.
i=4; j=2;
;
Вариант 9
Размерность матрицы А 5*7.
i=5; j=3;
;
Вариант 10
Размерность матрицы А 5*4.
i=1; j=3;
;
Вариант 11
Размерность матрицы А 7*7.
i=4; j=6;
;
Вариант 12
Размерность матрицы А 4*5.
i=4; j=2;
;
Вариант 13
Размерность матрицы А 6*7.
i=4; j=1;
;
Вариант 14
Размерность матрицы А 6*4.
i=3; j=2;
;
Вариант 15
Размерность матрицы А 7*6.
i=5; j=4;
;
Вариант 16
Размерность матрицы А 6*5.
i=4; j=1;
;
Вариант 17
Размерность матрицы А 9*5.
i=2; j=3;
;
Вариант 18
Размерность матрицы А 7*6.
i=4; j=5;
;
Вариант 19
Размерность матрицы А 7*4.
i=6; j=3;
;
Вариант 20
Размерность матрицы А 8*4.
i=1; j=3;
;
Вариант 21
Размерность матрицы А 5*7.
i=4; j=3;
;
Вариант 22
Размерность матрицы А 5*5.
i=4; j=2;
;
Вариант 23
Размерность матрицы А 5*4.
i=1; j=2;
;
Вариант 24
Размерность матрицы А 4*5.
i=4; j=2;
;
Вариант 25
Размерность матрицы А 3*7.
i=4; j=3;
;
Вариант 26
Размерность матрицы А 5*4.
i=1; j=3;
;