MATLAB'de bir fonksiyonu matrisin her satırına/sütununa nasıl uygularız?
sum
ve prod
gibi birçok yerleşik (built-in) fonksiyon satırlar veya sütunlara uygulanabilir. Bu avantajı yazacağınız kodda kullanmayı düşünebilirsiniz.
Eğer kullanamıyorsanız, sütun veya satırları hücre yapısında tutmayı sağlayan mat2cell
veya num2cell
fonksiyonlarını kullanıp oluşan dizilimde cellfun
ile işlem yapabilirsiniz.
Örnek olarak M
matrisinin sütunlarının toplamını yapmak istediğimizi düşünelim. Bunu basitçe sum
ile yapabilirsiniz:
M = magic(10); % 10x10'luk bir matris sutunToplamlari = sum(M); % Her sütunun toplamını içeren 1x10'luk vektör
Bir de bunu num2cell
/cellfun
ile yapalım:
M = magic(10); % 10x10'luk bir matris C = num2cell(M,1); %Sütunları hücrelerde topla columnSums = cellfun(@sum,C); % Her hücrenin toplamını bulan 1x10'luk vektör