Soru sorMatris reshape komutu
ismail_ahmet tarafından 8 yıl önce soruldu

Merhaba;
100×100 lük bir matrisi reshape ile (10000,1) ile matris haline getirip tekrar nasıl eski 100×100 lük haline getirebilirim imresize ile yaptığımda saçma bir sıralama yapıyor. Ben ilk 100 ünü 1 sutün ilk 100 satır yapmasını 200 ü 2 sütün 200 satır yapmasını istiyorum. Nasıl yapabilirim.

1 Cevap
hakkans Yönetici tarafından 8 yıl önce cevaplandı

Merhaba,
A matrisi 100×100 lük olsun.

B=reshape(A, [10000, 1]);
[adinserter block="2"]
%buraya baska islemler gelebilir
C=reshape(B, [100, 100]);
D=C'

yaptığınız takdirde matris 10000×1 lik bir vektör olacak, sonra ilk 100 elemanı (A'nın ilk satırını) sütuna taşıma istiyorsanız, önce matrisi eski boyutuna döndürüp, sonra transpozunu alacak. B vektörü üzerinde işlem yapmış olsanız da (A'dan farklı bir hale gelmişse) bu şekilde çalışacaktır. reshape fonksiyonunu sadece vektöre çevirmek için değil, matrise çevirmek için de kullanabilirsiniz.