Türkçe yazılım geliştirme soru/cevap sitesi, Çağrı 2

Birkaç gün önce Türkçe yazılım geliştirme soru/cevap sitesi önerisi için bir çağrıda bulunmuştuk. Tanım ('definition') aşamasında olan site için en az 60 kullanıcıya ve 10'ar puanlı 10 soruya ihtiyaç vardı. Bu aşama sitenin çerçevesini oluşturacak sorular sorma aşamasıydı. Çok kısa bir sürede bu ihtiyacı karşıladık ve birçok örnek sorumuz oldu. Şimdi ise taahhüt/söz ('commitment') aşamasındayız. Yani, site açılırsa […]

Türkçe yazılım geliştirme soru/cevap sitesi

Stackexchange'de Türkçe yazılım geliştirme soru/cevap site önerisi mevcut. Eğer gerekli topluluk desteği sağlanırsa site hayata geçebilecek. Şu anda tanımlama (definition) aşamasında olan önerinin bir sonraki aşamaya geçmesi için toplam 60 takipçiye ve 10ar puanlı 10 soruya ihtiyaç var. Ardından taahhüt/söz (commitment) aşamasına geçilecek ve ancak yeterli destek sağlanabilirse beta sürümüyle hayata geçecek. Yazılım konusunda böyle bir siteye […]

MATLAB'de neden döngülerden kaçınmalıyız ve ilklendirme yapmalıyız?

Bildiğimiz üzere, MATLAB, yorumlayıcı (interpreter) diller sınıfına ait. Yavaşlığa neden olan bu altyapı yüzünden MATLAB kullanırken döngülerden kaçınmamız tembihlenir. Peki biz bu tembihlere denemeden inanır mıyız? Cevabı aldım, evet, inanmayız! Bir e-deney (bunu yeni uydurdum, bilgisayarcının deneyi böyle olur) tasarlayalım. Döngü kullanmanın ve ilklendirme yapmanın, yani MATLAB diliyle konuşursak, for kullanmanın ve zeros ile değişken […]

Eleman eleman işlem yapma - 2

Önceki yazıya takviye olan bu yazıda bsxfun fonksiyonuna bakacağız. İlk yazıda bahsi geçen fonksiyonlar tek bir dizilimdeki elemanlar üstünde işlem yapmaya yarıyordu. bsxfun ise iki farklı dizilimde eleman eleman ikili işlem (binary operation) yapıp sonuçları yine bir dizilimde saklamaya yarıyor. Örneğin iki vektörde toplama yapmanın türlü türlü yolu var: a = [1 2 3]; b = […]

Fonksiyon tutucular ve anonim fonksiyonlar

Bu yazıda MATLAB kullanıcılarının çok bilmediği fonksiyon tutucular (function handle) ve anonim fonksiyonlara bakalım. İlk örneğimiz integral almak olsun ve şöyle basit bir fonksiyonumuz olsun: $$h(x) = 10x$$ Bu fonksiyonun [1,10] aralığında integralini analitik olarak alalım: \begin{align}\int_1^{10} h(x) \, dx &= 10 \frac{x^2}{2}\bigg|_{1}^{10}\\&= 500 - 5 \\&= 495\end{align} Şimdi bunu MATLAB ile nasıl yapacağımıza bakalım. İlk […]

Log hilesi ve Stirling yaklaşımı ile büyük sayıların faktöryelini hesaplama

Faktöryel fonksiyonu çok hızlı büyüyen bir fonksiyon: $n$ çok büyük olmamasına rağmen $n!$ kısa sürede pratik olarak hesaplanamaz duruma gelebiliyor.  Örneğin MATLAB'deki factorial fonksiyonu $n\leq 21$ için doğru hesaplanabilirken daha büyük $n$ değerleri için  yalnızca ilk 15 basamağa kadar doğru sonuç alınabiliyor. Bu durumda Stirling yaklaşımı olarak bilinen alttaki formülden yararlanmak düşünülebilir. $$n! \approx \sqrt{2\pi […]

Kalıcı değişkenler

MATLAB'de kalıcı değişken tanımlarken kullanabileceğiniz bir anahtar sözcük var: persistent. Yaratılan değişkenin siz fonksiyondan çıksanız bile hafızada korunmasını sağlıyor. C'deki static anahtar sözcüğü gibi düşünebilirsiniz. Örneğin bir koşan ortalama (running averager) fonksiyonu yazalım: function ortalama = kosanOrtalama(x) persistent n; persistent toplam; if x == 'sifirla' % Kalıcı değişkenleri ilklendir n = 0; toplam = 0; […]

Eleman eleman işlem yapma

MATLAB kullanıyorsanız arrayfun, cellfun, spfun ve structfun  fonksiyonlarından haberdar olmak işinizi rahatlatabilir. Bu fonksiyonlar en genel anlamda konuşacak olursak, kullandığınız verideki elemanlar üstünde hızlıca işlem yapıp sonuçları yine bir listede oluşturmanızı sağlar. Hemen taze kullandığım bir örnek vereyim: klasor= '../veri/yuzler/'; dosyaAdlari= arrayfun(@(x) x.name, dir([klasor '*.jpg']), 'UniformOutput', false); Üstteki örnekte, ilgili klasördeki 'jpg' uzantılı dosya adlarını dosyaAdlari […]

Korna

Her gün sokağa çıkmamla birlikte şoförlerin saniye sektirmediği yaya tacizine maruz kalıyorum. Bir saniye bile korna sesine bezenmeden geçmiyor. Hele taksi ve dolmuş şoförleri yok mu, yollarda terör estiriyor. Evin köşesindeki kavşağa hiçbiri sinyal vererek girmiyor. Üniversiteye gidene kadar enerjimin belki de yarısını yollarda bırakıyorum. İnsanların yüzü sırf bu yüzden asık. Sırf kafa dinlemek için […]

Yolculuk

Eğer tünelin sonunda aydınlık bir dünya beklerseniz, tünelin karanlığı daha da uzun sürer. Artık lezzetli şeyler yemek istemediğinizde, ne yerseniz yiyin, bunun gerçek tadını alabilirsiniz. Bir yemek masasını doğal beslenmenin sade gıdalarıyla donatmak kolaydır, ama böyle bir ziyafetin gerçekten tadını çıkarabilenler azdır. Masanobu Fukuoka, "Ekin Sapı Devrimi", Kaos Yay., 2. baskı, Mart 2011, sf. 134.