Извлечение и вставка отдельных элементов матриц.

Лабораторная работа №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