Progress-servis55.ru

Новости из мира ПК
18 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Среднее арифметическое matlab

Среднее арифметическое matlab

Average or mean value of array

Syntax

Description

M = mean( A ) returns the mean of the elements of A along the first array dimension whose size does not equal 1.

If A is a vector, then mean(A) returns the mean of the elements.

If A is a matrix, then mean(A) returns a row vector containing the mean of each column.

If A is a mult >mean(A) operates along the first array dimension whose size does not equal 1, treating the elements as vectors. This dimension becomes 1 while the sizes of all other dimensions remain the same.

M = mean( A , ‘all’ ) computes the mean over all elements of A . This syntax is valid for MATLAB ® versions R2018b and later.

M = mean( A , dim ) returns the mean along dimension dim . For example, if A is a matrix, then mean(A,2) is a column vector containing the mean of each row.

M = mean( A , vecdim ) computes the mean based on the dimensions specified in the vector vecdim . For example, if A is a matrix, then mean(A,[1 2]) is the mean of all elements in A , since every element of a matrix is contained in the array slice defined by dimensions 1 and 2.

M = mean( ___ , outtype ) returns the mean with a specified data type, using any of the input arguments in the previous syntaxes. outtype can be ‘default’ , ‘double’ , or ‘native’ .

M = mean( ___ , nanflag ) specifies whether to include or omit NaN values from the calculation for any of the previous syntaxes. mean(A,’includenan’) includes all NaN values in the calculation while mean(A,’omitnan’) ignores them.

Examples

Mean of Matrix Columns

Create a matrix and compute the mean of each column.

Mean of Matrix Rows

Create a matrix and compute the mean of each row.

Mean of 3-D Array

Create a 4-by-2-by-3 array of integers between 1 and 10 and compute the mean values along the second dimension.

Mean of Array Page

Create a 3-D array and compute the mean over each page of data (rows and columns).

Starting in R2018b, to compute the mean over all dimensions of an array, you can either specify each dimension in the vector dimension argument, or use the ‘all’ option.

Mean of Single-Precision Array

Create a single-precision vector of ones and compute its single-precision mean.

The result is also in single precision.

Mean Excluding NaN

Create a vector and compute its mean, excluding NaN values.

If you do not specify ‘omitnan’ , then mean(A) returns NaN .

Input Arguments

A — Input array
vector | matrix | multidimensional array

Input array, specified as a vector, matrix, or multidimensional array.

If A is a scalar, then mean(A) returns A .

If A is an empty 0-by-0 matrix, then mean(A) returns NaN .

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | datetime | duration

dim — Dimension to operate along
positive integer scalar

Dimension to operate along, specified as a positive integer scalar. If no value is specified, then the default is the first array dimension whose size does not equal 1.

Dimension dim indicates the dimension whose length reduces to 1 . The size(M,dim) is 1 , while the sizes of all other dimensions remain the same.

If dim = 1 , then mean(A,1) returns a row vector containing the mean of the elements in each column.

If dim = 2 , then mean(A,2) returns a column vector containing the mean of the elements in each row.

mean returns A when dim is greater than ndims(A) or when size(A,dim) is 1 .

Data Types: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

vecdim — Vector of dimensions
vector of positive integers

Vector of dimensions, specified as a vector of positive integers. Each element represents a dimension of the input array. The lengths of the output in the specified operating dimensions are 1, while the others remain the same.

Cons >A . Then mean(A,[1 2]) returns a 1-by-1-by-3 array whose elements are the means over each page of A .

Data Types: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

outtype — Output data type
‘default’ (default) | ‘double’ | ‘native’

Output data type, specified as ‘default’ , ‘double’ , or ‘native’ . These options also specify the data type in which the operation is performed.

outtypeOutput data type
‘default’double , unless the input data type is single , duration , or datetime , in which case, the output is ‘native’
‘double’double , unless the data type is duration or datetime , in which case, ‘double’ is not supported
‘native’same data type as the input, unless

Input data type is logical , in which case, the output is double

Input data type is char , in which case, ‘native’ is not supported

Data Types: char

nanflag — NaN condition
‘includenan’ (default) | ‘omitnan’

NaN condition, specified as one of these values:

‘includenan’ — Include NaN values when computing the mean, resulting in NaN .

‘omitnan’ — Ignore all NaN values in the input.

For datetime arrays, you can also use ‘omitnat’ or ‘includenat’ to omit and include NaT values, respectively.

Найти среднее значение элементов матрицы

23.06.2016, 17:17

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

Найти среднее арифметическое элементов матрицы
Столкнулся с проблемой , что никак не могу найти среднее арифметическое элементов матрицы A(4).

Как найти среднее значение элементов массива, которые больше 10-ти?
Определить среднее значение всех элементов массива, чьи факториалы больше 10.

Найти среднее арифметическое всех элементов матрицы, меньших заданного значения
Найти среднее арифметическое всех элементов матрицы,меньших заданного значения.

24.06.2016, 23:012

zymlanin, вот жадины, никто и не муркнул до сих пор.

24.06.2016, 23:07324.06.2016, 23:554

Зачем смотреть дополнительные аргументы? достаточно вызывать функцию min для транспонированной матрицы.

Matlab M
24.06.2016, 23:595
25.06.2016, 00:046
25.06.2016, 00:147
25.06.2016, 00:258
25.06.2016, 05:159
25.06.2016, 14:3310
25.06.2016, 15:10

minore, оно то так. Для двумерной матрицы — можно. Но разработчики старались, вводили дополнительный аргумент для «общего случая». Что б можно было среднее посчитать по любому направлению многомерной матрицы. не хочется людей огорчать.

Меню пользователя @ R2D2
25.06.2016, 15:22

не путайте народ) вы имели ввиду не «двумерную и многомерную матрицу» а «двумерный и многомерный массив», так как любая матрица — это по определению двумерный массив )).

Меню пользователя @ minore
25.06.2016, 15:35

minore, именно это имел ввиду. Простите. Позволяю себе иногда, грешным делом, нечеткую формулировку. Главное — что Вы меня поняли))

Меню пользователя @ R2D2
25.06.2016, 15:40

непонятно, зачем матрицу транспонировать, если в задаче стоит

Меню пользователя @ Krasme
25.06.2016, 19:1515

Скорее всего, можно упростить.

Добавлено через 10 минут
Только это более похоже на забивание гвоздя микроскопом.

Matlab M
25.06.2016, 20:0716
Matlab M
25.06.2016, 20:2717

Это всего лишь вариант (только e не стоит меньше 1e-3 задавать). 😀 Не написано же, что именно должно находиться в while.
P.S.Любая программа для нахождения среднего арифметического матрицы, отличающаяся от mean(A(: )), уже выглядит неэффективной (всё тот же микроскоп).
P.P.S. Нашёл, что можно упростить, но пока не понимаю как.

25.06.2016, 20:27
25.06.2016, 20:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти среднее арифметическое положительных элементов матрицы, лежащих выше главной диагонали.
Разработать блок-схему алгоритма и программу в среде матлаб для нахождения среднего арифметического.

Найти среднее арифметическое нечетных элементов матрицы, лежащих ниже побочной диагонали
Нужно найти среднее арифметическое нечетных элементов матрицы, лежащих ниже побочной диагонали .

Найти среднее арифметическое элементов матрицы и заменить им элементы последнего столбца и строки.
Найти среднее арифметическое значений элементов матрицы и заме¬нить этим значением элементы.

Найти среднее геометрическое отрицательных элементов матрицы 9х9 лежащих на главной диагонали.
Найти среднее геометрическое отрицательных элементов матрицы 9х9 лежащих на главной диагонали. .

Функции MatLab для первичной обработки статистических данных

В MatLab для первичной обработки данных удобно использовать массивы и функции их обработки:

— mах(А) — возвращает наибольший элемент массива, если А одномерный массив (вектор). Если А матрица, то функция mах(А) возвращает вектор-строку, содержащую максимальные элементы каждого столбца.

>> a=[2 5 7;3 9 6;8 5 4]

— mах(А,В) — возвращает массив того же размера, что А и В, каждый элемент которого есть максимальный из соответствующих элементов этих массивов.

>> a=[2 5 7;3 9 6;8 5 4]

b=[3 5 9;1 7 3;6 8 2]

-max(A,[ ],dim) — возвращает наибольшие элементы по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно). Например, mах(А,[ ],1) возвращает максимальные элементы каждого столбца матрицы А.

-[C,I] =max(A) — кроме максимальных значений возвращает вектор индексов I этих элементов.

>> a=[2 5 7;3 9 6;8 5 4]

-min(A) — возвращает минимальный элемент, если А — вектор; или возвращает вектор-строку, содержащую минимальные элементы каждого столбца, если А — матрица.

-min(A,B) — возвращает массив того же размера, что А и В, каждый элемент которого есть минимальный из соответствующих элементов этих массивов.

-min(A,[ ],dim) — возвращает наименьший элемент по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно).

-[C,I] = min(A) — кроме минимальных значений возвращает вектор индексов этих элементов.

-mean (А) — возвращает арифметическое среднее значение элементов массива, если А — вектор; или возвращает вектор-строку, содержащую средние значения элементов каждого столбца, если А — матрица.

-mean(A,dim) — возвращает среднее значение элементов по столбцам или по строкам матрицы в зависимости от значения скаляра dim (dim=l по столбцам и dim=2 по строкам соответственно).

>>A=[5 9 2; 8 4 7; 12 4 1]

8.3333 5.6667 3.33338

-median (A) — возвращает медиану, если А — вектор; или вектор-строку медиан для каждого столбца, если А — матрица.

— median(A,dim) — возвращает значения медиан для столбцов или строк матрицы в зависимости от значения скаляра dim.

>> a=[5 9 2; 8 4 7; 12 4 1]

-std(X) — возвращает стандартное отклонение элементов массива, если X — вектор. Если X — матрица, то std(X) возвращает вектор-строку, содержащую стандартное отклонение элементов каждого столбца (обратите внимание, что оно отличается от среднеквадратического отклонения).

-std(X.flag) — возвращает то же значение, что и std(X), если flag=0; если flag=l, функция std(X.l) возвращает среднеквадратическое отклонение (квадратный корень из несмещенной дисперсии).

-std(X.flag.dim) — возвращает стандартное или среднеквадратическое отклонения по рядам (dim=2) или по столбцам(dim=1) матрицы X в зависимости от значения переменной dim.

>> a=[5 9 2; 8 4 7; 12 4 1]

3.5119 2.8868 3.2146

— sort (А) — в случае одномерного массива А сортирует и возвращает элементы по возрастанию их значений; в случае двумерного массива происходит сортировка и возврат элементов каждого столбца. Допустимы вещественные, комплексные и строковые элементы. Если А принимает комплексные значения, то элементы сначала сортируются по абсолютному значению, а затем, если абсолютные значения равны, по аргументу. Если А включает NaN-элементы, sort помещает их в конец.

-[В, INDEX] = sort(A) — наряду с отсортированным массивом возвращает массив индексов INDEX. Он имеет размер size(A), с помощью этого массива можно восстановить структуру исходного массива.

-sort(A,dim) — для матриц сортирует элементы по столбцам (dim=l) или по рядам в зависимости от значения переменной dim.

-sortrows(A) — выполняет сортировку рядов массива А по возрастанию и возвращает отсортированный массив, который может быть или матрицей, или вектором-столбцом.

-sortrows(A,column) — возвращает матрицу, отсортированную по столбцам, точно указанным в векторе column. Например, sortrows(A,[2 3]) сортирует строки матрицы А сначала по второму столбцу, и затем, если его элементы равны, по третьему.

-[В, index] = sortrows (А) — также возвращает вектор индексов index. Если А — вектор-столбец, то B=A(index). Если А — матрица размера m*n, то B=A(index.:).

-cplxpair(A.[],dim) — сортирует матрицу А по строкам или по столбцам в зависимости от значения параметра dim.

Выполнение работы

Вне зависимости от варианта необходимо рассчитать и дать словесную оценку мерам центральной тенденции и мерам разброса.

1. Дан массив целых чисел X=(x1,x2. xn). Сформировать массив Y=(y1,y2. ym), поместив в него в порядке убывания все различные (неповторяющиеся) числа, входящие в массив X. Определить, насколько отличаются средние арифметические значения элементов массивов X и Y.

2. Массив Х=(x1,x2. xn) содержит большое количество нулевых элементов. Определить положение и размер наиболее длинной серии таких элементов и удалить ее из состава массива.

3. Заданы два массива X=(x1,x2. xn) и Y = (y1,y2. ym), в состав которых входят натуральные числа, причем в каждом из этих массивов нет повторяющихся элементов. Сформировать массив Z, включив в него все элементы, которые одновременно содержатся в массиве X и массиве Y.

4. Задан целочисленный массив X=(x1,x2. xn), в котором могут быть одинаковые числа. Найти максимальный и минимальный элементы среди неповторяющихся чисел и обменять их местами. Учесть частный случай, когда в массиве нет неповторяющихся чисел.

5. Из массива целых положительных чисел X=(x1,x2. xn) удалить все четные по значению элементы, кроме последнего, после чего оставшиеся числа расположить в порядке возрастания. Учесть частные случаи (в массиве нет четных элементов, имеется только один четный элемент, все элементы — четные). Буферный массив не использовать.

6. Задан целочисленный массив X = (x1,x2. xn). Если в этом массиве имеются пары одинаковых, но противоположных по знаку элементов, то обменять их местами при условии, что в массиве больше нет равных им элементов. Например, в массиве (1 8 14 12 -8 -7 6 8 -14 -7 12 4) нужно обменять местами элементы 14 и -14.

7. В массиве X=(x1,x2. xn) переставить местами первый и второй отрицательные элементы, третий и четвертый отрицательные элементы и т.д. Если количество отрицательных элементов в массиве меньше двух, преобразование массива не производить. Определить, как изменилось положение минимального и максимального элементов массива Х при его преобразовании.

8. Найти максимальное и минимальное из чисел, встречающихся в целочисленном массиве X=(x1,x2. xn) более одного раза, и обменять их местами. Просмотр массива X выполнять только один раз.

9. Определить наибольший общий делитель всех чисел, содержащихся в заданной последовательности целых положительных чисел.

10. Элементы массива X = (x1,x2. xn) — это последовательность цифр целого числа, записанного в системе счисления с основанием q, 1 j) нечетных элементов преобразовать в четные элементы по формулам: x[i]:=x[i]+1, x[j]:=x[j]-1. Пары элементов i,j выбирать в порядке их следования в массиве X. Определить, как при этом изменились максимальный и минимальный элементы массива X.

14. В заданном массиве целых чисел X=(x1,x2. xn) найти самый длинный подмассив, который является арифметической прогрессией.

15. По заданному целочисленному массиву X=(x1,x2. xn) сформировать массив Y=(y1. ym) такой, что y[i] — это количество элементов из X, не превосходящих x[i] на конечном отрезке X от элемента i+1 до элемента n.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Учись учиться, не учась! 11083 — | 8252 — или читать все.

Урок 5 — Работа с массивами в Матлаб(Matlab)

Все данные MatLab представляет в виде массивов. Очень важно правильно понять, как использовать массивы. Без этого невозможна эффективная работа в MatLab, в частности построение графиков, решение задач линейной алгебры, обработки данных, статистики и многих других. В данном подразделе описаны вычисления с векторами.

Массив — упорядоченная, пронумерованная совокупность однородных данных. У массива должно быть имя. Массивы различаются по числу размерностей или измерений: одномерные, двумерные, многомерные. Доступ к элементам осуществляется при помощи индекса. В MatLab нумерация элементов массивов начинается с единицы. Это значит, что индексы должны быть больше или равны единице.

Важно понять, что вектор, вектор-строка или матрица являются математическими объектами, а одномерные, двумерные или многомерные массивы — способы хранения этих объектов в компьютере. Всюду дальше будут использоваться слова вектор и матрица, если больший интерес представляет сам объект, чем способ его хранения. Вектор может быть записан в столбик (вектор-столбец) и в строку (вектор-строка). Вектор-столбцы и вектор-строки часто будут называться просто векторами, различие будет сделано в тех случаях, если важен способ хранения вектора в MatLab. Векторы и матрицы обозначаются курсивом, а соответствующие им массивы прямым моноширинным шрифтом, например: «вектор а содержится в массиве а», «запишите матрицу R в массив r».

Ввод сложение и вычитание векторов

Работу с массивами начнем с простого примера — вычисления суммы векторов:
, .

Для хранения векторов используйте массивы а и b. Введите массив а в командной строке, используя квадратные скобки и разделяя элементы вектора точкой с запятой:

» a = [1.3; 5.4; 6.9]
a =
1.3000
5.4000
6.9000

Так как введенное выражение не завершено точкой с запятой, то пакет MatLab автоматически вывел значение переменной а. Введите теперь второй вектор, подавив вывод на экран

Для нахождения суммы векторов используется знак +. Вычислите сумму, запишите результат в массив с и выведите его элементы в командное окно:

» с = а + b
с =
8.4000
8.9000
15.1000

Узнайте размерность и размер массива а при помощи встроенных функций ndims и size:

Итак, вектор а хранится в двумерном массиве а размерностью три на один (вектор-столбец из трех строк и одного столбца). Аналогичные операции можно проделать и для массивов b и c. Поскольку числа в пакете MatLab представляются в виде двумерного массива один на один, то при сложении векторов используется тот же знак плюс, что и для сложения чисел.

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

» s1 = [3 4 9 2]
s1 =
3 4 9 2
» s2 = [5 3 3 2]
s1 =
5 3 3 2
» s3 = s1 + s2
s3 =
8 7 12 4

Замечание 1

Если размеры векторов, к которым применяется сложение или вычитание, не совпадают, то выдается сообщение об ошибке.

Естественно, для нахождения разности векторов следует применять знак минус, с умножением дело обстоит несколько сложнее.
Введите две вектор-строки:

» v1 = [2 -3 4 1];
» v2 = [7 5 -6 9];

Операция .* (не вставляйте пробел между точкой и звездочкой!) приводит к поэлементному умножению векторов одинаковой длины. В результате получается вектор с элементами, равными произведению соответствующих элементов исходных векторов:

» u = v1.*v2
u =
14 -15 -24 9

При помощи .^ осуществляется поэлементное возведение в степень:

» р = v1.^2
p =
4 9 16 1

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

» p = vl.^v2
Р =
128.0000 -243.0000 0.0002 1.0000

Деление соответствующих элементов векторов одинаковой длины выполняется с использованием операции ./

» d = v1./v2
d =
0.2857 -0.6000 -0.6667 0.1111

Обратное поэлементное деление (деление элементов второго вектора на соответствующие элементы первого) осуществляется при помощи операции .

» dinv = vl.v2
dinv =
3.5000 -1.6667 -1.5000 9.0000

Итак, точка в MatLab используется не только для ввода десятичных дробей, но и для указания того, что деление или умножение массивов одинакового размера должно быть выполнено поэлементно.
К поэлементным относятся и операции с вектором и числом. Сложение вектора и числа не приводит к сообщению об ошибке. MatLab прибавляет число к каждому элементу вектора. То же самое справедливо и для вычитания:

» v = [4 6 8 10];
» s = v + 1.2
s =
5.2000 6.2000 9.2000 11.2000
» r = 1.2 — v
r =
-2.8000 -4.8000 -6.8000 -8.8000
» r1 = v — 1.2
r1 = 2.8000 4.8000 6.8000 8.8000

Умножать вектор на число можно как справа, так и слева:

» v = [4 6 8 10];
» p = v*2
р =.
8 12 16 20
» pi = 2*v
pi =
8 12 16 20

Делить при помощи знака / можно вектор на число:

» р = v/2
p =
2 3 4 5

Попытка деления числа на вектор приводит к сообщению об ошибке:

» р = 2/v
. Error using ==> /
Matrix dimensions must agree.

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

» w = [4 2 6];
» d = 12./w
d =
3 6 2

Все вышеописанные операции применимы как к вектор-строкам, так и к вектор-столбцам.
Особенность MatLab представлять все данные в виде массивов является очень удобной. Пусть, например, требуется вычислить значение функции sin сразу для всех элементов вектора с (который хранится в массиве с) и записать результат в вектор d. Для получения вектора d достаточно использовать один оператор присваивания:

» d = sin(с)
d =
0.8546
0.5010
0.5712

Итак, встроенные в MatLab элементарные функции приспосабливаются к виду аргументов; если аргумент является массивом, то результат функции будет массивом того же размера, но с элементами, равными значению функции от соответствующих элементов исходного массива. Убедитесь в этом еще на одном примере. Если необходимо найти квадратный корень из элементов вектора dсо знаком минус, то достаточно записать:

» sqrt(-d)
ans =
0 + 0.9244i
0 + 0.7078i
0 + 0.7558i

Оператор присваивания не использовался, поэтому пакет MatLab записал ответ в стандартную переменную ans.

Для определения длины вектор-столбцов или вектор-строк служит встроенная функция length:

Из нескольких вектор-столбцов можно составить один, используя квадратные скобки и разделяя исходные вектор-столбцы точкой с запятой:

Для сцепления вектор-строк также применяются квадратные скобки, но сцепляемые вектор-строки отделяются пробелами или запятыми:

» v1 = [1 2];
» v2 = [3 4 5];
» v = [v1 v2]
v =
1 2 3 4 5

Работа с элементами векторов

Доступ к элементам вектор-столбца или вектор-строки осуществляется при помощи индекса, заключаемого в круглые скобки после имени массива, в котором хранится вектор. Если среди переменных рабочей среды есть массив v, определенный вектор-строкой

» v = [1.3 3.6 7.4 8.2 0.9];

то для вывода, например его четвертого элемента, используется индексация:

Появление элемента массива в левой части оператора присваивания приводит к изменению в массиве

» v(2) = 555
v =
1.3000 555.0000 7.4000 8.2000 0.9000

Из элементов массива можно формировать новые массивы, например

» u = [v(3); v(2); v(1)]
u =
7.4000
555.0000
1.3000

Для помещения определенных элементов вектора в другой вектор в заданном порядке служит индексация при помощи вектора. Запись в массив w четвертого, второго и пятого элементов v производится следующим образом:

» ind = [4 2 5];
» w = v(ind)
w =
8.2000 555.0000 0.9000

MatLab предоставляет удобный способ обращения к блокам последовательно расположенных элементов вектор-столбца или вектор-строки. Для этого служит индексация при помощи знака двоеточия. Предположим, что в массиве w, соответствующем вектор-строке из семи элементов, требуется заменить нулями элементы со второго по шестой. Индексация при помощи двоеточия позволяет просто и наглядно решить поставленную задачу:

» w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8];
» w(2:6) = 0;
» w
w =
0.1000 0 0 0 0 0 9.8000

Присваивание w(2:6) = 0 эквивалентно последовательности команд
w(2) = 0; w(3)=0; w(4)=0; w(5)=0; w(6)=0.
Индексация при помощи двоеточия оказывается удобной при выделении части из большого объема данных в новый массив:

» w — [0.1 2.9 3.3 5.1 2.6 7.1 9.8];
» wl = w(3:5)
wl =
3.3000 5.1000 2.6000

Составьте массив w2, содержащий элементы w кроме четвертого. В этом случае удобно использовать двоеточие и сцепление строк:

» w2 = [w(l:3) w(5:7)]
w2 =
0.1000 2.9000 3.3000 2.6000 7.1000 9.8000

Элементы массива могут входить в выражения. Нахождение, например среднего геометрического из элементов массива u, можно выполнить следующим образом:

Конечно, этот способ не очень удобен для длинных массивов. Для того чтобы найти среднее геометрическое, необходимо набрать в формуле все элементы массива. В MatLab существует достаточно много специальных функций, облегчающих подобные вычисления.

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

Перемножение элементов вектора-столбца или вектора-строки осуществляется при помощи функции prod:

» z = [3; 2; 1; 4; 6; 5];
» р = prod(z)
p = 720

Функция sum предназначена для суммирования элементов вектора. С ее помощью нетрудно вычислить среднее арифметическое элементов вектора z:

» sum(z)/length(z)
ans =
3.5000

В MatLab имеется и специальная функция mean для вычисления среднего арифметического:

Для определения минимального и максимального из элементов вектора служат встроенные функции min и max:

» m1 = max(z)
m1 =
6
» m2 = min(z)
m2 =
1

Часто необходимо знать не только значение минимального или максимального элемента в массиве, но и его индекс (порядковый номер). В этом случае встроенные функции min и max необходимо использовать с двумя выходными аргументами, например

» [m, k] = min(z)
m =
1
k =
3

В результате переменной m будет присвоено значение минимального элемента массива z, а номер минимального элемента занесен в переменную k.
Для получения информации о различных способах использования функций следует набрать в командной строке help и имя функции. MatLab выведет в командное окно всевозможные способы обращения к функции с дополнительными пояснениями.
В число основных функций для работы с векторами входит функция упорядочения вектора по возрастанию его элементов sort.

» r = [9.4 -2.3 -5.2 7.1 0.8 1.3];
» R = sort(r)
R =
-5.2000 -2.3000 0.8000 1.3000 7.1000 9.4000

Можно упорядочить вектор по убыванию, используя эту же функцию sort:

» R1 = -sort(-r)
R1 =
9.4000 7.1000 1.3000 0.8000 -2.3000 -5.2000

Упорядочение элементов в порядке возрастания их модулей производится с привлечением функции abs:

» R2 = sort(abs(r))
R2 =
0.8000 1.3000 2.3000 5.2000 7.1000 9.4000

Вызов sort с двумя выходными аргументами приводит к образованию массива индексов соответствия элементов упорядоченного и исходного массивов:

» [rs, ind] = sort(r)
rs =
-5.2000 -2.3000 0.8000 1.3000 7.1000 9.4000
ind =
3 2 5 6 4 1

Читать еще:  Функция disp в matlab
Ссылка на основную публикацию
Adblock
detector