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

2

9

8

6

5

4

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

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

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

возвращает единицу, когда хотя бы один элемент удовлетворяет условию.

Если условие не указано, например, all(X), то оно равносильно all(X~=0), т.е. проверяется, что все элементы вектора не равны нулю.

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

по столбцам и рассматривает их как вектора. Например,

>> 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

62

) 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

63

Для матриц функция 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

64

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

Вектор V1 содержит номера строк отличных от нуля элементов матрицы

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

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

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

>> ind(A>0) ans =

1

3

5

6

7

8

9

Sortrows - Возвращает двумерный массив, отсортированный по указанному столбцу

65