지금 Matlab에 문제가 있습니다. 나는 현재 3806 x 122 크기의 대형 셀 어레이에서 모든 NaN을 제거하려고합니다. 비슷한 문제의 솔루션을보고 있었고, 함께 생각해 냈습니다. 그것은이Cellfun이 NaN을 지울 때 행렬을 재정렬합니다.
(ex).
1 2 3 4 5 5 NaN
6 5 2 5 6 7 NaN
2 3 4 5 6 7 NaN
NaN NaN NaN NaN NaN NaN NaN
처럼 보이기 때문에
data(cellfun(@(x) any(isnan(x(:))), data)) = [];
내 매트릭스 내 문제는 내가 배열에 위의 코드의 라인을 적용 할 때 더 NaN을이의 출력을 얻을 것입니다 가지 이상이다.
1 2 3 4 5 5 6 5 2 5 6 7 2 3 4 5 6 7 etc...
왜 이렇게하는지 이해할 수 없습니다. 또한 각 열에는 해당 제목이 있으므로 열을 삭제하는 데주의해야하며 열을 섞어서는 안됩니다. 어떻게 든 열과 행에 NaN이 있는지 색인을 붙일 수 있으면 도움이 될 것입니다. 따라서 해당 제목을 삭제할 수 있습니다.
결국 제목과 데이터를 다음과 같은 데이터 세트 구조에 넣고 싶습니다.
(ex).
'title1' 'title2' 'title3' 'title4' 'title5' 'title6'
1 2 3 4 5 5
6 5 2 5 6 7
2 3 4 5 6 7
모든 도움을 주시면 감사하겠습니다.
안부, 조나단
는'NaN'의 항상 마지막 행과 마지막 열에서, 또는 그들이 주변에 퍼져있는 것이다 것 더 효율적인 방법은? 숫자와 'Nan'이있는 행/열이 있습니까 (마지막 행/열 제외)? –
Robert, NaN의 대다수는 위에 표시된 것처럼 배열의 아래쪽과 측면에 있지만 NaN의 일부 열이 데이터 전체에 분산되어 있습니다. –