MATLAB Türkiye sitesi, MATLAB ile çalışan öğrencilerin ve araştırmacıların sorularını sorabilecekleri, aynı zamanda MATLAB’da çeşitli işlemleri gerçekleştirmek için rehberler barındıran bir internet sitesi olarak kuruldu. MATLAB Türkiye, öğrenci ve araştırmacıların MATLAB öğrenme süreçlerine destek olmaktadır; ama MATLAB yazılımını öğrenmek apayrı bir süreçtir. En temel kabullerimizden biri, bu sürecin asla nihayete ermeyeceği olmalıdır. MATLAB her gün hakkında yeni bir şeyler öğrenebileceğiniz bir yazılımdır. Bu yazımızda MATLAB’ı nasıl öğrenebileceğinize dair bazı ipuçları paylaşacağız. Buradaki ipuçlarını MATLAB öğrenmedeki dinamik süreç nedeniyle tekrar tekrar ziyaret ettiğinizi göreceksiniz.
Yazı İçeriği
Temel Programlama Konseptlerini Öğrenin
MATLAB’ı çoğunlukla kod yazarak kullanıyor olacaksınız. Bu yüzden temel programlama konseptlerini öğrenmeniz çok önemli. Nedir bu konseptler peki? Sıralayalım:
- Değişkenler ve türleri (sayılar, vektörler, matrisler, Boolean, string…)
- If-else şartları
- For/while döngüleri
- Fonksiyon tanımlama, girdi/çıktılar
Bu konseptlere yakınlığınız, yapmak istediğiniz işlemi kafanızda kurgulamaya olanak tanır. Bu aşamada yapmak istediğiniz işlemi bir sözde kod (pseudo kod) ile ifade edebilirsiniz. Sözde kodda satır satır, ama programlama dilini kullanmadan yapacağınız işlemleri sıralarsınız. Basit bir örnekle gösterelim. Beş adet farklı kütledeki cisimlerin ağırlıklarını hesaplayan ve MATLAB’ın komut penceresine basacak bir kod yazacak olalım:
% Değişken tanımlama: Beş adet cismin kütlelerini barındıran vektör m ve yerçekimi ivmesi g % For döngüsü, 1’den 5’e kadar %W=m*g hesaplaması %Ağırlık değerinin bir vektörde saklanması % For döngüsünün sonu % Sonucun komut penceresine basılması
Bu genel yapı size yapılması gerekenlerin bir listesini sunmaktadır.
Lineer Cebir Bilgilerinizi Gözden Geçirin
MATLAB programının kullanımında matris ve vektörler ile çalışmak, işlemlerinizi birçok açıdan kolaylaştıracaktır. Matris ve vektörlerle dört işlem, matris ve vektör özellikleri ve özel matrisler/vektörler hakkında bir bilgi birikimine sahip olmak, MATLAB’a yaklaşımınızı değiştirecektir. Yukarıda bir for döngüsü kullanarak 5 adet cismin ağırlığını tek tek hesapladık. Ama aslında bunu for döngüsü yapmadan da gerçekleştirebilirdik. Bunu yapabilmek için bütün vektörü g ile çarptığımızda ağırlıkları bulacağımızı görmemiz gerekiyor, bu da temel seviyede lineer cebir bilgisi gerektiriyor.
MATLAB Sözdizimini (Syntax) Öğrenin
MATLAB’a yeni başlayan birinin en sık yaşadığı sorunlardan biri MATLAB programlama dilinin kurallarına uygun yazım gerçekleştirmemektir. MATLAB dili diğer programlama dillerine fazlasıyla benzemektedir; hatta onlara görece çok daha kolay bir yapısı vardır. Bu yüzden kısaca MATLAB’ın belli başlı yazım kurallarını öğrenin. Böylece karmaşık bir kod yazdığınızda yazım kuralı sebepli hatalarla uğraşmak zorunda kalmazsınız. MATLAB’ın özellikle yeni sürümlerinde bu yazım hatalarının program tarafından belirtildiğini de not düşelim.
Basit Başlayın
Yeni başlayanların yaptığı en temel hatalardan biri karmaşık bir kodu baştan aşağı yazıp sonra hataları ayıklamaya kalkışmalarıdır. Oysaki uğraştığınız problem ne kadar küçük olursa, o kadar kolay olur. Örneğin yazacağınız koda başlarken önce değişkenlerinizi tanımlayın. Bu parça kodu çalıştırın ve MATLAB çalışma alanında (workspace) değişkenlerin doğru tanımlandığına emin olun. Sonra yapacağınız işlemlerden ilkini gerçekleştirin ve kodu tekrar çalıştırıp doğru yolda ilerlediğinizden emin olun. Bu modüler yapıda ilerleyebilmek için yukarıda bahsettiğimiz sözde kod yapısı yardımcı olacaktır.
Hata Ayıklamayı (Debugging) Öğrenin
Yeni başlayan biri de, ileri düzey bir kullanıcı da kod yazarken hata yapabilir. Bu çok normaldir. Programlamada sahip olacağınız en büyük avantaj, hata ayıklama becerinizdir. Eğer hata ayıklama tekniklerini öğrenirseniz, bir kara kutu gibi görünen kodunuzda hangi aşamada hata yaptığınızı gözlemleyebilirsiniz. En temel hata ayıklama yöntemi olarak, kodunuza duraklar eklemeyi öneriyoruz. Editör penceresinde bunu durak eklemek istediğiniz satır numarasının yanına tıklayarak gerçekleştirebilirsiniz. Bu tıklamayı yaptığınızda, kırmızı bir daire belirecektir. Kodunuzu çalıştırdığınızda kod bu satıra kadar gelecek ve duracaktır. Bu noktada MATLAB çalışma alanından (workspace) değişkenlerin o andaki değerini inceleyebilir veya komut satırından çeşitli işlemler gerçekleştirerek hatanın kaynağını bulmaya çalışabilirsiniz.
Araştırın
MATLAB’da bir şeyi nasıl yapacağınıza dair hiçbir fikriniz yoksa, araştırmak en iyi seçenektir. MATLAB’ın en büyük üstünlüğü, özellikle de İngilizce dilinde her şeye dair bir rehberi bulunmasıdır. Bütün fonksiyonlar ve temel işlemleri MATLAB’ın geliştiricisi Mathworks’ün devasa denilebilecek resmi ansiklopedik kaynağından öğrenebilirsiniz. Stack Overflow gibi sitelerde de çeşitli problemlere yönelik oldukça fazla cevap mevcuttur. İngilizce metinleri tam olarak anlamasanız da, kod parçalarından ipucu çıkartabilirsiniz.
Zaman Ayırın
Bu herhalde tüm bu sürecin en önemli adımı olabilir. Sitemize gelen sorulara baktığımızda, öğrencilerin ağırlıklı olarak zaman kısıtından dolayı hemen sonuç almak istediklerini görüyoruz. Ancak MATLAB veya herhangi bir şeyi öğrenmek istiyorsanız, ciddi zaman ayırmanız gerekiyor. Bu sürecin iyi yanı, dersler için çok daha fazla vakit ayırmanız gerekebilirken, MATLAB’ın sağlam çevrimiçi kaynakları yardımıyla harcanması gereken sürenin en aza inmesidir. Hatta MATLAB’da bir problemi çözmenin internette ne kadar iyi arama yapabildiğinize bağlı olduğu dahi söylenebilir.
Deneyin
Yeni başlayanların atladığı temel hususlardan biri de denemeye açık olmamalarıdır. Öğrenilen birkaç temel bilgi ile yazılmaya çalışılan kod çalışmayınca başka şey denemek aklımıza gelmeyebiliyor. Ancak programlama ortamı, farklı şeyleri kolayca deneyebilmenizi sağlar. Kimi zaman esaslı bir şekilde temellendirmeden yapılacak küçük denemeler sonucu, probleminizi çözebilir veya çözme yolunda bir şeyleri fark edebilirsiniz. O yüzden kodunuzun aslını ayrı bir yere kaydettikten sonra yeni bir kopyasıyla aklınıza gelen çözümleri denemekten çekinmeyin.
Bize Sorun
MATLAB öğrenmede en çok yardımcı olabilecek hususlardan biri de soru-cevap alışverişleridir. Tüm bu adımlardan sonra hâlâ takıldığınız noktalar olması çok normaldir. Kendi probleminize yönelik özel bir cevap arıyor olabilirsiniz. İşte biz bu noktada yardımcı olmaya çalışıyoruz. Soru Sor sayfamız üzerinden sorduğunuz sorulara cevap vermeye çalışıyoruz. Ve size yardımcı olmaya çalışırken de, konuyu bilmiyor olsak da, yukarıda bahsettiğimiz adımları kullanarak bir çözüme ulaşmaya çalışıyoruz. Soru cevaplarken önceliğimiz, sizin problem çözümünde belli bir noktaya kadar gelmiş olduğunuzu görmektir. “Armut piş ağzıma düş” tarzı yaklaşımlar bugünü kurtarsa da geleceğinize büyük zarar verecektir.
Katılın
MATLAB bilgi birikiminizi artırmanın yollarından biri de sitemizdeki sorulara cevap vererek katkıda bulunmaktır. Soru Sor sayfamızda görebileceğiniz üzere görüntü işlemeden Simulink’e, matematik işlemlerinden dosya okumaya kadar çok geniş bir yelpazede sorular sitemize geliyor. Bunlar üzerine araştırma yapıp soru cevaplayarak bilmediğiniz konularda yeni şeyler öğrenmenin yanında, problem çözme kabiliyetinizi geliştirebilirsiniz. Bu da uzun vadede kod yazmanızı kolaylaştıracaktır.
Tüm bu adımların yanı sıra, MATLAB’ın temellerini sistematik bir şekilde öğrenmek isterseniz, MATLAB Türkiye Akademi’ye katılabilirsiniz. Burada sizi bu yazıda da bahsedilen temel adımları gerçekleştirmenize yardımcı olacak bir şekilde iki kısımlı ödevler veriyoruz. Birinci kısımda ödeve konu olan konseptleri açıklamanız için araştırma yapmanızı sağlarken, ikinci kısımda ise MATLAB üzerinde kodlama ödevleri yaptırıyoruz. Bu sayede 5 ödevlik eğitimimizi tamamladığınızda MATLAB’ın temeline belli bir hâkimiyet elde edebilirsiniz. Bundan sonra ise kod yazma, araştırma, hata ayıklama ve soru sorma döngüsü dahilinde kendinizi geliştirebilirsiniz.
Hepinize başarılar dileriz.