Практическая работа № 1
Тема: «Решение систем линейных алгебраических уравнений».
Задание: Решить СЛАУ с помощью встроенной функции lsolve(M,V) и с помощью блока GIVEN…Find(x1,x2,x3). Результаты сравнить. Для проверки правильности вычислений предусмотреть вычисление невязок.
Билет №19

Практическая работа № 2
Построение графиков в MathCAD
1. Построить график параметрически заданной функции при значениях конcтант а, b, . Оси графика – х и y, которые зависят от аргумента t или .
2. Сравнить график с построенным графиком в электронной таблице Excel
19
-
Название
кривой
|
Вид
графика
|
Параметрические уравнения
|
Диапазон
аргумента
|
Значения констант
|
Спираль
|
|
x = atcos t
y = btsin t
|
t 0 10
Шаг 0.5
|
a = 2
b = 2
|
Работа с матрицами в MathCAD
В задачах линейной алгебры практически всегда возникает необходимость выполнять различные операции с матрицами.
Предварительно матрицу нужно определить и ввести в рабочий документ MathCAD.
Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания (+<:>). Затем откройте панель операций с матрицами и нажмите кнопку «Создать матрицу или вектор» или выберите в меню Вставка (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 читает и выполняет введенные выражения слева направо и сверху вниз, поэтому следите, чтобы выражение для вычисления располагалось правее и ниже определенных для него значений переменных.
Задание
-
Создать матрицу А заданной размерности n*m (матрицу заполнить самостоятельно).
-
Транспонировать матрицу А.
-
Вычленить из матрицы А i-ый и j-ый столбцы и найти их сумму и скалярное произведение.
-
Применить к каждому элементу матрицы А функцию z(x).
Указания
-
В начале работы переменной ORIGIN присвоить значение 1. Для выполнения операций над матрицей пользоваться панелью инструментов Матрицы, для вставки функций пользоваться меню Вставка – Функция или соответствующей кнопкой панели инструментов Стандартная.
-
Для выполнения 4 задания необходимо:
-
Записать функцию z(x) в общем виде.
-
Переменным i и j присвоить диапазоны значений:
.
-
Вычислить элементы новой матрицы Z как значения функции z(x), где в качестве переменной x подставляется элемент матрицы A:
.
-
Просмотреть полученную матрицу Z (набрать с клавиатуры Z=).
-
Для записи функции, заданной с условиями необходимо:
-
Записать диапазон изменения аргументов x и y:
(значения n и m должны быть описаны выше).
-
Записать «f(x,y):=», затем на панели инструментов «Программирование» нажать кнопку «Add line». В поле ввода функции появится вертикальная черта с метками для ввода.
-
В верхней метке набрать первое значение функции, а затем нажать кнопку «if», появится служебное слово if и метка для ввода условия. Для применения логической операции «И» для нескольких логических выражений ставится знак «*», а для операции «ИЛИ» – знак «+».
-
В нижней метке набрать второе значение функции и нажать кнопку «otherwise» (иначе). Щелкнуть за пределами поля ввода функции для завершения записи.
-
Для исследования однородной системы уравнений необходимо вычислить определитель матрицы коэффициентов. Если определитель не равен 0, то система нетривиально совместна и имеет более одного решения (в том числе нулевые). Справедливо также утверждение: для того, чтобы однородная система была нетривиально совместна, необходимо и достаточно, чтобы ранг матрицы системы был меньше числа неизвестных n. Таким образом, если |C|≠0 и rank(C)≤n, то система тривиально совместна и имеет только одно нулевое решение.
Для вставки текстовых комментариев выберите в меню
Вставка пункт
Текстовая область или нажмите сочетание
Вариант 19
Размерность матрицы А 7*4.
i=6; j=3;

;
Решение уравнений средствами MathCad
Функции для решения уравнений
Имя функции
|
Описание
|
Пример
|
x0=root(f(х1,x2,…),х1,a,b)
|
Возвращает значение х1, принадлежащее отрезку [a,b], при котором выражение или функция f(х) обращается в 0.
f(х1,x2,…) – функция, определенная где-либо в рабочем документе, или выражение.
х1 – имя переменной, которая используется в выражении. Этой переменной перед использованием функции root необходимо присвоить числовое значение. MATHCAD использует его как начальное приближение при поиске корня.
a, b – необязательные аргументы, диапазон поиска (уточнения) корня, причем a |
f(x):=sin(x)-1+x – описываем функцию
x:=1 – начальное приближение
x0=root(f(х),х)
x0=0.511 – решение уравнения
|
Given f(x)=0 x0=find(x)
|
Находит решения уравнений и неравенств, указанных в предшествующем блоке решения. Решает системы уравнений.
|
x:=1 – начальное приближение
Given – открывает блок решения
sin(x)-1+x=0 – уравнение
x0=find(x) – Конец блока решения
x0=0.511 – решение уравнения
|
Given f(x)=0
x0=minerr(x)
|
Находит решения уравнений и неравенств, указанных в предшествующем блоке решения. Если решение найти не удается, минимизируется общая погрешность. Эту функцию удобно использовать для минимизации погрешности в методе наименьших квадратов.
|
x:=1 – начальное приближение
Given – открывает блок решения
sin(x)-1+x=0 – уравнение
x0=minerr(x) – Конец блока решения
x0=0.511 – решение уравнения
|
X:=polyroots(V)
|
Нахождение корней уравнения для полиномиального вида функции.
V – вектор, составленный из коэффициентов полинома. Поскольку полином степени N имеет ровно N корней, вектор V должен состоять из N+1 элемента. Результатом действия функции polyroots является вектор, составленный из N корней рассматриваемого полинома. При этом нет надобности вводить какое-либо начальное приближение, как для функции root. Вектор V удобно создавать использую команду Символы / Коэффициенты полинома.
|
f(x)=8x2-10x+3
– описание вектора коэффициентов
X:=polyroots(V)
– решения уравнения
|
Варианты заданий
19
|
|
|