Министерство Топлива и Энергетики Украины
СЕВАСТОПОЛЬСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ
ЯДЕРНОЙ ЭНЕРГИИ И ПРОМЫШЛЕННОСТИ
Практическое занятие №1
по дисциплине
«Использование ЭВМ в инженерных расчетах электротехнических систем»
Тема :ЭВМ С ИСПОЛЬЗОВАНИЕМ МАТЕМАТИЧЕСКОГО ПАКЕТА MathCad В СРЕДЕ WINDOWS 98 ДЛЯ ИСПОЛЬЗОВАНИЯ МАТРИЧНОЙ АЛГЕБРЫ В РАСЧЕТАХ ЭЛЕКТРОТЕХНИЧЕСКИХ СИСТЕМ.
Вариант №8
Выполнил: студент группы ЭСЭ 22-В
Левицкий П.В.
Проверил:_______________________
Севастополь 2008
ПЛАН
1. Данные варианта задания
2. АЛГЕБРА МАТРИЦ
2.1 Установка шаблонов вектора и матрицы
2.2 Задание численных и символьных элементов вектора и матрицы без применения шаблонов
2.3 Использование векторных и матричных операторов и функций
2.3.1 Операции умножения и деления
а) умножение матрицы на скалярное число
б) умножение вектора на скалярное число
в) скалярное произведение двух векторов
г) умножение матрицы на вектор и матрицу
д) деление матрицы на скалярное число
2.3.2 Операции сложения
а) в символьном виде
б) в числовом виде
2.3.3 Транспонирование матриц и векторов
2.3.4 Вычисление нормы
2.3.5 Векторизация
2.3.6 Вычисление встроенных функций вектора. Определение количества строк, столбцов, числа элементов вектора, индекс последнего элемента вектора, минимального и максимального элемента
2.3.7 Обращение
2.3.8 Определение следа
2.3.9 Определитель матрицы
2.3.10 Смена знаков у элементов матрицы и вектора
2.3.11 Задание комплексной матрицы и определение комплексно-сопряженной матрицы. Выделение вещественных и мнимых составляющих элементов матрицы и восстановление комплексной матрицы по заданным матрицам из вещественных и мнимых элементов
2.3.12 Операции со строками и столбцами матрицы
2.3.13 Объединение матрицы с вектором и матрицы с матрицей
2.3.14 Сортировка элементов вектора и матрицы
2.3.15 Разложение матрицы на треугольную, ортогональную
2.4 Использование матричных функций
2.4.1 Собственные значения и векторы собственных значений матрицы
2.4.2 Нахождение матрицы векторов собственных значений матрицы
2.4.3 Приведение заданной матрицы к диагональному виду
3. Выводы по работе
1. Данные варианта задания
Коэффициенты квадратной матрицы А и вектора b
Таблица1. Коэффициенты квадратной матрицы А и вектора b.
№ вар |
Ко э ф ф и ц и е н т ы к в а д р а т н о й м а т р и ц ы А и в е к т о р а b с и с т е м ы л и н е й н ы х а л г е б р а и ч е с к и х у р а в н е н и й |
|||||||||||||||||||
а11 | а12 | а13 | а14 | а21 | а22 | а23 | а24 | а31 | а32 | а33 | а34 | а41 | а42 | а43 | а44 | b1 | b2 | b3 | b4 | |
8 | 2,4 | 1,4 | 1,6 | 1,8 | 2,6 | 12 | 0,6 | 4,0 | -0,8 | 0,85 | 0,1 | 0,2 | 0,4 | 1,2 | 1,0 | 1,5 | 0,1 | 0,2 | -0,4 | 0,6 |
2. АЛГЕБРА МАТРИЦ
2.1 Установка шаблонов вектора и матрицы
Вводим пиктограмму с изображением шаблона матрицы. Выбираем количество строк и столбцов. Вводим элементы матрицы согласно табл. 1.
-матрица -вектор-столбец -вектор-строка
Задание численных и символьных элементов вектора и матрицы
без применения шаблонов
Индекс вводится с помощью знака [ или с помощью панели векторов и матриц - значок Xn.
- вектор- столбец
- вектор-строка
Задание нулевой матрицы: Задание единичной матрицы:
Таблица 2. Задание элементов матрицы.
Сопоставим элементы матрицы с вариантом задания.
2.3 Использование векторных и матричных операторов и функций
2.3.1 Операции умножения и деления
а) умножение матрицы на скалярное число
Произведение матрицы А на число (или числа на матрицу А) называется матрица С того же размера, что и А, элементы которой равны произведению соответствующих элементов матрицы А на число .
С = А= А =
б) умножение вектора на скалярное число
в) скалярное произведение двух векторов.
Скалярным произведением двух векторов называется число, равное произведению их длин на косинус угла между ними.
г) умножение матрицы на вектор и матрицу.
4 столбца
произведение определено в случае , т.е. когда число столбцов множимого равно числу строк множителя.
4 строки
При умножении единичной матрицы на матрицу А слева или справа получится матрица А:
д) деление матрицы на скалярное число
2.3.2 Операции сложения.
а) в символьном виде
б) в числовом виде.
2.3.3 Транспонирование матриц и векторов
Пользуемся панелью векторов и матриц. Значок М или <Ctrl>+<1>.
Вектор-столбец транспонирован в строку
Строки матриц транспонированы в столбцы.
2.3.4 Вычисление нормы
В линейной алгебре используются различные матричные нормы (norm), которые ставят в соответствие матрице некоторую скалярную числовую характеристику. Норма матрицы отражает порядок величины матричных элементов. В разных специфических задачах линейной алгебры применяются различные виды норм. Mathcad имеет четыре встроенные функции для расчета разных норм квадратных матриц:
norm1 (A) — норма в пространстве L1;
norm2 (A) — норма в пространстве L2;
norme(A) — евклидова норма (euclidean norm);
normi (A) — max-норма, или норма (infinity norm);
А — квадратная матрица.
2.3.5 Векторизация
Векторная алгебра Mathcad включает несколько необычный оператор, который называется оператором векторизации (vectorize operator). Этот оператор предназначен, как правило, для работы с массивами. Он позволяет провести однотипную операцию над всеми элементами массива (т. е. матрицы или вектора), упрощая тем самым программирование циклов. Например, иногда требуется умножить каждый элемент одного вектора на соответствующий элемент другого вектора. Непосредственно такой операции в Mathcad нет, но ее легко осуществить с помощью векторизации. Для этого: 1.Вводим векторное выражение (символ умножения обозначает оператор скалярного произведения векторов). 2.Переместим курсор так, чтобы линии ввода выделяли все выражение, которое требуется подвергнуть векторизации.3.Введём оператор векторизации, нажав кнопку Vectorize (Векторизация) на панели Matrix (Матрица), или сочетанием клавиш <Ctrl>+<->, и <=>, чтобы получить результат.
или
Оператор векторизации можно использовать только с векторами и матрицами одинакового размера.
Большинство неспецифических функций Mathcad не требуют векторизации для проведения одной и той же операции над всеми элементами вектора. Например, аргументом тригонометрических функций по определению является скаляр. Если попытаться вычислить синус векторной величины, Mathcad осуществит векторизацию по умолчанию, вычислив синус каждого элемента и выдав в качестве результата соответствующий вектор.
2.3.6 Вычисление встроенных функций вектора
Определение количества строк, столбцов, числа элементов вектора, индекс последнего элемента вектора, минимального и максимального элемента вектора.
2.3.7 Обращение
Поиск обратной матрицы возможен, если матрица квадратная и ее определитель не равен нулю. Произведение исходной матрицы на обратную по определению является единичной матрицей. Для ввода оператора поиска обратной матрицы нажмём кнопку Inverse (Обратная матрица) на панели инструментов Matrix (Матрица).
2.3.8 Определение следа
суммирования диагональных элементов квадратной матрицы. Эту сумму называют следом (trace) матрицы. Данная операция организована в виде встроенной функции tr:
tr (A) — след квадратной матрицы А.
2.3.9 Определитель матрицы
Определитель (Determinant) матрицы обозначается стандартным математическим символом. Чтобы ввести оператор нахождения определителя матрицы можно нажать кнопку Determinant (Определитель) на панели инструментов Matrix (Матрица) или набрать на клавиатуре <|> (нажав клавиши <Shift>+<\>). В результате любого из этих действий появляется местозаполнитель, в который следует поместить матрицу.
2.3.10 Смена знаков у элементов матрицы и вектора
2.3.11 Задание комплексной матрицы и определение комплексно-сопряженной матрицы (ввести значок « ”»)
Выделение вещественных (Re) и мнимых (Im) составляющих элементов матрицы и восстановление комплексной матрицы по заданным матрицам из вещественных и мнимых элементов.
Комплексно-сопряжённая матрица
2.3.12 Операции со строками и столбцами матрицы
Задание матрицы с помощью столбцов:
Вычитание столбцов и строк:
2.3.13 Объединение матрицы А с вектором В и матрицы А с матрицей А
Используем функцию augment для объединения массивов, имеющих размеры m x n и m x p (то есть одинаковое число строк), расположенных бок о бок, образуя массив размеров m x (n + p).
Чтобы объединить два массива, располагая их друг над другом, ипользуется функция stack для объединения массивов, имеющих размеры m x n и p x n (то есть одинаковое число столбцов) , образуя массив размеров (m + p) x n .
2.3.14 Сортировка элементов вектора и матрицы
Часто бывает нужно переставить элементы матрицы или вектора, расположив их в определенной строке или столбце в порядке возрастания или убывания. Для этого имеются несколько встроенных функций, которые позволяют гибко управлять сортировкой матриц:
sort(v) — сортировка элементов вектора в порядке возрастания ;
csort(A,i) — сортировка строк матрицы выстраиванием элементов i-го столбца в порядке возрастания;
rsort(A,i) — сортировка столбцов матрицы выстраиванием элементов i-й строки в порядке возрастания;
reverse (v) — перестановка элементов вектора в обратном порядке;
v — вектор;
А — матрица;
i — индекс строки или столбца.
Если элементы матриц или векторов комплексные, то сортировка ведется по действительной части, а мнимая часть игнорируется.
2.3.15 Разложение матрицы на треугольную, ортогональную
L U-разложением матрицы А, или треугольным разложением, называется матричное разложение вида P A=L U и, где L и U — нижняя и верхняя треугольные матрицы (нули выше диагонали и ниже), соответственно. P,A,L,U — квадратные матрицы одного порядка.
lu(A) — LU-разложение матрицы;
А — квадратная матрица.
Фактически, треугольное разложение матрицы системы линейных уравнений производится при ее решении численным методом Гаусса.
Функция LU-разложения выдает составную матрицу. Выделить матрицы P,L,U несложно при помощи встроенной функции submatrix.
QR-разложением матрицы А называется разложение вида A=Q R, где Q — ортогональная матрица, а R — верхняя треугольная матрица.
qr(A) —QR-разложение;
А — вектор или матрица любого размера.
Результатом действия функции qr(A) является матрица L, составленная из матриц Q и R, соответственно. Чтобы выделить сами матрицы QR-разложения, необходимо применить функцию выделения подматрицы submatrix.
2.4 Использование матричных функций
2.4.1 Собственные значения и векторы собственных значений матрицы
а) Определение собственных значений с помощью характеристического уравнения
Пусть X и Y – векторы. А- квадратная матрица, оператор преобразования Х в Y. Часто бывают случаи, когда необходимо найти вектор ҳ и значение скаляра λ такие , что А· ҳ = λ·ҳ. Такое уравнение имеет решения в виде собственных значений λ1, λ2,... и соответствующих им собственных векторов x1, х2,...Значение скаляра λ носит название собственных значений квадратной матрицы А. Его можно получить из характеристического уравнения матрицы А.
Характеристическое уравнение матрицы имеет вид:
Его корни: называются собственными числами матрицы А.
Их сумма равна сумме диагональных элементов матрицы А (или следу матрицы А)
Исходная матрица:
Функция identity (4) создаёт единичную матрицу размером 4*4
Находим корни характеристического уравнения:
след сумма собственных чисел и матрицы
б) Определение вектора, элементами которого являются собственные значения матрицы с помощью функций Mathcad.
Для решения задач на собственные векторы и собственные значения в Mathcad встроено несколько функций, реализующих довольно сложные вычислительные алгоритмы:
eigenvals(A) — вычисляет вектор, элементами которого являются собственные значения матрицы А; По умолчанию Mathcad отобразит три знака после запятой. Если необходимо увеличить точность собственных чисел матрицы, то необходимо воспользоваться командами: Format-Number главного меню и указать в окошечке Displayed Precision (3) желаемое число знаков после запятой (от 0 до 15).
2.4.2 Нахождение матрицы векторов собственных значений матрицы
а)Вычисление матрицы, содержащей нормированные собственные векторы, соответствующие собственным значениям матрицы А
eigenvecs(A) — вычисляет матрицу, содержащую нормированные собственные векторы, соответствующие собственным значениям матрицы А;
n-й столбец вычисляемой матрицы соответствует собственному вектору n-го собственного значения, вычисляемого eigenvals;
для устранения ошибки округления увеличили точность до 8 знаков после запятой.
б)Вычисление собственного вектора для матрицы А и заданного собственного значения λ
Данную функцию применим к действительным собственным значениям.
Проверка правильности нахождения собственных векторов и собственных значений приведена для значения λ0 . Причем проверка правильности выражения Ах=λх проведена дважды — сначала на числовых значениях х и λ, а потом путем перемножения соответствующих матричных компонентов.
Вычисление собственного вектора для матрицы А и λ3.
Как мы видим, в этом случае собственные вектора и матрица собственных векторов матрицы А, имеют численные значения, отличающиеся знаками. Однако это не меняет общности поставленной задачи, так как речь идёт о пространстве, в котором находятся собственные вектора матрицы А.
2.4.3 Приведение заданной матрицы к диагональному виду
В Mathcad легко создать матрицы определенного вида с помощью одной из встроенных функций, например:
diag(v) — создаст диагональную матрицу, на диагонали которой находятся элементы вектора v;
Рассмотрим вектор, элементами которого являются собственные значения матрицы А.
Для квадратной матрицы А часто бывает необходимо найти, если это возможно, такую квадратную матрицу, чтобы выполнялось условие:
Р-1 ·А·Р = L
Здесь L представляет собой квадратную матрицу diag (λ1, λ2……. λn) , где λ1, λ2…… λn являются собственными значениями матрицы А.
Найденная выше матрица Р содержит нормированные собственные векторы, соответствующие собственным значениям матрицы А; n-й столбец вычисляемой матрицы соответствует собственному вектору n-го собственного значения.
Матрица векторов собственных значений матрицы А приводит ее к треугольному виду:
3. Выводы по работе
В результате выполнения практической работы №1 были изучены возможности математического пакета MathCad в среде Windows с целью дальнейшего использования матричной алгебры в инженерных расчетах электротехнических систем. Были изучены и повторены основные моменты теории матриц. Изучены способы задания векторов и матриц в среде MathCad. Я научился работать с массивами, векторами и матрицами, применял векторные и матричные операторы и функции. Вторая по частоте применения задача вычислительной линейной алгебры — это задача поиска собственных векторов и собственных значений матрицы. Для решения таких задач в Mathcad встроено несколько функций, реализующих довольно сложные вычислительные алгоритмы. Применение матричных функций намного облегчает расчёты по теоретическим основам электротехники, теории автоматического управления и другим дисциплинам. Как оказалось, особенно просто в MathCad работать с комплексными числами и полиномами высших порядков. Решение характеристических уравнений выдаётся в виде векторов, которые можно далее преобразовывать с помощью матричной алгебры, представленной в MathCad.