8. Поэлементные операции с векторами и матрицами
Операции « .* » , « .^ », « ./ » приводят к поэлементному умножению, поэлементному возведению в степень, поэлементному делению двух векторов или матриц одинакового размера.
Например,
>> v1 = [2 –3 4 1];
>> v2 = [7 5 –6 9];
>> s1 = v1.*v2
s1 =
14 –15 –24 9
>> s2 = v1.^2
s2 =
4 9 16 1
>> s3 = v1.^v2
s3 =
128 –243 0.00024414 1
>> s4 = v1./v2
s4 =
0.28571 –0.6 –0.66667 0.11111
Для того чтобы, к каждому элементу вектора или матрицы прибавить одно и тоже число используется знак « + », для вычитания из элементов вектора или матрицы одного и того числа используется знак «–». Разделить элементы вектора на число можно при помощи знака « / ».
Например,
>> v = [4 6 8 10];
>> a = v + 1.2
a =
5.2 7.2 9.2 11.2
>> b = v – 1.2
b =
2.8 4.8 6.8 8.8
Деление числа на вектор, осуществляется с помощью операции « ./ » , например
>> f = [4 2 6];
>> df = 12./f
df =
3 6 2
Попытка использования только знака деления « / » (без точки) приведет к ошибке. Символы «.^ » используются для возведения каждого элемента вектора или матрицы в степень.
Пример. Даны матрицы
и.
Вычислить
.
Для этого выполняем команды:
>> R = [7 -2 4 -5; 6 -3 3 1]
R =
7 -2 4 -5
6 -3 3 1
>> P = [0 -0.5 3 2; 6 -1 4 -2]
P =
0 -0.5000 3.0000 2.0000
6.0000 -1.0000 4.0000 -2.0000
>> s = min(sum((abs(R.*P)),2)) + sum(sum(R))^2
s =
144
9. Операции отношения и логические операции
Операторы отношения производят поэлементноесравнение двух матриц и возвращают матрицу той же размерности с элементами 1, где отношение истинно и 0, где отношение ложно:
< – меньше чем ( <= означает "меньше или равно");
> – больше чем ( >= означает "больше или равно").
Логические операции осуществляются с помощью операторов:
= = – логический оператор эквивалентности;
& – логическое "И".
A&B– это матрица, элементы которой равны 1, если соответствующие элементы иAиBненулевые, иначе равны 0;
| – логическое "ИЛИ".
A|B– это матрица, элементы которой равны 1, если соответствующие элементы илиAилиBненулевые, иначе равны 0;
~= – логическое дополнение "НЕ" ( ~= означает не "равно").
10. Задание
В командном окне MATLAB
1. Найти значение выражения
2. Ввести параметры, векторы и матрицы
, ,,,
, ,
, ,,.
3. Выполнить действия
а),б),в).
4. Вычислить
а),б),
в),г).
5. Введите матрицу
и выполните команды и объясните результат
>> P1 = P(2:3, 2:3)
>> P(2:3,2:3)=0
>> st = P(2, :)
>> rt = P(2, 2:end)
>> P(1, :) = []
6. Введите матрицы
,
Выполните команды и объясните результат
>> D1 = V > W
>> D2 = V <= W
>> D3 = V&W
>> D4 = V == W
>> D5 = V|W
Ответы
1.
ans =
1.7357
2.
a =
5
b =
12
c =
1.2000
d =
2.4000
X =
-3.2000
1.2000
0.8000
2.4000
Y =
1.2000
5.6000
-2.0000
-2.4000
Z =
-4.1000
1.2000
2.4000
A =
5.1000 2.4000 -2.4000 3.5000
3.3000 -1.2000 2.4000 2.4000
1.5000 2.0000 -4.4000 1.2000
2.4000 -1.2000 1.8000 0
B =
1.2000 3.0000 1.2000 7.5000
2.8000 -1.2000 -2.4000 2.4000
-2.4000 2.4000 3.7000 -4.6000
1.6000 4.9000 2.4000 1.2000
D =
1.5000 -1.2000 -1.3000
2.2000 2.4000 1.2000
4.3000 1.6667 2.4000
F =
-11.5000 3.0000 -7.0000
27.0000 -13.0000 -5.0000
3.
G =
-30.0000
37.4667
0.1333
16.0000
P =
-10.5100 -30.5400 19.8600 5.7600
-43.5000 15.6600 -55.9800 15.8400
148.8000 28.6200 115.9000 -7.5000
-45.0000 3.2400 -22.6800 14.0400
C =
-3.8400 -17.9200 6.4000 7.6800
1.4400 6.7200 -2.4000 -2.8800
0.9600 4.4800 -1.6000 -1.9200
2.8800 13.4400 -4.8000 -5.7600
4.
z1 =
819.3453
z2 =
-7.7116e+003
s1 =
1.3962
s2 =
-87.0253