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
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.