1
특정 조건을 만족하는 모든 요소 (요소 별)를 삭제하려는 경우 행렬에 대해 mat
이라고 말합니다.주어진 조건 행렬 부분 행렬 요소를 제거하는 방법?
mat(mat == 0) = [];
을하지만이 서브 매트릭스 지혜, 즉 조건이 주어진 행렬의 서브 매트릭스 요소를 제거 할 수있는 방법 : 모두 0을 제거, 이것은 할 것입니다. 예를 들어 data4d
은 크기가 n1 x n2 x n3 x n4
인 4D 행렬입니다. 네 번째 차원의 i
번째 (1=<i<=n4
) 부분 행렬의 모든 요소 즉, data4d(:, :, :, i) == zeros(n1, n2, n3)
이 제거되면, 즉 data4d(:, :, :, i) = []
이 제거됩니다.
간단한 for
루프가 없으면 어떻게 할 수 있습니까? 모두 다음과 같은 두 가지 버전이 작동하지 않습니다 :
data4d(data4d == zeros(n1, n2, n3)) = []; // version 1
data4d(data4d == zeros(n1, n2, n3, 1)) = []; // version 2