Yeniden şekillendirmek, bir diziyi yeniden şekillendirmek için standart çözümdür. (Başka ne derler?) Hala ortaya çıkacak birkaç ipucu var.
Her şeyden önce, [n, m, p] boyutundaki bir diziyi [n * m, p] boyutuna dönüştürmenin en kolay yolu?
B = reshape(A,n*m,p);
Ama daha iyi şudur:
B = reshape(A,[],p);
boş yeniden şekillendirmek argümanlardan birini bırakırsanız, o zaman yeniden şekillendirmek sizin için boyutunu hesaplar! Dikkatli ol, eğer bunu denersen ve A'nın boyutu uymuyorsa, bir hata alacaksın. Böylece: 9 öğeye sahip bir öğeden iki sütun içeren bir dizi oluşturamayız. Mantıksal olarak, içinde 9 öğeye sahip bir öğeden iki sütun içeren bir dizi oluşturamayız. MATLAB Central değişkeni üzerinde wreshape isimli bir fonksiyon koymuş ve bu işlemin hatasız olarak yapılması için gereken şekilde ped takılabiliyordu. Tabii
, her zaman bir matris doğrudan bir vektör oluşturmak için
B = A(:);
gibi hileler kullanabilirsiniz. Bu formda
B=reshape(A,[],1);