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

<<sum(diag(fliplr(X)))

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

<<sum(diag((X)))

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

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

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

X =

1 -7 0 -6

2 -5 -6 -5

-3 0 1 -2

-7 -5 -5 -3

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

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

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

 

ans =

13 17 12 16

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

max_stolb =

17

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

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

ans =

14

18

6

20

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

max_str =

20

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

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

ans =

13 17 12 16

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

s1 =

58

Вычислить:

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

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

s =

17.2627

Найти среднее арифметическое в каждом столбце

>> mean(X )

ans =

-1.7500 -4.2500 -2.5000 -4.0000

Среднее всех элементов матрицы:

>> mean(mean(X)) или mean(X(:))

ans =

-3.1250

Удалить максимальный элемент в векторе

[xmax,pmax]=max(X);

X(pmax)=[];

Вставить значение 100 в вектор после элемента с номером k=3

X=[3 5 8 55 4 9 1];

>> n=length(X);

>> k=3;

>> X(k+1:n+1)=X(k:n); или так X(k+2:n+1)=X(k+1:n);

>> X(k+1)=100;

>> X

X =

3 5 8 100 55 4 9 1

В матрице поменять местами столбцы с минимальным и максимальным элементами.

% нахождения номера столбца с минимальным значением

[m_min,jmin]=min(min(b));

% нахождения номера столбца с максимальным значением

[m_max,jmax]=max(max(b));

% перестановка столбцов

buf=b(:, jmin);

b(:, jmin)=b(:, jmax);

b(:, jmax)=buf;

Поменять местами 1 и 2-ю половины вектора

округление до ближайшего целого в сторону нуля, например, fix (1.8)=1

Если количество элементов четное:

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

>> buf=M(1:n/2);

M(1:n/2)=M(n/2+1:n);

M(n/2+1:n)=buf;

M=

8 9 2 4 5 6

Если количество элементов нечетное:

>> X=[4 5 6 8 9 ]

X =

4 5 6 8 9

>> n=5;

>> buf=X(1:fix(n/2));

X(1:fix(n/2))=X(fix(n/2)+2:n);

X(fix(n/2)+2:n)=buf;

>> X

X =

8 9 6 4 5


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



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