나는 영화의 3D 매트릭스를 가지고 있습니다 (크기가 J * K * L 인 매트릭스 M
). 각 프레임에서 왼쪽으로 넘기고 싶습니다. M
은 2-D 매트릭스 여야하므로 fliplr(M)
을 사용하면 작동하지 않습니다. 다음의 for 루프를 사용할 수 있다는 것을 알고 있습니다 :Matlab을 사용하여 3D 매트릭스의 좌우 뒤집기의 벡터화
for ii=1:size(M,3)
M(:,:,ii)=fliplr(M(:,:,ii))
end
"벡터화 된"방법입니까?
더 일반적으로 말하자면이 경우 Matlab의 행렬 조작 (flipud
, repmat
등)을 수행하는 "벡터화 된"방법이 무엇입니까?
고마워요, 이것은 완전히 이해가되고 나는 그것을 더 좋아합니다! 적은 수의 특수 MATLAB 함수를 기억해야합니다. –
그것은 완벽하게 유효한 대안입니다 - 개인적으로 나는 그것이 무엇을하는지 정확히 알려주므로 'flipdim'을 선호합니다. 위의 코드를 보면 생각할 필요가 있습니다.이 코드는 더 쉽게 작성할 수 있으며 (함수 이름을 기억할 필요가 없습니다), 다른 하나는 읽기 쉽습니다. 멋진 점은 두 가지 대답을 얻고 선택할 수 있다는 것입니다. – Floris