Поменять порядок следования элементов в векторе

>> M=[4 5 6 8 9 2];

>> fliplr(M)

ans =

2 9 8 6 5 4

Еще полезные функции all, any и find и их использование

Функция all (вектор) возвращает 1 (" истина "), если все элементы вектора не равны нулю, или 0 в противном случае (то есть в случае, если хотя бы один элемент нулевой).

Функция any действует противоположным образом. Она возвращает нуль в случае, когда все элементы вектора нулевые, и возвращает единицу, когда хотя бы один элемент ненулевой.

>> V=[0 0 0 0 0];

>> all(V)

ans =

0

>> any(V)

ans =

0

>> V=[0 0 0 0 7];

>> any(V)

ans =

1

Можно задать условие, например:

Все ли элементы вектора больше 1

>>V=[2 3 4 5];

>> all(V>1)

ans =

1              %ответ да

В случае применения к матрицам обе эти функции обрабатывают матрицу в порядке следования по столбцам и рассматривает их как вектора. Например,

>> X = [ 1 2 0; 0 3 0; 7 4 0 ]

X =

1 2 0

0 3 0

7 4 0

>> any(X)

ans =

1 1 0

>> all(X)

ans =

0 1 0

Функция find в качестве аргумента может принимать некоторое условие и возвращает номера (индексы) элементов равных условию. Если условия нет, то возвращает индексы элементов не равных 0. Например,

Если задано условие, то возвращает индексы элементов, отвечающих условию.

Для вектора

>> Y=[4 0 9 0 -3 0 ]

Y =

4     0 9 0 -3 0

>> find(Y) %возвращает вектор из индексов ненулевых элементов.

 

ans =

1 3 5

Получить индексы элементов не равные 2

>> A=[3 5 2 6 2 9]

A =

3 5 2 6 2 9

>> find(A==2)

ans =

3 5

Для матриц функция find возвращает 2 вектора индексов. Каждый вектор получается обработкой отдельного столбца матрицы. Например, для матрицы

>> A = [ 1 0 3; 0 4 5; 6 7 8]

A =

1 0 3

0 4 5

6 7 8

>> [V1 V2]=find(A)

V1 =

1

3

2

3

1

2

3

V2 =

1

1

2

2

3

3

3

Возвращает вектор - столбцы V1 и V2.

Вектор V1 содержит номера строк отличных от нуля элементов матрицы A. Причём, матрица просматривается по столбцам (сначала — первый столбец, затем — второй и т.д.).

Вектор столбец V2 содержит номера столбцов ненулевых элементов.

Получить и ндексы элементов в матрице А> 0

>> find(A>0)

ans =

1

3

5

6

7

8

9


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: