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

Применение функций обработки данных к векторам и матрицам

Ранее мы познакомились с функциями, предназначенными для создания и изменения структуры векторов и матриц. В пакете Matlab также имеются функции, предоставляющие возможность обработки элементов векторов и матриц. Эти функции позволяют вычислить сумму или произведение элементов, отсортировать данные, найти среднее, максимальное и минимальные значения элементов вектора или матрицы.

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

>> help datafun

Для векторов и матриц используются одни и те же функции (sum, mean, prod, max, min, …), с той лишь разницей, что в матрице действия

выполняются не во всей матрице, а в каждом столбце (или в каждой

строке).

Полезные функции:

>>

size(A)

%

определяет размер массива

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

количество строк и столбцов.

Количество измерений можно получить:

>> ndims(A)

Функции для векторов

Пусть имеем вектор X

>> X=[9 2 3 4 15 6 1 7 ];

Рассмотрим некоторые функции.

Сумма элементов вектора:

>>

sum(

X) ans =

47

Произведение элементов вектора:

>>

prod(

X) ans =

136080

47

Максимальное значение вектора:

>> max(X) % возвращает первое наибольшее, если есть одинаковые ans =

15

Максимальное значение вектора и его номер:

>>

[m,k]=max

(X) m = 15

k =

5

Минимальное значение вектора:

>>

min(

X) ans

=

1

Минимальное значение вектора и его номер:

>>

[m,k]=min( X) m =

1 k =

7

Среднее арифметическое элементов вектора:

>>

mean(

X) ans =

5.8750

Сортировка элементов вектора по возрастании:

>>

sort(

X) ans

=

1 2 3 4 6 7 9 15

Для сортировки элементов вектора по убыванию можно воспользоваться

той же функцией:

 

 

 

>> Х= - sort(-X)

 

 

 

 

Х =

 

 

 

 

 

 

 

15

9

7

6

4

3

2

1

Или

 

 

 

 

 

 

 

>> sort(X,'descend')

Разворот вектора на

48