我有一个由五个元素组成的相关矩阵 X(C1,C2,C3,C4,C5)
C1 C2 C3 C4 C5
C1 * 1 0 1 0
C2 1 * 0 0 1
C3 0 0 * 1 1
C4 1 0 1 * 0
C5 0 1 1 0 *
Run Code Online (Sandbox Code Playgroud)
我想使用 MatLab 将尽可能多的非零单元移动到对角线附近,同时保持对角线单元为“*”。
例如,您可能会注意到以下矩阵中的列和行正在移动,而对角单元格为“*”。
C1 C4 C2 C5 C3
C1 * 1 1 0 0
C4 1 * 0 0 1
C2 1 0 * 1 0
C5 0 0 1 * 1
C3 0 1 0 1 *
Run Code Online (Sandbox Code Playgroud)
因为我想做聚类,所以我希望尽可能多的非零单元在移位后接近对角线。这是一个NP难题。
有谁知道MatLab中有什么函数可以实现这个功能吗?