Лабораторная работа №2
Комплексные числа. Матричные действия над матрицами.
Операции с полиномами.
Цель работы:
1. Ознакомление с матричными действиями над матрицами в системе Matlab;
2. Получение навыков для выполнения операций с полиномами в системе Matlab.
Постановка задачи: используя теоретические сведения, выполнить задания лабораторной работы и подготовить отчет.
Краткие теоретические сведения:
В системе MATLAB имеется несколько зарезервированных имен переменных:
i и j – мнимая единица (корень квадратный из -1);
pi – число π (3,1416);
inf – обозначение машинной бесконечности;
NaN – обозначение неопределенного результата (например типа 0/0, inf/inf).
Ввод комплексных чисел.
Ввод комплексного числа производится путем записи в командном окне строки следующего типа:
<имя переменной> = <значение ДЧ> + i (j) * <значение МЧ>,
где ДЧ - действительная часть комплексной величины;
МЧ – мнимая часть.
Например: х=3+j*2
Простейшие арифметические операции с комплексными числами:
+ сложение;
- вычитание;
* умножение;
/ деление слева направо;
\ деление справа налево;
^ возведение в степень.
В MATLAB есть несколько дополнительных функций, рассчитанных только на комплексный аргумент:
- real (Z) выделяет действительную часть комплексного аргумента Z;
- imag (Z) выделяет комплексную часть комплексного аргумента Z;
- angle (Z) вычисляет значение аргумента комплексного числа Z (в радианах от – π до +π);
- conj (Z) выдает число, комплексно сопряженное относительно Z.
Простейшие операции с векторами и матрицами.
MATLABявляется системой, которая специально предназначена для осуществления сложных вычислений с векторами, матрицами и полиномами. Под вектором в MATLAB понимается одномерный массив чисел, а под матрицей - двумерный массив.
Исходные значения векторов-строк можно задавать путем поэлементного ввода. Для этого вначале указывают имя вектора, затем ставят знак присваивания (=), далее открывающую квадратную скобку ([), за ней значения вектора, отделяя их между собой пробелами или запятыми. Завершается запись закрывающей квадратной скобкой (]).
Например: V=[1 2 3] или V=[1,2,3]
V = 1 2 3
Длинный вектор можно вводить частями, которые затем объединяют с помощью операции объединения векторов в строку.
V1=[1 2 3]; V2=[4 5 6];
V =[V1 V2]
V = 1 2 3 4 5 6
Язык MATLAB дает пользователям возможность сокращенного ввода вектора, элементы которого являются арифметической прогрессией.
V = nz: h: kz,
где nz – начальное значение прогрессии (первый элемент вектора);
kz – конечное значение прогрессии (последний элемент вектора);
h – разность прогрессии (шаг).
Например: V= -0.1:0.3:1.4
V= -0.1 0.2 0.5 0.8 1.1 1.4
Вектор-столбец задается аналогично вектору строке, но элементы отделяются друг от друга знаком «;».
Ввод элементов матрицы осуществляется по строкам. При этом элементы строки матрицы отделяются друг от друга пробелами или запятыми, а строки отделяются друг от друга знаком «;».
Например: А=[1,2,3; 4,5,6; 7,8,9]
А = 1 2 3
4 5 6
7 8 9
Формирование векторов и матриц.
MATLAB имеет несколько функций, которые позволяют формировать векторы и матрицы определенного вида:
zeros (M, N) – создает матрицу размером M на N с нулевыми элементами;
zeros (2,3)
ans = 0 0 0
0 0 0
ones (M, N) - создает матрицу размером M на N с единичными элементами;
ones(2,3)
ans = 1 1 1
1 1 1
eye (M, N) - создает матрицу размером M на N с единицами по главной диагонали и всеми остальными нулями;
eye(2,3)
ans = 1 0 0
0 1 0
rand (M,N) - создает матрицу размером M на N из случайных чисел, равномерно распределенных в диапазоне от 0 до 1;
rand(2,3)
ans = 0.9501 0.6068 0.8913
0.2311 0.4860 0.7621
Извлечение и вставка отдельных элементов матриц.
Обращение к любому элементу матрицы осуществляется указанием после имени матрицы номера строки и номера столбца на пересечении которых расположен элемент матрицы.
Например: А = 1 2 3
4 5 6
7 8 9
Х= А (2,3)
Х=6
Если нужно наоборот вставить на это место какое-либо число, то это можно сделать следующим образом:
A(2,3)=pi
A = 1 2 3
4 5 3.14
7 8 9
Пусть требуется создать вектор V1, состоящий из элементов третьего столбца матрицы А.
V1=А(:,3)
V1 = 3
3,14
Пусть требуется создать матрицу В размером 2:2 состоящую из элементов правого верхнего угла матрицы А.
В=А(1:2, 2:3)
B= 2 3
5 3,14
Пусть требуется внести элементы матрицы В в левый нижний угол матрицы А.
А(2:3, 1:2)=B
A= 1 2 3
2 3 6
5 3,14 9
Растянуть матрицу в один вектор можно с помощью следующей записи:
A= 1 2 3
4 5 6
V=A(:)
V=1 2 3 4 5 6
Действия над векторами.
Выделим 2 группы действий над векторами: векторные действия и действия по поэлементному преобразованию векторов.
Векторные действия:
1) Сложение векторов: х=[1 2 3]; y=[4 5 6]; v=x+y (v= 5 7 9)
2) Вычитание векторов: v=x-y (v= -3 -3 -3)
3) Транспонирование вектора: х’ ans = 1
4) Умножение вектора на число: v = x*2 (v= 2 4 6)
5) Умножение 2 векторов (для векторов одинаковой длины, один строка, а другой столбец):
х=[1 2 3]; y=[4 5 6]; v=x’*y v = 4 5 6
8 10 12
12 15 18
v=x*y’ v = 32