MATLAB Temelleri: Indexing, Matrix ve Plotting’i Görerek Öğrenin

MATLAB workspace, vector ve matrix oluşturma, indexing, logical mask, vectorization, script, function ve plotting temellerini interaktif Lab ile öğrenin.

📅2026-08-24
Harun BüyükçolakHarun Büyükçolak, Full Stack Developer
MATLAB Temelleri: Indexing, Matrix ve Plotting’i Görerek Öğrenin

Yazı içeriği

MATLAB öğrenirken zorluk genellikle matematikten değil; workspace state, bir tabanlı indexing, matrix kuralları ve element-wise operator’ların aynı anda devreye girmesinden doğar. Temel modeli doğru kurduğunuzda sayısal hesaplama ve plotting çok daha öngörülebilir hâle gelir.

Websoftik Academy MATLAB Foundations & Plotting Lab, komutun workspace’i nasıl değiştirdiğini, seçilen index’leri ve grafiğe giden veriyi senkronize gösterir. Böylece kodu yalnızca çalıştırmak yerine state üzerinden okuyabilirsiniz.

1. MATLAB Öğrenmeye Nereden Başlanır?

İlk hedef syntax ezberlemek değil; value, shape ve type üçlüsünü birlikte takip etmektir. Bir değişkenin yalnızca içeriğini değil, satır mı sütun mu olduğu ve işlemin hangi boyutta çalışacağı da bilinmelidir.

Sağlam sıra şöyledir: workspace ve assignment, scalar-vector-matrix modeli, indexing, element-wise operations, script/function ayrımı ve plotting. Foundations Lab bu sırayı kısa deneylerle takip eder.

2. Foundations & Plotting Lab Nasıl Çalışıyor?

MATLAB Foundations & Plotting Lab, editor, command trace, workspace inspector, matrix viewer ve plot canvas’ı aynı çalışma alanında birleştirir. Bir satır ilerlediğinizde yeni değerler ve değişen boyutlar vurgulanır.

Hazır senaryoları izleyebilir veya değerleri değiştirip sonucu yeniden üretebilirsiniz. “Bu satır ne yaptı?” sorusu code, state ve visual output arasında doğrudan bağ kurularak cevaplanır.

3. Command Window ve Workspace Nasıl Birlikte Çalışır?

Command Window komutları hemen çalıştırır; Workspace bellekteki variable’ları listeler. x = 5 assignment’ı x adında bir state üretir. Semicolon output’u gizler, hesabı veya assignment’ı engellemez.

clear variable’ları, clc Command Window metnini temizler; ikisi aynı şey değildir. Eski workspace state’i script sonucunu yanlış yorumlatabileceği için gerekli input’ları açıkça üretmek ve deneyler arasında state’i kontrol etmek önemlidir.

4. Vector ve Matrix Nasıl Oluşturulur?

Köşeli parantez içinde boşluk veya virgül sütunları, semicolon satırları ayırır: [1 2 3] bir row vector, [1; 2; 3] bir column vector’dür. [1 2; 3 4] ise 2×2 matrix üretir.

Aynı eleman sayısına sahip row ve column vector aynı shape değildir. Transpose ile yön değiştirilebilir; fakat complex veri için conjugate transpose ' ile nonconjugate transpose .' ayrımına dikkat edilmelidir.

5. Colon Operator ve Indexing Nasıl Çalışır?

MATLAB indexing birden başlar. A(2,3) ikinci satır, üçüncü sütun öğesini; A(:,2) bütün satırlardaki ikinci sütunu seçer. 1:2:9 başlangıç:adım:bitiş modeliyle bir range üretir.

end ilgili dimension’ın son index’ini temsil eder. A(2:end,:) gibi ifadeler input büyüklüğüne uyum sağlar. Lab, expression çalışmadan önce seçilecek hücreleri matrix üzerinde işaretleyerek off-by-one ve dimension karışıklığını azaltır.

6. Logical Indexing Nedir?

Bir karşılaştırma aynı shape’te logical mask üretir. A(A > 0), mask’in true olduğu elemanları seçer; A(A < 0) = 0 ise negatif elemanları doğrudan değiştirir.

Logical indexing, filtrelemeyi açık loop’lardan daha kısa ifade eder. Ancak sonuç çoğu durumda column vector olarak döner ve linear indexing column-major sırayı izler. Output shape’ini varsaymak yerine size ile kontrol etmek güvenlidir.

7. Matrix ve Element-Wise İşlem Arasındaki Fark Nedir?

*, / ve ^ linear algebra kurallarına göre matrix işlemi yapar. .*, ./ ve .^ ise karşılık gelen elemanlar üzerinde çalışır. A*B için inner dimension’lar uyuşmalıdır.

Bir fonksiyonu örnek noktalarında hesaplamak çoğu zaman y = x.^2 + 2.*x gibi element-wise operator ister. Dot karakterini rastgele eklemek değil, amaçlanan matematiksel modeli ayırmak gerekir.

8. Vectorization Neden Önemli?

Vectorization, bir collection üzerindeki işlemi index index loop yazmak yerine array operation ile ifade eder. y = sin(x), x’in bütün elemanları için sonucu tek satırda üretir. Kod çoğu zaman daha kısa ve matematiksel ifadeye daha yakın olur.

Modern MATLAB loop’ları geçmişe göre oldukça iyi optimize eder; bu nedenle “her loop yavaştır” ezberi doğru değildir. Önce doğru ve okunaklı çözüm kurun, performans kritikse profiler ile ölçün. Büyük ara array’lerin bellek maliyetini de hesaba katın.

9. Script ve Function Arasındaki Fark Nedir?

Script, varsayılan olarak base workspace’te çalışır ve mevcut variable’ları görebilir. Function ise kendi local workspace’ine sahiptir; input ve output sözleşmesi üzerinden veri alıp verir. Tekrar kullanılabilir hesaplamalarda function daha güvenli sınırlar kurar.

İyi bir function gizli workspace state’ine dayanmaz, input shape beklentisini doğrular ve output’un anlamını açık tutar. Script; deney, görselleştirme ve bir işlem hattını çalıştırma için kullanışlıdır. Lab iki modelin variable scope farkını yan yana gösterir.

10. Loop Ne Zaman Kullanılmalı?

Her iterasyon bir önceki state’e bağlıysa, erken çıkış gerekiyorsa veya işlem doğal olarak sequential ise loop okunaklı çözümdür. Iteration sayısı biliniyorsa for, koşula bağlıysa while tercih edilir.

Loop içinde büyüyen array yerine mümkün olduğunda önceden allocation yapın: y = zeros(size(x)). While loop’ta progress sağlayan update’i ve termination koşulunu açıkça kontrol edin; aksi hâlde infinite loop oluşabilir.

11. MATLAB Plotting Temelleri Nelerdir?

plot(x,y) iki boyutlu çizginin temelidir. x ve y uyumlu uzunlukta olmalıdır. xlabel, ylabel, title, legend ve grid on grafiğin ne anlattığını okunur kılar.

Birden fazla series için hold on kullanılabilir; ancak renk ve legend sırasını bilinçli yönetmek gerekir. Lab, source vector’daki bir noktayı seçtiğinizde plot üzerindeki karşılığını vurgulayarak data-to-pixel bağını görünür hâle getirir.

12. Surface ve Contour Grafikleri Nasıl Oluşturulur?

İki değişkenli bir fonksiyon için önce meshgrid ile X ve Y coordinate matrix’leri üretilir; Z, element-wise işlemlerle hesaplanır. surf(X,Y,Z) yüzeyi, contour(X,Y,Z) eş seviye eğrilerini gösterir.

Grid resolution arttıkça grafik pürüzsüzleşir fakat hesap ve bellek maliyeti büyür. Surface görselini yorumlarken colormap’in veri aralığına, axis scale’e ve viewpoint’e dikkat edin; estetik görünüm doğru ölçeğin yerine geçmez.

13. Boyut ve Index Hataları Nasıl Çözülür?

  • Index exceeds bounds: index geçerli aralığın dışındadır.
  • Inner matrix dimensions must agree: matrix multiplication shape’i uyumsuzdur.
  • Array sizes incompatible: element-wise operation için boyutlar broadcast edilemiyordur.
  • Undefined variable: isim, scope veya çalışma sırası yanlıştır.

Hata mesajından önce size, class ve gerekiyorsa whos çıktısını kontrol edin. Daha kapsamlı toparlanma planı için MATLAB dersinde zorlananlar için kurtarma rehberini okuyabilirsiniz.

14. MATLAB Foundations Lab Nasıl Çalışılmalı?

  1. Her komuttan önce output value, shape ve type tahmini yapın.
  2. Aynı veriyi row ve column vector olarak deneyip sonucu karşılaştırın.
  3. Colon operator ve logical mask ile aynı alt kümeyi iki yoldan seçin.
  4. Matrix ve element-wise operator’ları bilinçli olarak değiştirin.
  5. Bir loop’u vectorize edin; okunabilirlik ve maliyeti karşılaştırın.
  6. 2D plot’tan surface ve contour örneğine ilerleyin.

MATLAB Foundations & Plotting Lab’i açın ve komut, workspace ve grafik değişimini birlikte izleyin. Sonraki adımlar için 8 Academy Lab MATLAB çalışma rotasına geçin.

Sonraki Adim: Bunlari da Oku

Bu yaziyi tamamladiysan, bir sonraki seviyeye gecmek icin su iceriklerle devam etmeni oneririz:

Ucretsiz Seviye Analizi ile Baslayalim

Mevcut seviyenizi hizlica analiz edip size en uygun ders planini birlikte cikaralim.

WhatsApp