Üç 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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
% x ve y aralıklarını tanımla x = -5:0.5:5; y = -5:0.5:5; % x ve y'yi grid sistemine çevir [X, Y] = meshgrid(x, y); % Fonksiyon tanımı (Z = X^2 + Y^2) Z = X.^2 + Y.^2; % Mesh çizimi (boş ızgara) figure; mesh(X, Y, Z); title('3B Mesh Grafiği'); % Surf çizimi (dolu yüzey) figure; surf(X, Y, Z); title('3B Surf Grafiği'); |
📤 Çıktı:

📌 Örnek:

|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
% Çözüm [X, Y] = meshgrid(-8:0.5:8, -8:0.5:8); R = sqrt(X.^2 + Y.^2); Z = sin(R)./R; subplot(2,1,1) mesh(X, Y, Z) xlabel("x"), ylabel("y"), zlabel("z") title("Mesh komutu ile f(x,y) yüzey çizimi") subplot(2,1,2) surf(X, Y, Z) xlabel("x"), ylabel("y"), zlabel("z") title("Surf komutu ile f(x,y) yüzey çizimi") |
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:
|
1 2 3 4 5 6 7 8 9 |
>> x = 0:pi/50:10*pi; % X eksenindeki değerler y = 2 * sin(x); % Y eksenindeki değerler (sinüs) z = cos(x); % Z eksenindeki değerler (kosinüs) plot3(x, y, z, 'k') % 3 boyutlu siyah çizgi title("Üç boyutlu eğri çizimi") xlabel("x"), ylabel("y"), zlabel("z") grid on axis square |

📌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.
|
1 2 3 4 5 6 7 |
urunler = ["elma", "armut", "muz", "portakal", "çilek"]; agirliklar = [2 3 1 1.5 2.5]; % Toplam 10 kg one_cikan = [0 1 0 0 1]; % Armut ve çilek dışarı çekilsin pie3(agirliklar, one_cikan); legend(urunler, "location", "eastoutside", "orientation", "vertical"); title("Meyve Ağırlık Dağılımı (3D Pasta Grafik)"); |

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):
|
1 2 3 |
function alan = daire_alani(yaricap) alan = pi * yaricap.^2; end |
Bu kod, kendisine gönderilen yaricap vektörünün her bir elemanı için daire alanı hesaplar.
Ana Program:
|
1 2 3 |
R = [2 4 6 8 10]; % Yarıçap değerleri A = daire_alani(R); % Alt program çağrılıyor disp(A); |
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ış
1 function y = isim(x)
x: Fonksiyona ana programdan gönderilen girdi.
y:xile işlem yapıldıktan sonra elde edilen çıktı.2. Çok Giriş – Tek Çıkış
1 function y = isim(a, b, c)
- Birden fazla giriş değerine karşılık tek bir çıktı üretir.
3. Tek Giriş – Çoklu Çıkış
1 function [u, v] = isim(z)
- Bir giriş değeriyle çalışır ama birden fazla sonuç üretir.
4. Çok Giriş – Çoklu Çıkış
1 function [out1, out2] = isim(in1, in2, in3)
- 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
|
1 2 3 4 5 6 |
a = 1; b = 5; c = 6; [x1, x2] = kokbul11(a, b, c); disp("x1 = " + x1); disp("x2 = " + x2); |
🔹 kokbul11.m
|
1 2 3 4 5 |
function [h1, h2] = kokbul11(k1, k2, k3) x = -k2 / (2 * k1); y = sqrt(k2^2 - 4 * k1 * k3) / (2 * k1); h1 = x + y; h2 = x - y; |
💡 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:
inlinekomutu ile tanımlanır fakat modern MATLAB sürümlerinde@operatörü kullanımı önerilir.
📌 Örnek:
|
1 2 3 4 5 |
% @ önerilen kullanım alan = @(a,b,h) ((a + b) * h) / 2; sonuc1 = alan(5, 7, 3) % sonuc1 = 18 sonuc2 = alan(4, 6, 2) % sonuc2 = 10 |
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.
|
1 |
x = fminbnd(@sin, 0, pi); % sin(x)'in [0, pi] aralığında minimum noktası |
|
1 2 |
f = @(x) x.^2 + 4*x + 3; x = fminbnd(f, -5, 0); % Minimum x değeri bulunur |
çıktı : x = -2.0000
📌 Örnek:
|
1 2 3 4 5 6 7 |
>> z = @(t) 5*t.^3 - 6*t.^2 + 8; >> sonuc = fminbnd(z,-1,3) sonuc = 0.8000 |
1 [x, fonkdegeri] = fminbnd(@f.ad1, x1, x2)
x→ Fonksiyonun minimum yaptığı x değeri
fonkdegeri→ Buxdeğeri için fonksiyonun aldığı minimum değer
1 fplot(@f.adı, [xmin xmax])
fplotkomutu, bir fonksiyonun grafiksel çizimini yapar.
@f.adı: Çizilecek fonksiyonun adı (örneğin@sin,@cosveya 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.
|
1 |
x_min = fminbnd(@(x) x.^2 - 6*x + 13, 0, 5); |
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.
|
1 2 |
fplot(@(x) x.^2 - 6*x + 13, [0 5]); grid on; |
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 2 |
fplot(@(x) sin(1./x), [0.01 0.1]); grid on; |
⛔ 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:
|
1 2 3 4 |
xt = @(t) cos(2*t); yt = @(t) sin(3*t); fplot(xt, yt); grid on; |
Bu kodda x = cos(2t), y = sin(3t) fonksiyonları aynı grafik üzerine çizilir.
5. Birden Fazla Eğriyi Aynı Grafikte Gösterme
|
1 2 3 4 |
fplot(@(x) sin(x), '--r'); hold on fplot(@(x) sin(x+pi/4), '-.b'); fplot(@(x) sin(x+pi/2), ':k'); hold off grid on; |
Bu örnekte üç farklı sinüs fonksiyonu aynı grafikte farklı çizgi stilleriyle birlikte çizilir. hold on komutu önceki grafikleri silmeden yenisini çizer.
Açıklama:
-
fplotfonksiyonu, verilen matematiksel ifadeyi belirli bir aralıkta çizer. -
hold onkomutu, mevcut grafiğin üzerine yeni grafikler eklemeyi sağlar. -
hold offise çizim işlemini sonlandırır; yeni grafik önceki grafiği siler. -
Stil (çizgi tipi, renk, işaretleyici)
"--ob"gibi formatlarla belirlenebilir:-
--kesikli çizgi -
odaire işaretleyici -
bmavi renk
-
|
1 2 3 4 |
fplot(@(x) cos(x + pi/6), "Linewidth", 1.5); hold on fplot(@(x) cos(x - pi/6), "-.or"); fplot(@(x) cos(x), ":xg"); hold off grid on; |

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 onile grafikler birleştirilmiş,hold offile ç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ığındafonkfonksiyonunun minimum değer aldığı x’i bulur.
subplot(3,1,k)
3 satırlı, 1 sütunlu grafik alanı oluşturur vek‘inci konuma çizer.
fplot(@fonk, [a b])
Verilen aralıkta fonksiyonun grafiğini çizer.
✅ MATLAB Kod
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
>> y = @(x) (0.025*x.^5 - 0.0625*x.^4 - 0.333*x.^3 + x.^2); % 1.Grafik [x1min y1] = fminbnd(y,-1,4) subplot(3,1,1) fplot(y,[-1 4]) % 2. Grafik [x2min y2] = fminbnd(y,-4,-1) subplot(3,1,2) fplot(y,[-4 -1]) % 3. Grafik [x3min y3] = fminbnd(y,-8,-4) subplot(3,1,3) fplot(y,[-8 -4]) |
|
1 2 3 4 5 6 7 8 9 10 11 |
x1min = 2.0438e-06 y1 = 4.1771e-12 x2min = -1.0000 y2 = 1.2456 x3min = -7.9999 y3 = -840.6690 |

Komut Açıklama meshgridX ve Y matrislerini oluşturur (zemin hazırlar) meshX, 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.”
- Matlab 9.8 (önerim)
- Yeni Başlayanlar Için Matlab
-
MATLAB Eğitim Seti: Yapay Zeka ve Mühendislik Uygulamaları
[Kitapların satıldığı yerler ile sponsorluk anlaşması yoktur örnek olsun diye konulmuştur]


