MATLAB'de bir fonksiyonu farklı sayıdaki parametreler ile çağırabiliriz. Bu durumda fonksiyon bazı parametreler için varsayılan değer kullanacak şekilde yazılmalıdır. Örneğin üçüncü parametresi opsiyonel olan bir fonksiyon yazalım: function f(g1,g2,g3) if nargin < 3 g3 = 'varsayilan deger'; end end nargin komutu "number of arguments in"i, yani girdi sayısını veriyor. Fonksiyon iki girdi ile çağırılırsa g3'ü […]
29 Kasım 2013 | Yorum ekle | Kategori: Programlama | Etiketler: matlab
Diğer dillerin aksine MATLAB'deki for döngüsünün değişkeni statiktir. Aslında pass by value demek daha doğru olur. Bu ne demek? Hemen bir örnekle göstereyim: A = 1:5; for i = A A = 1; disp(i); end
27 Kasım 2013 | Yorum ekle | Kategori: Programlama | Etiketler: matlab
Sevgili okurlar, bildiğiniz gibi ismailari.com'da bilimsel programlama adına birçok yazı paylaşıyorum. Umarım faydasını görüyorsunuzdur. Tahmin edeceğiniz üzere ismailari.com için barındırma (hosting) hizmeti alıyorum. Hizmet aldığım Webfaction firması affiliate program uyguluyor; sizin referansınızla barındırma alan kişinin ödediği paranın onda biri kadar sizin de ödenmiş paranız oluyor. Benim kullanıcı adımı referans vererek barındırma hizi alırsanız ismailari.com'u desteklemiş […]
27 Kasım 2013 | Yorum ekle | Kategori: Genel
MATLAB kodluyorsanız i ve j'yi değişken olarak kullanmamanız tavsiye edilir. Çünkü bunlar karmaşık sayıların sanal kısımlarını ifade ederken kullanılır. Fakat yeni sürümlerde bu kafa karışıklığı ortadan kaldırıldı. Artık başına 1 koyarak 1i veya 1j ile sanal kısımları oluşturmak mümkün. Örneğin: >> 2 + 1i ans = 2.0000 + 1.0000i >> 3 - 5i ans = […]
25 Kasım 2013 | Yorum ekle | Kategori: Programlama | Etiketler: matlab
Elimizde N boyutlu bir küme olsun. Bu kümenin K boyutlu altkümelerinden en küçük standart sapmaya ait olanını nasıl buluruz? İnsanın ilk olarak aklına K eleman sayılı tüm altkümeleri sırasıyla denemek geliyor. Bunu nchoosek ile yapabiliriz. N = 20; K = 10; x = rand(N,1); C = nchoosek(x, K); tic min_s = realmax; for i = […]
24 Kasım 2013 | Yorum ekle | Kategori: Programlama, Teori | Etiketler: algoritma, matlab
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); […]
24 Kasım 2013 | Yorum ekle | Kategori: Programlama | Etiketler: matlab
Şöyle bir problemimiz olsun: $$\min_{U,Z} \|M\odot (X-UZ)\|_1$$ $\DeclareMathOperator*{\argmin}{arg\min} \DeclareMathOperator*{\argmax}{arg\max} \newcommand{\trace}[1]{\operatorname{trace}\left[#1\right]} \newcommand{\isreal}[1]{\in \mathbb{R}^{#1}} $
16 Kasım 2013 | Yorum ekle | Kategori: Programlama, Teori | Etiketler: eksik veri, l1, matlab
Geçtiğimiz yıl Ağustos ayında Karadeniz'de düzenlenen bir doğa bilimi kampına katıldım. Hayatımın en güzel günlerinden 10 günü orada geçirdim. İşte benim gözümden fotoğraflarla bilim kampı. Kampın düzenleneceği Çamlıhemsin'e gittiğimizde havalar çok güzeldi. Osmancan ve Ali'yle yollara çıktık. İsimliğim ve çınar yaprağı, Moleskineime çok yakıştı. Dere tepe demedik, bilim aşkıyla gezdik. İki minibüsü doldurduk, tepelere tırmandık. Sislerin […]
15 Kasım 2013 | 2 yorum | Kategori: Genel | Etiketler: bilim, karadeniz
Leo Babauta'nın Zen Habits'i yıllardır takip ettiğim nadide bir blog. Siteyi takip edip de Babauta'ya imrenmemek elde değil. Son zamanlarda da "...sız" bir yaşamın peşinde hayatından birtakım şeyleri çıkarmaya çabalıyor. Bu listeyi kendi üstümden yorumlayarak yazmak istedim. Temmuz: Kahve. Yerine: Çay. (Benim notum: Ben zaten haftada bir kahve içen biriyim. Çayı da azalttım bir hayli. […]
15 Kasım 2013 | Yorum ekle | Kategori: Genel
Konferans ya da benzer bir etkinlik düzenliyorsunuz ve onlarca katılımcı var. İsimlik hazırlamak kabusa dönüşüyor çünkü herkes için isimleri yeniden yazıyorsunuz. Gelin bu işi LaTeX ile otomatize edelim! Her isimlik katılımcının adını, üniversitesini ve üniversite logosunu içersin. Ben tek taraflı isimlikleri sevemiyorum. Yok arkası döndü de, geri çevireyim derdinden katılımcıyı kurtaralım. Bunun için her isimden […]
14 Kasım 2013 | Yorum ekle | Kategori: Programlama | Etiketler: akademisyene reçeteler, latex