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


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

Например,

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

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

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

Y =

-4 -6 -5

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

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

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

>> sum(X(X<0))

ans =

-15

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

>> sum(X<0)

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

ans=

Для матрицы:

>> 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) % Будет найдено количество отрицательных значений в каждой строке

ans =

>> mean(X(X<0))

ans =

-5

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

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

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

>> max(X(X<8))

ans =

Для матрицы

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

В =

1 2 3

-4 8 -3

9 -1 -2

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

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

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

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

>> mean(В(В>0))

ans =

4.6000

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

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

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

<<sum(diag((В)))

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

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

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

В =

1 -7 0 -6

2 -5 -6 -5

-3 0 1 -2

-7 -5 -5 -3

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

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

>> sum(abs(В)) % сумма модулей в столбцах

 

ans =

13 17 12 16

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

max_stolb =

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

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

ans =

>>max_str=max(sum(abs(В),2))

max_str =

Вычислить значение суммы модулей элементов матрицыпо формуле

>> sum(abs(В)) %значение внутренней суммы

ans =

13 17 12 16

>> s1=sum(sum(abs(В))) или >>s1=sum(abs(В(:)))

s1 =

Вычислить:

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

>> s=sqrt(sum(sum(abs(В).^2)))

s =

17.2627



Дата добавления: 2020-03-21; просмотров: 244;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.