Blog YazılarMATLAB

MATLAB – 5.2 Bölüm

Sayısal Analiz - Elektrik Elektronik Mühendisliği


Üç Boyutlu Yüzey ve Eğri Çizimleri

Matlab’da üç boyutlu yüzey çizimleri için iki temel komut kullanılır:

  • mesh(X, Y, Z)
    ➤ Z değerlerini X ve Y koordinatlarına göre tel kafes (boş ızgara) şeklinde çizer.
    ➤ Görsel daha çok iskelet yapılıdır.

  • surf(X, Y, Z)
    ➤ Z değerlerini X ve Y koordinatlarına göre renkli, dolu yüzey olarak çizer.
    ➤ Görsel daha canlı, yüzey formundadır.

X ve Y, ister matris ister vektör olabilir.
Z, X ve Y’ye karşılık gelen yükseklik değerlerini (fonksiyon sonuçlarını) içerir.

📌 Örnek:

📤 Çıktı:

 

📌 Örnek:

Bu kod:

🔹 meshgrid ile X ve Y için bir ızgara oluşturur,
🔹 R = sqrt(X² + Y²) hesaplayarak merkezden uzaklığı bulur,
🔹 Z = sin(R)/R ile yüzey verisini oluşturur,
🔹 İlk subplot’ta mesh ile,
🔹 İkinci subplot’ta surf ile 3D yüzey grafiklerini çizer.

 

📌 5.5.2. contour(X, Y, Z) Komutu – Kısa Açıklama:

contour komutu, x ve y ekseninde verilen aralıklar üzerinden, z matrisine göre eş yükselti eğrileri (contour lines) çizer.
Genellikle haritacılıkta arazinin yükseklik dağılımını göstermek veya herhangi bir fonksiyonun seviye eğrilerini çıkarmak için kullanılır.
🔸 X ve Y → çizim aralığını tanımlar.
🔸 Z → her (x,y) konumundaki değeri gösteren matrisi ifade eder.
🔸 Eğri sayısı otomatik olarak belirlenir ama kullanıcı isteğiyle değiştirilebilir.

📌 Üç Boyutlu Eğri Çizim Komutu (plot3) – Kısa Açıklama:

plot3 komutu, x, y ve z koordinatları belirli olan noktaları birleştirerek 3 boyutlu bir eğri çizer.
Bu komut sayesinde zaman, pozisyon, frekans gibi farklı büyüklüklerin birlikte görselleştirilmesi mümkündür.

Kullanımı:
plot3(x, y, z)

🔸 x, y, z: Aynı boyutta vektörlerdir ve çizimde her bir (x,y,z) noktası bir eğri ile bağlanır.
🔸 Genelde 3 boyutlu animasyon ya da sinyal hareketi gibi grafikler çizmekte kullanılır.

📌 Örnek:

 

📌Boyutlu Pasta (Pie) Grafik Komutu – pie3

Görselde anlatılan konu, verilerin 3 boyutlu pasta grafik (pie chart) şeklinde gösterimidir. MATLAB’da bu tür görselleştirme için pie3 komutu kullanılır. 2D için pie, 3D için pie3 tercih edilir.

🔹 Komut Açıklamaları:

  • A → Pasta dilimlerinin büyüklüklerini belirten vektör.

  • malzemeler → Dilimlerin isimleri (etiketler).

  • one_cikan → Hangi dilimlerin dışarı çıkarılacağını belirler. 1 olanlar dışarı çekilir, 0 olanlar normalde kalır.

  • legend(...) → Grafik açıklama kutusu ekler.

  • title(...) → Grafik başlığı belirler.

 


MATLAB’da Alt Program (Function) Yapısı

MATLAB’da, tekrar eden işlemleri ana programda tekrar tekrar yazmak yerine, ayrı bir alt programa (function) aktarmak kodun daha düzenli ve okunabilir olmasını sağlar. Bu yaklaşımda, işlem yapılacak veri alt programa gönderilir, işlemler orada yapılır ve sonuç tekrar ana programa döndürülür.

Alt programlar function komutu ile tanımlanır ve genellikle .m uzantılı bir dosyada yazılır.

Örnek Açıklama:

Alt programın amacı: Verilen yarıçaplara göre daire alanlarını hesaplamak.

Alt Program (function):

Bu kod, kendisine gönderilen yaricap vektörünün her bir elemanı için daire alanı hesaplar.

Ana Program:

Bu örnekte, R içindeki her bir yarıçap değeri için dairenin alanı hesaplanır ve A vektörüne aktarılır. Hesaplama alt programda yapıldığından kod sade kalır.

 

Fonksiyon Biçimleri ve Kullanımı:

1. Tek Giriş – Tek Çıkış

  • x: Fonksiyona ana programdan gönderilen girdi.

  • y: x ile işlem yapıldıktan sonra elde edilen çıktı.

2. Çok Giriş – Tek Çıkış

  • Birden fazla giriş değerine karşılık tek bir çıktı üretir.

3. Tek Giriş – Çoklu Çıkış

  • Bir giriş değeriyle çalışır ama birden fazla sonuç üretir.

4. Çok Giriş – Çoklu Çıkış

  • Hem giriş hem de çıkış sayısı birden fazladır.

 

📌 Örnek: İkinci Dereceden Denklemin Köklerinin Hesaplanması (Alt Program ile)

Bu örnekte, MATLAB ortamında ikinci dereceden bir denklemin (ax² + bx + c = 0) köklerini hesaplayan bir alt program (kokbul11) tanımlanmıştır. Bu fonksiyon, verilen katsayılara göre iki kökü hesaplar ve ana programa döndürür.

📦 Tam Kodlar:

🔹 ana_program.m

🔹 kokbul11.m

💡 Not: Bu yapı sayesinde kök bulma işlemi, kod tekrarından kaçınarak farklı değerler için kolayca tekrar kullanılabilir. Hem modüler hem okunabilir bir yapı elde edilir.

 


 

Inline Komutu (⚠️ Kullanımı önerilmez, @ sembolü tercih edilmeli)

  • Amaç: Sıklıkla tekrarlanan ifadelerin hesaplanmasında kullanılan kısa yoldur.

  • Kullanım: inline komutu ile tanımlanır fakat modern MATLAB sürümlerinde @ operatörü kullanımı önerilir.

📌 Örnek:

 

fminbnd Komutu ile Minimum Noktanın Bulunması

  • Amaç: Tek değişkenli bir fonksiyonun belirli aralıktaki minimum değerini bulur.

  • Kullanım Şekli: x = fminbnd(@fonksiyon, alt_sinir, ust_sinir)

Fonksiyon ya doğrudan tanımlanabilir ya da @ işaretiyle fonksiyon dosyasına referans verilebilir. Komut, belirtilen aralıkta en küçük değeri üreten x değerini verir.

çıktı : x = -2.0000

 

📌 Örnek:

 

 

  • x → Fonksiyonun minimum yaptığı x değeri
  • fonkdegeri → Bu x değeri için fonksiyonun aldığı minimum değer

 

  • fplot komutu, bir fonksiyonun grafiksel çizimini yapar.
  • @f.adı: Çizilecek fonksiyonun adı (örneğin @sin, @cos veya kullanıcı tanımlı bir fonksiyon).
  • [xmin xmax]: Fonksiyonun hangi x aralığında çizileceğini belirtir.

 

⚙️ MATLAB’de Fonksiyon Grafikleri ve Minimum Nokta Bulma

1. Minimum Noktayı Bulma – fminbnd Fonksiyonu

Belirli bir aralıkta tanımlı olan bir fonksiyonun en küçük değerini (minimum noktasını) bulmak için fminbnd fonksiyonu kullanılır.

Bu kod parçası, fonksiyonu x^2 - 6x + 13 olarak belirler ve x’in 0 ile 5 arasındaki değerleri için minimum noktayı bulur. Sonuç, x_min değişkenine atanır.

2. Fonksiyon Grafiği Çizimi – fplot Komutu

Verilen bir fonksiyonun belirtilen aralıkta grafiğini çizmek için fplot fonksiyonu tercih edilir.

Burada x^2 - 6x + 13 fonksiyonu, 0 ile 5 arasındaki değerler için grafiğe dökülür.

3. Tanımlı Olmayan Fonksiyonun Çizimi

MATLAB’de tanımlı olmayan ama kullanıcı tarafından girilen bir fonksiyon da grafik olarak çizilebilir:

1/x gibi tanımlanamayan noktalara dikkat! Bu örnekte x = 0 kullanılmaz.

4. Parametrik Eğrilerin Çizimi

Eğer x ve y bir parametre (örneğin t) cinsinden ifade edilmişse, bu tür eğriler parametrik eğri olarak adlandırılır ve aşağıdaki gibi çizilebilir:

Bu kodda x = cos(2t), y = sin(3t) fonksiyonları aynı grafik üzerine çizilir.

5. Birden Fazla Eğriyi Aynı Grafikte Gösterme

Bu örnekte üç farklı sinüs fonksiyonu aynı grafikte farklı çizgi stilleriyle birlikte çizilir. hold on komutu önceki grafikleri silmeden yenisini çizer.

Açıklama:
  • fplot fonksiyonu, verilen matematiksel ifadeyi belirli bir aralıkta çizer.

  • hold on komutu, mevcut grafiğin üzerine yeni grafikler eklemeyi sağlar.

  • hold off ise çizim işlemini sonlandırır; yeni grafik önceki grafiği siler.

  • Stil (çizgi tipi, renk, işaretleyici) "--ob" gibi formatlarla belirlenebilir:

    • -- kesikli çizgi

    • o daire işaretleyici

    • b mavi renk

Bu kodlar, sinüs fonksiyonunun 3 farklı versiyonunu aynı grafikte farklı biçimlerde çizer:

Bu örnekte:

  • cos(x) fonksiyonu ve iki kaydırılmış hali çiziliyor.

  • Farklı renkler (r=kırmızı, g=yeşil) ve semboller (o, x) kullanılmıştır.

  • hold on ile grafikler birleştirilmiş, hold off ile çizim tamamlanmıştır.

 

📌 Örnek:

Aşağıdaki üç farklı x aralığı için:

  • x = [-1 4]
  • x = [-4 1]
  • x = [-8 -4]

Bu fonksiyonun:

  • Minimum yapan x değerlerini bulun,

  • Bu x değerlerindeki y (fonksiyon) değerlerini hesaplayın,

  • Her aralık için fonksiyonun grafiğini alt alta çizdirin.

 

Kullanılan MATLAB Komutları Açıklamaları
  • fminbnd(@fonk, a, b)
    Verilen [a, b] aralığında fonk fonksiyonunun minimum değer aldığı x’i bulur.
  • subplot(3,1,k)
    3 satırlı, 1 sütunlu grafik alanı oluşturur ve k‘inci konuma çizer.
  • fplot(@fonk, [a b])
    Verilen aralıkta fonksiyonun grafiğini çizer.

 

✅ MATLAB Kod

Komut Açıklama
meshgrid X ve Y matrislerini oluşturur (zemin hazırlar)
mesh X, Y ve Z ile 3D yüzey çizer (zemini şekillendirir)

 

“Serimiz bu noktada sona ermektedir. Ancak konuyla ilgili daha fazla bilgi edinmek ve öğrenmeye devam etmek isteyenler için aşağıda bazı kaynaklar önerilmiştir. İlgilendiğiniz alana uygun olanlardan dilediğinizi seçerek ilerleyebilirsiniz.”

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu