0
대용량의 희소 행렬이 있고 행별로 데이터를 정렬해야합니다. 지금 난 그냥 희소 행렬의 행 단위 정렬
sort(matrix,2, 'descend')
을하고 있어요하지만 난, 행렬을 전치했던 열에 정렬을 한 후 원래의 크기로 다시 전치 경우, 또는 경우에 같은 작업이 빨리 갈 것인지 궁금가 더 나은 속도를 얻을 수있는 다른 방법이었습니다.
코멘트에서 언급 한 바와 같이
사례에 대한 두 가지 작업 시간을 측정 해 보셨습니까? 매트릭스와 차원 (행/열)의 희소성에 달려 있다고 말할 수 있습니다. 내 생각에 MATLAB은 차원 1 또는 2를 지정하는 경우 정렬을 최적화하므로 두 개의 조인 작업의 오버 헤드가 없어야합니다. 전에 말했듯이, 매트릭스의 구조에 대한 사전 지식이 없습니다. – gevang
저는 Matlab의 사람들이 transpose-sort-transpose를 생각해 보았을 것이고 실제로 더 빠르다면 그것을 사용했다고 생각합니다. 이것은 전체 행렬에 대한 것입니다. 스파 스 매트릭스의 정확한 내부 구조를 알지 못하지만 전치가 중요하다고 생각하지 않습니다. 속도에 관해서 - 두 가지 옵션 중 하나를 타이밍을 시도 했습니까? –
예, 타이밍을 시도했는데, 결국 0.20 초가 더 빠를 때 더 빨리 수행 할 수 있습니다. 그러나, 나는 감속을위한 범인이 실제로 repmat이고, 내가 생각한 것처럼 분류하지 않는다는 것을 발견했다. – Orgrim