x =
0 0.20 0.40 0.60 0.80
1.00
>>k = 0:10; % Создается 1x11 вектор с элементами 0, 1, 2, ..., 10.
>> x1 = linspace(0, 4, 5) % 1x5 вектор-строка – используется команда "linspace"
x1 =
0 1 2 3 4
>> x = logspace (0, 1, 6) % 6 значений от 100 до 101 в логарифмической шкале
x =
1.0000 1.5849 2.5119 3.9811
6.3096 10.0000
Ввод элементов матрицы выполняется в Matlab в квадратных скобках по строкам. Элементы строки матрицы разделяются пробелом или запятой, строки отделяются друг от друга символом ‘;’ (точка с запятой).
Пример
» A= [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> txt = 'string' %генерирование символьной матрицы/вектора
txt =
string
>> txt = ['s' 't' 'r'; 'i', 'n', 'g'] % ввод матрицы по отдельным символам
Специальные матрицы:
M = []; % пустая матрица
M = zeros(n,m); % n x m матрица с нулевыми элементами
M = ones(n,m); % n x m матрица из единичных элементов
M = eye(n); % единичная квадратная матрица n x n
M = rand(m,n); % матрица размером m x n из случайных чисел,
% равномерно распределенных в интервале [0,1].
M = randn(m,n); % матрица размером m x n из случайных чисел,
% распределенных по нормальному закону с нулевым
% средним значением и единичной дисперсией.
Матрица может быть создана с помощью её блоков, например, если А – матрица размером 3 х 3, то команда
>> M = [A, zeros(3,2), ones(2,3), eye(2)];
создаст матрицу М размером 5 х 5.
Получение элементов матриц
>> x = A (1, 3) % формат доступа A(<ряд>,<столбец>)
x =
3
>> y =A(2, :)
y =
4 5 6
» v1 = A(:, 2)
v1 =
2
5
8
>> z = A(1:2, 1:3)
z =
1 2 3
4 5 6
>> v = A(:) % преобразование матрицы в вектор
v =
1
2
3
4
5
6
Команда length(x) возвращает размер (длину) вектора x, команда size(x) – размеры матрицы.
Пример
» length(v)
ans =
6
Операции с матрицами
MATLAB имеет следующие операции с матрицами
+ |
сложение |
- |
вычитание |
* |
умножение |
^ |
возведение в степень |
' |
транспонирование |
/ |
правое деление |
\ |
левое деление |
Если размеры матриц несовместимы с матричной операцией, то выводится сообщение об ошибке.
Примеры
>> M1 = [1 7; -4 8];
>> M2 = [-1 0; 3 2];
>> H1 = [-2 5 -7; 3 1 2];
>> b2 = [9; 3];
>> A1 = M1 + M2 %Сложение матриц
A1 =
0 7
-1 10
>> S2 = M2 - M1 %Вычитание матриц
S2 =
-2 -7
7 -6
>> C1 = M1*H1 %Умножение матриц
C1 =
19 12 7
32 -12 44
>> v1 = M1*b2 %Умножение матрицы на вектор
v1 =
30
-12
>> a = [1 2 3]; b = [4 5 6];
>> v = a + b % сложение векторов
v = 5 7 9
>> d = a – b
d = -3 -3 -3
>> c = [9 3] %1x2 вектор-строка
c =
9 3
>> c1 = c' % транспонирование вектора-строки
c1 =
9
3
Операции деления матриц требуют пояснения.
Если А – неособенная (обратимая) матрица, а b - совместимый по размеру вектор, то
>> y = A\b % Это левое деление A на b , эквивалентно решению системы A * y = b
>> y1 = b/A % В этом случае - правое деление, эквивалентно решению y * A = b
Пример.
Пусть нужно решить систему уравнений
Решение системы в Matlab
» A=[1 2 1; 2 1 1; 1 3 1]
A =
1 2 1
2 1 1
1 3 1
» b = [0; 1; 2]
b =
0
1
2
» x = A \ b
x =
3.0000e+000
2.0000e+000
-7.0000e+000
Поэлементные операции с массивами
В Matlab имеются операции поэлементного преобразования массивов – векторов и матриц.
Такие операции называют операциями с точкой:
.* - поэлементное умножениемассивов,
.^ - поэлементноевозведение в степень,
./ - поэлементное деление,
.\ - поэлементное деление в обратном направлении.
Операции применяются к массивам одинакового типа и размера.
Примеры поэлементных операций с векторами
» x=[1, 2, 3]; y=[4, 5, 6];
» z1 = x.*y
z1 =
4 10 18
» z2 = y.^x
z2 =
4 25 216
» z3 = y./x
z3 =
4.0000e+000 2.5000e+000 2.0000e+000
» z4 = y.\x
z4 =
2.5000e-001 4.0000e-001 5.0000e-001
Примеры поэлементных операций с матрицами
>> A = [1 2; 3 4]
A =
1 2
3 4
>> B = A*A % Обычное умножение матриц
B =
7 10
15 22
>> C = A.*A % Поэлементное умножение
C =
1 4
9 16
» D = A./A % Поэлементное деление
D =
1 1
1 1
Все элементарные функции Matlab являются функциями, аргументами которых могут быть массивы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.