Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект.pdf
Скачиваний:
51
Добавлен:
23.07.2020
Размер:
2.68 Mб
Скачать

=

2

1

3

 

 

6

5

4

9

8

7

Разворот матрицы на 90°

Эта функция разворачивает матрицу на 90° против часовой стрелки:

>>

 

 

rot90(A)

 

 

ans =

 

 

3

6

9

2

5

8

1

4

7

’’Зеркальное’’ отображение матрицы относительно вертикальной оси:

>>

fliplr(A)

3 2 1 ans =

6 5 4

9 8 7

’’Зеркальное’’ отображение матрицы относительно горизонтальной оси:

>>

flipud(A)

ans =

7

8

9

4

5

6

1

2

3

Примеры использования

При обработке векторов удобно использовать возможность выборки из

вектора значений, отвечающим некоторому условию.

Например,

получить все отрицательные значения вектора.

>>X=[3 -4 5 -6 3 9 -5];

>>Y = X(X<0) % Рез-т – массив, в скобках – условие отбора

55

эл-тов Y =

-4 -6 -5

Сформировать массив из значений вектора из диапазона n, m.

>>X(X>=n && X <=m)

А теперь посмотрим, как применить такую конструкцию для нахождения

среднего и суммы:

>> sum(X(X<0))

ans =

-15

Если записать

>> sum(X<0)

будет найдено количество положительных значений в

векторе ans=

4

Для матрицы:

>>sum(А(А<6)) – суммы по столбцам эл-тов матрицы <6

>>sum(А<6) – количество эл-тов матрицы <6 в каждом столбце

>>sum(А<6, 2) – количество эл-тов матрицы <6 в каждой строке

>>N=[1 -2 -4;5 9 -1; 3 5

7] N =

 

 

 

 

 

 

 

 

 

 

1

-2

-4

 

 

 

 

 

5

9

-1

 

 

 

 

 

 

3

5

7

 

 

>> sum(N<0) % Будет найдено количество отрицательных значений в

каждом столбце

ans =

 

 

0

1

2

>> sum(N<0,2) % Будет найдено количество отрицательных значений в каждой строке

56

ans =

2

1

0

>> mean(X(X<0))

ans =

-5

Сумма элементов, не принадлежащих диапазону

>> sum(X(X<=n || X >=m))

Найти наибольшее значение среди элементов <8

>> max(X(X<8))

a

n

s

=

5

Для матрицы

>> В=[1 2 3; -4 8 -3; 9 -1 -

2] В =

 

 

1

2

3

-4

8

-3

9

-1

-2

Получить все элементы матрицы > p

>> p=6; В(В>p)

ans = % вектор значений в порядке следования по столбцам 9

8

Среднее значение всех положительных элементов матрицы

>> mean(В(В>0))

ans =

4.6000

57

Сумму элементов побочной диагонали

<<sum(diag(fliplr(В)))

Сумму элементов главной диагонали

<<sum(diag((В)))

Нормы матрицы

Сформируем матрицу заполнением случайными числами:

>> В=round(10*rand(4))-8*ones(4)

В

 

 

 

 

-7

0

-

=

 

 

6

1

 

 

 

2

-5

-

-

 

 

6

5

-

0

1

-

3

 

 

2

-

-5

-

-

75 3

Вматематике норма матрицы может быть вычислена по разным формулам:

>> sum(

abs(В

))

%

сумма модулей

в столбцах

ans =

13 17 12 16

>> max_stolb=max(sum(abs(В)))

max_st olb = 17

Найдем наибольшую сумму модулей элементов в строках

n

матрицы

max_ 2 max | bij |

ij 1

>>sum(abs(В),2) % сумма модулей в строках

a

n

58