Я использую алгоритм Cuthill-McKee. После нахождения нужного вектора мне нужно восстановить исходную матрицу. Я нашел ответ здесь https://www.mathworks.com/matlabcentral/answers/94946-how-do-i-obtain-the-original-mapping-after-performing-symrcm-in-matlab-7-1-r14sp3, но для моих изображений я получаю «Индекс превышает размеры матрицы». Есть ли другой способ сделать это? (Желательно без наличия оригинальной матрицы)
symV %original matrix k1 = symrcm(symV) matrix_after_cm = symV(k1,k1); spy(first_after_cm)
Мне ответили на вопрос здесь https://www.mathworks.com/matlabcentral/answers/484202-how-to-obtain-the-original-matrix-after-performing-symrcm-or-symamd-in-matlab?s_tid=ab_old_mlc_ans_email_view#comment_754323
Окончательное решение
[~,q] = sort(k1); AfromB = first_after_cm(q,q); % Elapsed time is 0.002503 seconds. norm(AfromB-symV) % ans = 0