Действия по поэлементному преобразования векторов

Все эти операции преобразуют элементы вектора как элементы обычного одномерного массива чисел. К таким операциям относятся все из вышеперечисленных элементарных математических функций, зависящих от одного аргумента.

Например х=[-2,-1,0,1,2]

V=sin(x); V =-0.9093 -0.8415 0 0.8415 0.9093

V=tan(x); V=exp(x) и др.

1) Добавление (вычитание) числа к каждому из элементов (+, -);

2) Поэлементное умножение векторов (.*);

3) Поэлементное деление векторов (./, .\)

4) Поэлементное возведение в степень.(.^)

Базовые действия с матрицами

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

Важно помнить ряд условий, при которых эти операции возможны:

- при сложении или вычитании матриц они должны иметь одинаковые размеры;

- при умножении матриц число столбцов первого множителя должно совпадать с числом строк второго множителя.

Пример сложения и вычитания матриц:

А=[1 2 3 4 5; 6 7 8 9 11]

A= 1 2 3 4 5

6 7 8 9 11

B=[0 -1 -2 -3 -4; 5 6 7 8 9]

B = 0 -1 -2 -3 -4

5 6 7 8 9

A+B

ans = 1 1 1 1 1

11 13 15 17 20

А-B

ans = 1 3 5 7 9

1 1 1 1 2

Пример умножения матрицы на число

А*5

ans = 5 10 15 20 25

30 35 40 45 55

Пример транспонирования матрицы

А’

ans = 1 6

2 7

3 8

4 9

5 11

Пример умножения матрицы на матрицу

A’*B

ans = 30 35 40 45 50

35 40 45 50 55

40 45 50 55 60

45 50 55 60 65

50 61 67 73 79

Функция обращения матрицы – inv (A) –вычисляет матрицу обратную

заданной матрице А. Исходная матрица А должна быть квадратной и её определитель должен быть отличен от нуля.

Пример возведения матрицы в степень

А^2

Весьма интересными в языке Matlab являются операции деления матриц слева направо и справа налево .(/ и \)

Операция А\В равносильна совокупности операций inv(A)*B, которая является решением матричного уравнения: А*Х=В.

Для примера рассмотрим решение системы линейных алгебраических уравнений:

x1 + 2x2 + 3x3 = 14

2x1 - x2 - 5x3 = -15

x1 - x2- x3 = - 4

A=[1 2 3; 2 -1 -5; 1 -1 -1]

A= 1 2 3

2 -1 -5

1 -1 -1

B = [14; -15; -4]

B = 14

-15

- 4

x = A \ B

x = 1

То есть x1 =1 x2 =2 x3 = 3 – корни системы уравнений.

Полиномы

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

Полином (многочлен) как функция определяется следующим выражением:

В Matlab полином задается и хранится в виде вектора, элементами которого являются коэффициенты полинома от an до а0

P = [an … a2 a1 a0]

Ввод полиномов осуществляется также как и ввод вектора длиной n+1, где n – порядок полинома.

Система Matlab имеет функцию roots(P) которая вычисляет вектор, элементы которого являются корнями заданного полинома, по вектору коэффициентов.

Пусть требуется найти корни полинома:

Р(х) = х5+8x4+31x3+80x2+94x+20

P=[1 8 31 80 94 20]

Roots(P)

-1.0000+3.0000i

-1.0000+3.0000i

-3.7321

-2.0000

-0.2679

Обратная операция – построение вектора Р коэффициентов полинома по заданному вектору его корней – осуществляется функцией poly.

P = poly(R),

где R – заданный вектор корней полинома, Р – вычисленный вектор коэффициентов полинома.

Пример:

P = [1 8 31 80 94 20]

P = 1 8 31 80 94 20

R= roots (P)

R = -1.0000+3.0000i

-1.0000+3.0000i

-3.7321

-2.0000

-0.2679

P1 = poly(R)

P1 = 1.0000 8.0000 31.0000 80.0000 94.0000 20.0000

Для вычисления значения полинома по заданному значению его аргумента в Matlab предусмотрена функцияpolyval.Обращение к ней происходит по схеме:

y = polyval (Р, x),

где Р – вектор коэффициентов полинома;

x – значение аргумента полинома.

Пример

P = [1 8 31 80 94 20]

x = 2

y = polyval (P, x)

y = 936

Вычисление производной от полиномапроизводится функциейpolyder.Эта функция создает вектор коэффициентов полинома представляющий собой производную от заданного полинома.

dp = polyder (P)

dp = 5 32 93 160 94

Оператор условия IF

Оператор условия if .... end вычисляет некоторое логическое выражение и выполняет соответствующую группу инструкций в зависимости от значения этого выражения. Если логическое выражение истинно, то MATLAB выполнит все инструкции между if и end, а затем продолжит выполнение программы в строке после end. Если условие ложно, то MATLAB пропускает все утверждения между if и end и продолжит выполнение в строке после end.

Пример.

if rem(a, 2) == 0

disp('a четно')

b = а/2;

end

Наши рекомендации