Элемент матрицы в маткаде

Элемент матрицы в маткаде

Практическая работа № 3

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

Предварительно матрицу нужно определить и ввести в рабочий документ MathCAD.

Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания ( + ). Затем откройте панель операций с матрицами и нажмите кнопку «Создать матрицу или вектор» или выберите в меню Вставка (Insert) команду Матрицу (Matix). В окне диалога введите число строк и столбцов и заполните значениями поле ввода матрицы.

Большинство вычислений с матрицами, как и другие вычисления в MathCAD, можно выполнять тремя способами – с помощью панелей инструментов, выбором операции в меню или обращением к соответствующей функции.

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

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

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

· X -1 – вычисление обратной матрицы

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

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

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

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

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

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

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

· — определение диапазона изменения переменной

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

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

Функции, предназначенные для решения задач линейной алгебры, собраны в разделе Векторы и матрицы (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

Функции вычисления различных числовых характеристик матриц:

· 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. Для вставки текстовых комментариев выберите в меню Вставка пункт Текстовая область или нажмите сочетание клавиш + .

Варианты заданий.

Размерность матрицы А 3*4.

;

Размерность матрицы А 5*3.

;

Размерность матрицы А 4*4.

;

Размерность матрицы А 7*4.

;

Размерность матрицы А 7*8.

;

Размерность матрицы А 7*7.

;

Размерность матрицы А 7*8.

;

Размерность матрицы А 7*5.

;

Размерность матрицы А 5*7.

;

Размерность матрицы А 5*4.

;

Размерность матрицы А 7*7.

;

Размерность матрицы А 4*5.

;

Размерность матрицы А 6*7.

;

Размерность матрицы А 6*4.

;

Размерность матрицы А 7*6.

;

Размерность матрицы А 6*5.

;

Размерность матрицы А 9*5.

;

Размерность матрицы А 7*6.

;

Размерность матрицы А 7*4.

;

Размерность матрицы А 8*4.

;

Размерность матрицы А 5*7.

;

Размерность матрицы А 5*5.

;

Размерность матрицы А 5*4.

;

Размерность матрицы А 4*5.

;

Размерность матрицы А 3*7.

;

Размерность матрицы А 5*4.

;

Можно обращаться к отдельным элементам массива, используя нижние индексы. Можно также обращаться к отдельному столбцу массива, используя верхний индекс. Чтобы напечатать нижний индекс, используйте клавишу левой скобки [ и поместите в поле целое число или пару целых чисел. Чтобы вставить оператор верхнего индекса, нажмите [Ctrl]6 и поместите в поле целое число.

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

Нижние индексы и элементы вектора

Верхнее уравнение на Рисунке 1 определяет вектор v. Чтобы увидеть нулевой элемент вектора v:

  • Напечатайте v[0=

Можно также определять отдельные элементы вектора, используя нижний индекс слева от определения. Чтобы заменить значение на 6:

  • Напечатайте v[2:6

Рисунок 2 показывает, как это выглядит.

Когда определяются элементы вектора, часть из них можно оставлять неопределенными. Например, если v не был определен, и определяется равным 10, то v0, v1, и v2 все окажутся неопределенными. Mathcad заполняет эти элементы нулями, пока в них не будут внесены необходимые значения. Иллюстрация этого приведена на Рисунке 3. Будьте внимательны: так можно нечаянно создать очень большие векторы и матрицы.

Рисунок 3: Mathcad заполняет нулями все элементы, которые явно не определены.

Нижние индексы и элементы матрицы

Чтобы просматривать или определить элемент матрицы, используйте два нижних индекса, отделяемые запятой. Вообще, чтобы обратиться к элементу в i -той строке и j-том столбце матрицы M, напечатайте:

Обратите внимание, что нижние индексы, подобно делению и возведению в степень удерживают ввод. Что бы ни печаталось после [, всё остается в нижнем индексе, пока не будет нажат [Space], чтобы выйти оттуда.

Если нужно что-то добавить в выражение, нажмите[Space], чтобы заключить все имя элемента матрицы, Mi,j , в выделяющую рамку.

Читайте также:  Почему не работают одновременно два беспроводных наушника

Рисунок 4 показывает некоторые примеры того, как определить отдельные элементы матрицы и как просмотреть их. Обратите внимание, что, как и в случае с векторами, Mathcad заполняет неопределенные элементы матрицы нулями.

Можно также определять элементы вектора или матрицы формулой типа vi :=i, где i — дискретный аргумент. См. следующую главу “Дискретные аргументы”.

Рисунок 4: Определение и просмотр элементов матрицы.

Рисунок 5: Использование оператора верхнего индекса для извлечения столбца из матрицы.

Верхние индексы и столбцы матрицы

Чтобы обратиться ко всему столбцу массива, нажмите [Ctrl]6 и поместите номер столбца в появившееся поле. Рисунок 5 ниже показывает, как присвоить вектору v значение третьего столбца матрицы M.

Можно также извлекать отдельную строку из матрицы, извлекая столбец из транспонированной матрицы. Иллюстрация этого приведена на Рисунке 5.

Изменение значения ORIGIN

По умолчанию массивы Mathcad нумеруются с нулевого элемента. Чтобы изменить этот порядок, замените значение встроенной переменной ORIGIN. Когда используются нижние индексы, Mathcad учитывает, что массивы нумеруются начиная с принятого значения ORIGIN.

Предположим, что нужно, например, чтобы все массивы начинались с первого элемента. Заменить значение ORIGIN во всем документе можно двумя способами:

  • Выбрав команду Встроенные переменные из меню Математика и заменив значение ORIGIN.
  • Введя глобальное определение для ORIGIN в любом месте рабочего документа. Например, чтобы установить значение ORIGIN равное 1, напечатайте: ORIGIN

Рисунок 6: Массивы, нумерующиеся с первого элемента вместо нулевого.

Если изменить ORIGIN на 1, Mathcad больше не будет воспринимать нулевой элемент для векторов или нулевые строки и столбцы для матриц. Рисунок 6 показывает рабочий документ с ORIGIN, равным 1. Заметьте, что при попытке обращения к Mathcad теперь сообщает об ошибке “индекс вне границ”.

При переопределении ORIGIN в рабочем документе имейте в виду следующее:

  • Если ORIGIN определяется в рабочем документе, а не с помощью команды Встроенные переменные, используйте одно глобальное определение. Хотя можно переопределять ORIGIN с помощью :=, это приведет к путанице. Если изменить ORIGIN в середине рабочего документа, Mathcad будет показывать, что массивы имеют n элементов, где n — разница между старым и новым значением ORIGIN.
  • Не забудьте, что ORIGIN нужно напечатать заглавными буквами. Хотя ORIGIN — встроенная переменная, и она не чувствительна к шрифту, все имена переменных Mathcad, в том числе и встроенных, чувствительны к регистру.
  • Когда определяется массив, Mathcad присваивает нулевое значение любым неопределенным элементам. Иллюстрацию этого см. на Рисунке 3 в этой главе.
  • Если неосторожно определить массив, начиная с первого элемента, когда ORIGIN установлен на своё значение по умолчанию, равное нулю, будут получаться неожиданные ответы от функций массива подобных mean и fft. Дело в том, что Mathcad будет автоматически определять x = 0 для всех этих массивов. Этот дополнительный элемент искажает значения, возвращаемые функциями массива. Чтобы избежать этой проблемы, выберите Встроенные переменные из меню Математика и установите ORIGIN равным 1 в диалоговом окне “Встроенные переменные”.
  • Когда ORIGIN устанавливается в диалоговом окне “Встроенные переменные”, его значение применяется ко всем массивам. Невозможно сделать так, чтобы одни массивы использовали один ORIGIN, а другие — другой.
  • Можно использовать ORIGIN, чтобы определить переменные с отрицательными нижними индексами. Если ORIGIN устанавливается равным -10, все массивы будут нумероваться с -10.
  • Если сослаться на элемент массива с нижним индексом меньшим, чем ORIGIN, Mathcad отмечает обращение к массиву сообщением об ошибке “индекс вне границ.

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter

Нижняя граница индексации в MathCAD определена системной переменной ORIGIN. По умолчанию ORIGIN=0. Значение переменной можно переопределить. Например, ORIGIN=1.

Векторы и матрицы в MathCAD можно задавать путем ввода их элементов. Для ввода индекса элемента массива используется символ – [.

Поэлементный ввод массива Х

Вводимые символы Отображаемые символы
X [ 1 Shift+: 5 X1:=5
X [ 2 Shift+: 8 X2:= 8
X [ 3 Shift+: 10 X3:= 10

Поэлементный ввод матрицы А

Вводимые символы Отображаемые символы
A [ 1,1 Shift+: 0.1 A11 := 0.1
A [ 1,2 Shift+: -2.5 A12 := -2.5
A [ 2,1 Shift+: -1.0 A21 := -1.0
A [ 2,2 Shift+: 5.2 A22 := 5.2

Для операций с матрицами и векторами предназначена панель Matrix, которая открывается щелчком по кнопке в панели математических инструментов.

ПанельMatrix содержит следующие кнопки:

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

– ввод элемента массива ;

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

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

– оператор векторизации (поэлементные операции с векторами и матрицами) ;

– определение столбца матрицы ;

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

– определение ранжированной переменной;

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

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

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

– визуализация цифровой информации.

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

1. Ввести с клавиатуры имя матрицы и знак присваивания;

2. Щелчком по кнопке открыть окно диалога:

3. Определить число строк (Rows) и число столбцов (Columns) будущей матрицы;

4. Закрыть окно диалога, щелкнув по кнопке OK;

5. Ввести элементы матрицы, установив курсор в поле ввода, которое появится справа от знака присваивания:

Читайте также:  Матрасы матрамакс отзывы покупателей форум

Функции определения матриц и операции с блоками матриц:

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

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

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

augment(A,B) – из матриц А и В формируется третья матрица, первые столбцыкоторой содержат матрицу А, а последние — матрицу В (матрицы А и В должны иметь одинаковое число строк);

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

submatrix(A,l,k,p,r) – формирует матрицу, которая является блоком матрицы А, расположенным в строках с l по k и в столбцах с p по r (l

Re(A) – возвращает матрицу (вектор) действительных частей матрицы (вектора) А с комплексными элементами;

Im(A) – возвращает матрицу (вектор) мнимых частей матрицы (вектора) А с комплексными элементами;

Функции вычисления различных числовых характеристик матриц:

last(v) – вычисление номера последнего элемента вектора v;

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

rows(A) – вычисление числа строк в матрице А;

cols(A) – вычисление числа столбцов в матрице А;

max(A) – вычисление наибольшего элемента в матрице (векторе) А;

min(A) – вычисление наименьшего элемента в матрице (векторе) А;

mean(A) – вычисление среднего значения матрицы (вектора) А;

tr(A) – вычисление следа (суммы диагональных элементов) квадратной матрицы А;

ranc(A) – вычисление ранга матрицы А;

Функции, реализующие численные алгоритмы:

rref(A) – приведение матрицы А к ступенчатому виду;

geninv(A) – вычисляет матрицу, левую обратную к матрице А, L∙A=E, где Е – единичная матрица размером n×n, L – прямоугольная матрица размером n×m, А – прямоугольная матрица размером m×n;

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

lu(A) – выполняет треугольное разложение матрицы А: A=С∙L∙U, где L и U – соответственно нижняя и верхняя треугольные матрицы, все четыре матрицы квадратные и одного порядка;

qr(A) – выполняет разложение матрицы А: A=Q∙R, где Q – ортогональная матрица, а R – верхняя треугольная матрицы;

cholesky(A) – выполняет разложение матрицы А по схеме Холецкого: А=L∙L T , где А — квадратная, симметричная, положительно определенная матрица, L – треугольная матрица;

sort(v) – сортировка элементов вектора v в порядке возрастания их значений;

reverse(v) – перестановка элементов вектора v в обратном порядке;

csort(A,n) – перестановка строк матрицы А таким образом, чтобы отсортированным оказался n-й столбец;

rsort(A,n) – перестановка столбцов матрицы А таким образом, чтобы отсортированной оказалась n-я строка.

ЗАДАЧА 1. Сформировать матрицу H из элементов матрицы D, исключив третий столбец и вторую строку.

ЗАДАЧА 2. Сформировать матрицу H следующим образом. Первая и последняя строки равны строкам матрицы D, остальные совпадают с матрицей C.

ЗАДАЧА 3. Сформировать матрицу таким образом, чтобы элементы на главной диагонали были равны 1, выше главной диагонали – 2, а ниже – 3.

ЗАДАЧА 4. Элементы матрицы формируются по формуле . Сформировать вектор из максимальных элементов столбцов матрицы А. Найти сумму элементов матрицы, расположенных в четных строках.

ЗАДАЧА 5. Выполнить действия над матрицами А, В, С:

ЗАДАЧА 6. Решить систему линейных уравнений при помощи правила Крамера:

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

1. Сформировать матрицу системы А и вектор правых частей b.

2. Вычислить главный определитель .

3. Сформировать вспомогательные матрицы (удобно скопировать матрицу А несколько раз и последовательно заменять в ней столбцы на вектор b) для вычисления определителей i;

4. Вычислить определители i;

5. Найти решение системы по формуле xi=∆i/∆.

ЗАДАЧА 7. Решить систему линейных уравнений методом обратной матрицы.

1. Сформировать матрицу коэффициентов и вектор свободных членов системы.

2. Решить систему, представив вектор неизвестных как произведение матрицы, обратной к матрице системы и вектора свободных членов.

ЗАДАЧА 8. Решить систему линейных уравнений методом Гаусса.

Порядок решения задачи:

1. Сформировать матрицу коэффициентов и вектор свободных членов заданной системы.

2. Сформировать расширенную матрицу системы при помощи функции augment(A,b);

3. Используя функцию rref(A), привести расширенную матрицу к ступенчатому виду.

4. Получить решение системы, выделив последний столбец матрицы, полученной в предыдущем пункте.

5. Выполнить проверку Ax-B=0.

ЗАДАЧА 9. Решить систему при помощи функции lsolve:

Пример системы, которая не имеет решений:

Пример системы, которая имеет бесконечное множество решений

ЗАДАЧА 10. Решить систему при помощи решающего блока.

Решающий блок начинается с ключевого слова Given (Дано), которое необходимо ввести с клавиатуры.

Правее и ниже ключевого слова записываются уравнения системы.

Знак равенства в уравнениях вводится при помощи клавиш Ctrl+= или выбирается на панели инструментов Boolean.

Правее и ниже последнего уравнения системы вводится функция Find(x1,x2,…xn) (Найти), в скобках перечисляются имена переменных, значения которых нужно найти.

Численное решение системы можно получить, поставив знак равенства после функции Find(x1,x2,…xn).

Символьное решение получится, если после функции Find(x1,x2,…xn) указать знак стрелки, который находится в панели инструментов Symbolic (Ctrl+.).

Ссылка на основную публикацию
Что является почтовым адресом
Как известно, Правилами ведения журналов учета полученных и выставленных счетов-фактур, книг покупок и книг продаж при расчетах по налогу на...
Что написать о себе в инстаграмме девушке
Вроде как и всё ясно, но в самом деле, как только доходит до дела, написать о себе в Инстаграм, у...
Что нового в айос 12 1
Apple выпустила iOS 12.1.1 − скорее всего, последнюю публичную сборку iOS 12 в этом году. Хотя это обновление по большей...
Что читает pdf формат
Существует множество инструментов, позволяющих прочесть формат PDF: от небольших утилит до онлайн сервисов и специализированных программных продуктов. Просто для прочтения,...
Adblock detector