MATLAB matrislerini Numpy dizilimleri olarak yazmak
Takip ettiğim derste bolca örnek MATLAB kodu var. Kodla oynamak için elle oluşturulmuş örnek değişkenleri Numpy ile yeniden yazmam gerekiyor. MATLAB'de yazılmış şu örneğe bakalım:
s = [-1 1 0; 0 0 1];
Bunu Numpy ile yazmak için normalde uzun uzun yazıyordum:
s = np.array([[-1, 1, 0], [ 0, 0, 1]])
Bu biraz sıkıcı bir iş. Bunun yerine kısa bir fonksiyon ile bunu halletmek daha iyi:
def m2array(s): return np.array(np.matrix(s.strip()))
Kullanması da çok basit. MATLAB matrisini bir karakter dizisi olarak yazıp fonksiyona göndermek yetiyor:
m2array('[-1 0 1 0]') # array([[-1, 0, 1, 0]]) m2array('[-1 0; 1 0; 0 1]').T # Dönen değerin devriğini de alabiliriz # array([[-1, 1, 0], # [ 0, 0, 1]]) m2array('[-1; 0; 1; 0]') # array([[-1], # [ 0], # [ 1], # [ 0]])