Как вычислить коммутационную матрицу в MATLAB - PullRequest
0 голосов
/ 29 сентября 2018

Матрица коммутации определена в: https://en.wikipedia.org/wiki/Commutation_matrix

Предположим, у меня есть матрица

A = [1,2,3;4,5,6];

Как получить матрицу коммутации в MATLAB?

1 Ответ

0 голосов
/ 29 сентября 2018

Не уверен, что это "обман", но вы можете попробовать:

[m, n] = size(A);
I = reshape(1:m*n, [m, n]); % initialize a matrix of indices of size(A)
I = I'; % Transpose it
I = I(:); % vectorize the required indices
Y = eye(m*n); % Initialize an identity matrix
Y = Y(I,:); % Re-arrange the rows of the identity matrix

И тогда матрица коммутации будет Y.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...