私は映画の3Dマトリックスを持っています(例えば、サイズJ * K * Lの行列M
)。私は各フレームを右にずらしたい。 fliplr(M)
を使用すると動作しません。M
は2-Dマトリックスでなければなりません。私は以下のforループを使うことができることを知っています:Matlabを使用して3D行列の左右反転のベクトル化
for ii=1:size(M,3)
M(:,:,ii)=fliplr(M(:,:,ii))
end
"ベクトル化された"方法ですか?
この場合、Matlabの行列操作(flipud
、repmat
など)のいずれかを実行するための「ベクトル化」方法がありますか?
ありがとう、これは完全な意味があり、私はそれがさらに好き!私がよりよく覚えておく必要がある特別なMATLAB関数は少なくなりました。 –
これは完全に有効な代替手段です。個人的には、私はそれが何をしているのか正確に教えてくれるので、私は「フリップディスク」を好む。上のコードを見ると、私は考える必要があります...これは書くのが簡単かもしれません(関数名を覚える必要はありません)、もう一つは読みやすくなります。あなたが両方の答えを得て、あなたが選ぶことができます。 – Floris