Matlab Eğitim Portalı

Mühendislik ve Bilimsel Hesaplamalar için Güçlü Araç

A = [1 2; 3 4]; B = inv(A); C = A*B

1. Matlab Tanıtımı

Matlab (Matrix Laboratory), sayısal hesaplamalar, veri analizi, algoritma geliştirme ve modelleme için tasarlanmış yüksek performanslı bir programlama dilidir. 1984 yılında MathWorks şirketi tarafından geliştirilen Matlab, mühendislik, fizik, matematik ve diğer bilimsel alanlarda yaygın olarak kullanılmaktadır.

💡 Tarihsel Bilgi: Matlab, Cleve Moler tarafından 1970'lerde lineer cebir dersleri için geliştirilmiş ve daha sonra Jack Little tarafından C diline dönüştürülmüştür.
Matlab'ın Temel Özellikleri:
  • • Matris tabanlı hesaplamalar için optimize edilmiştir
  • • Gelişmiş grafik çizim yetenekleri sunar
  • • Toolbox'lar aracılığıyla uzmanlaşmış fonksiyonlara erişim sağlar
  • • İnteraktif bir ortam ve programlama dili sunar
  • • Veri analizi ve görselleştirme için güçlü araçlar içerir
  • • Simulink ile dinamik sistemlerin modellenmesi ve simülasyonu mümkündür
Matlab Arayüzü
Matlab arayüzü dört ana bölümden oluşur:
Command Window: Komutların girildiği ve sonuçların görüntülendiği pencere
Workspace: Tanımlanan değişkenlerin listelendiği alan
Current Folder: Çalışılan dizinin dosyalarını gösterir
Command History: Daha önce girilen komutların kaydını tutar
1 % Matlab'da temel bilgileri görüntüleme
2 version % Matlab versiyonunu gösterir
3 computer % Bilgisayar bilgilerini gösterir
4 license % Lisans bilgilerini gösterir
5 clc % Command Window'u temizler
6 clear % Workspace'teki tüm değişkenleri siler
7 close all % Tüm grafik pencerelerini kapatır

Matlab, diğer programlama dillerine göre daha yüksek seviyeli bir dildir ve matris işlemleri için özel olarak optimize edilmiştir. Bu nedenle, matris ve vektör işlemleri çok daha hızlı ve kolaydır.

Dikkat: Matlab lisanslı bir yazılımdır. Öğrenciler için özel indirimli lisanslar mevcuttur. Alternatif olarak ücretsiz olan Octave yazılımı kullanılabilir.
1 % Matlab'da yardım almak
2 help plot % plot komutu hakkında yardım
3 doc plot % plot komutu için detaylı belgeler
4 lookfor plot % plot kelimesini içeren tüm fonksiyonlar

Matlab'ın en büyük avantajlarından biri, geniş bir kullanıcı topluluğu ve zengin belgeleme kaynağına sahip olmasıdır. Her türlü matematiksel, istatistiksel ve mühendislik problemi için Matlab'da hazır fonksiyonlar veya örnek kodlar bulunabilir.

Toolbox'lar
Matlab, uzmanlaşmış alanlar için toolbox'lar sunar:
Symbolic Math Toolbox: Sembolik matematik işlemleri
Statistics and Machine Learning Toolbox: İstatistiksel analiz ve makine öğrenmesi
Image Processing Toolbox: Görüntü işleme
Control System Toolbox: Kontrol sistemleri tasarımı
Signal Processing Toolbox: Sinyal işleme
💡 Başlangıç İpucu: Matlab'da her komutun sonuna noktalı virgül (;) koymak, o komutun sonucunun ekrana yazdırılmasını engeller. Bu, özellikle büyük matrislerle çalışırken çok kullanışlıdır.

2. Matlab ile Aritmetik İşlemler, Değişkenler ve Atamalar

Matlab, temel aritmetik işlemlerden karmaşık matematiksel hesaplamalara kadar geniş bir yelpazede işlem yapma imkanı sunar. Matlab'da tüm işlemler matris tabanlıdır, bu nedenle tek bir sayı bile 1x1 boyutunda bir matris olarak değerlendirilir.

+, -, *, /, ^

Bu operatörler sırasıyla toplama, çıkarma, çarpma, bölme ve üs alma işlemlerini gerçekleştirir.

1 % Temel aritmetik işlemler
2 a = 5 + 3 % Toplama: 8
3 b = 10 - 4 % Çıkarma: 6
4 c = 7 * 2 % Çarpma: 14
5 d = 15 / 3 % Bölme: 5
6 e = 2^4 % Üs alma: 16
7 f = sqrt(25) % Karekök: 5
8 g = mod(17, 5) % Mod alma: 2
Öncelik Sırası
Matlab'da işlem öncelik sırası:
1. Parantez içi işlemler
2. Üs alma
3. Çarpma ve bölme (soldan sağa)
4. Toplama ve çıkarma (soldan sağa)
Özel Matematiksel Fonksiyonlar:
  • pi: π sabiti (3.14159...)
  • exp(x): e^x (e üssü x)
  • log(x): Doğal logaritma (ln)
  • log10(x): 10 tabanında logaritma
  • sin(x), cos(x), tan(x): Trigonometrik fonksiyonlar
  • asin(x), acos(x), atan(x): Ters trigonometrik fonksiyonlar
  • abs(x): Mutlak değer
  • round(x): En yakın tam sayıya yuvarlama
  • floor(x): Aşağı yuvarlama
  • ceil(x): Yukarı yuvarlama
1 % Örnek hesaplamalar
2 sonuc1 = 2 * (3 + 4)^2 - 5 % 2*49-5 = 93
3 sonuc2 = sin(pi/2) + cos(0) % 1 + 1 = 2
4 sonuc3 = exp(1) % e sayısı: 2.71828
5 sonuc4 = log(exp(5)) % 5
6 sonuc5 = abs(-7.8) % 7.8
7 sonuc6 = round(3.7) % 4
8 sonuc7 = floor(3.7) % 3
9 sonuc8 = ceil(3.2) % 4

Değişken Tanımlama ve Atama: Matlab'da değişkenler, değer atamadan önce tanımlanmaları gerekmez. Değişken isimleri harfle başlamalı, harf, rakam ve alt çizgi (_) içerebilir. Matlab büyük-küçük harf duyarlıdır.

1 % Değişken tanımlama örnekleri
2 x = 10; % x değişkenine 10 değerini ata
3 y = 3.14; % y değişkenine 3.14 değerini ata
4 ad_soyad = 'Ali Yılmaz'; % String değişken
5 dogru_mu = true; % Mantıksal değişken
6 sayilar = [1, 2, 3, 4, 5]; % Dizi değişkeni
7 toplam = x + y; % İki değişkenin toplamı
Dikkat: Matlab'da "i" ve "j" varsayılan olarak sanal birim (√-1) olarak tanımlıdır. Bu değişkenleri başka amaçlarla kullanırsanız, karmaşık sayı hesaplamalarınız etkilenebilir.
💡 İpucu: who komutu ile workspace'teki tüm değişkenleri, whos komutu ile ise değişkenlerin detaylı bilgilerini (boyut, byte, sınıf) görebilirsiniz.
1 % Değişkenleri görüntüleme
2 who % Tüm değişken isimlerini listeler
3 whos % Değişkenlerin detaylı bilgilerini gösterir
4 clear x % x değişkenini siler
5 clear all % Tüm değişkenleri siler

Matlab'da değişkenlere dizi, matris veya skaler değerler atanabilir. Ayrıca, bir değişkenin değerini başka bir değişkene atayarak kopyalama yapabilirsiniz.

Değişken Yeniden Tanımlama
Matlab'da bir değişkeni yeniden tanımladığınızda, eski değeri tamamen kaybolur ve yerine yeni değer geçer. Bu, hafıza yönetimini kolaylaştırır.
1 % Değişken yeniden tanımlama
2 a = 5; % a değişkenine 5 değerini ata
3 a = a + 3; % a değişkeninin değerini 3 artır (şimdi 8)
4 a = [1 2 3]; % a değişkenini şimdi bir dizi yap
5 a = 'merhaba'; % a değişkenini şimdi bir string yap

Matlab'da özel anlamlara sahip bazı değişkenler vardır:

Özel Değişkenler:
  • ans: Hiçbir değişkene atanmayan işlemlerin sonucu
  • pi: π sayısı (3.1415926535897...)
  • inf: Sonsuz (∞)
  • NaN: Sayı değil (Not a Number)
  • i, j: Sanal birim (√-1)
  • eps: Makine duyarlılığı (2.2204e-16)
  • realmin: En küçük pozitif kayan nokta sayısı
  • realmax: En büyük pozitif kayan nokta sayısı
💡 İleri Seviye: format komutu ile sayıların görüntülenme biçimini değiştirebilirsiniz: format short (varsayılan), format long, format bank, format rat (rasyonel) gibi.

3. Matlab ile Cebirsel İfadeler ve Polinomlar

Matlab, cebirsel ifadeler ve polinomlarla çalışma konusunda güçlü yeteneklere sahiptir. Symbolic Math Toolbox kullanılarak sembolik matematik işlemleri yapılabilir, ancak temel Matlab fonksiyonları ile de polinomlar üzerinde çeşitli işlemler gerçekleştirilebilir.

Polinom Gösterimi
Matlab'da polinomlar, katsayılarının azalan derecelere göre sıralandığı vektörlerle temsil edilir. Örneğin, p(x) = 3x³ + 2x² - 5x + 7 polinomu [3, 2, -5, 7] vektörüyle gösterilir.
1 % Polinom tanımlama
2 p = [3, 2, -5, 7]; % 3x³ + 2x² - 5x + 7
3 q = [1, 0, -4, 0, 5]; % x⁴ - 4x² + 5
4 r = [2, -3]; % 2x - 3

Polinom Değerlendirme: polyval fonksiyonu ile bir polinomun belirli bir x değerindeki sonucu hesaplanabilir.

1 % Polinom değerlendirme
2 p = [1, -5, 6]; % x² - 5x + 6
3 sonuc = polyval(p, 2) % x=2 için polinomun değeri: 0
4 sonuc2 = polyval(p, 3) % x=3 için polinomun değeri: 0
5 sonuc3 = polyval(p, 0) % x=0 için polinomun değeri: 6
6 x_degerleri = 0:0.1:5; % 0'dan 5'e kadar 0.1 aralıklarla
7 y_degerleri = polyval(p, x_degerleri); % Tüm x değerleri için y değerleri
Polinom İşlemleri:
  • polyder(p): Polinomun türevini alır
  • polyint(p): Polinomun integralini alır
  • conv(p,q): İki polinomun çarpımını hesaplar
  • deconv(p,q): Polinom bölme işlemi yapar
  • roots(p): Polinomun köklerini bulur
  • poly(r): Kökleri verilen polinomu oluşturur
  • polyfit(x,y,n): Verilere en iyi uyan n. dereceden polinomu bulur
1 % Polinom işlemleri örnekleri
2 p = [1, -5, 6]; % x² - 5x + 6
3 q = [1, -1]; % x - 1
4 t = [1, 1]; % x + 1
5 % Polinom çarpımı
6 carpim = conv(p, q) % (x²-5x+6)(x-1) = x³-6x²+11x-6
7 carpim2 = conv(q, t) % (x-1)(x+1) = x²-1
8 % Polinom bölme
9 [bolum, kalan] = deconv(p, q) % (x²-5x+6)/(x-1) = x-4, kalan: 2
💡 Polinom Kökleri: roots fonksiyonu ile bir polinomun tüm kökleri (reel ve karmaşık) bulunabilir. poly fonksiyonu ile de kökleri bilinen bir polinom oluşturulabilir.
1 % Polinom kökleri
2 p = [1, -5, 6]; % x² - 5x + 6
3 kokler = roots(p) % [3; 2] - Kökler 3 ve 2
4 % Köklerden polinom oluşturma
5 yeni_p = poly(kokler) % [1, -5, 6] - Orijinal polinom
6 % Karmaşık köklü polinom
7 q = [1, 0, 4]; % x² + 4
8 kokler2 = roots(q) % [0+2i; 0-2i] - Karmaşık kökler

Sembolik Matematik: Symbolic Math Toolbox kullanılarak sembolik değişkenler tanımlanabilir ve cebirsel ifadeler üzerinde sembolik işlemler yapılabilir.

Dikkat: Symbolic Math Toolbox Matlab'ın ek bir bileşenidir ve temel Matlab kurulumuna dahil değildir. Bu toolbox olmadan sembolik işlemler yapılamaz.
1 % Sembolik değişkenler ve ifadeler (Symbolic Math Toolbox gerekli)
2 syms x y z % Sembolik değişkenler tanımla
3 ifade1 = x^2 + 2*x + 1 % Sembolik ifade
4 ifade2 = (x+y)^2 % Başka bir sembolik ifade
5 genislet = expand(ifade2) % x² + 2xy + y²
6 carpan = factor(ifade1) % (x+1)²
7 basitlestir = simplify(sin(x)^2 + cos(x)^2) % 1
8 subs(ifade1, x, 3) % x yerine 3 koy: 16
Veriye Uyumlu Polinom
polyfit fonksiyonu, verilen veri noktalarına en iyi uyan polinomu bulur. Bu, veri analizi ve regresyon için çok kullanışlıdır.
1 % Veriye uyumlu polinom bulma
2 x = [1, 2, 3, 4, 5]; % x verileri
3 y = [1.5, 3.2, 4.8, 7.1, 9.3]; % y verileri
4 p1 = polyfit(x, y, 1) % 1. dereceden (lineer) polinom
5 p2 = polyfit(x, y, 2) % 2. dereceden polinom
6 p3 = polyfit(x, y, 3) % 3. dereceden polinom
7 % Uyumlu polinomu kullanarak yeni değerler hesaplama
8 y_tahmin = polyval(p1, x); % Lineer polinomla tahmin
9 hata = y - y_tahmin; % Hata hesaplama
💡 Polinom Türev ve İntegral: polyder ve polyint fonksiyonları ile polinomların türev ve integralleri kolayca hesaplanabilir. Bu, mühendislik hesaplamalarında çok kullanışlıdır.
1 % Polinom türev ve integral
2 p = [1, -3, 0, 4]; % x³ - 3x² + 4
3 turev = polyder(p) % 3x² - 6x
4 integral = polyint(p) % 0.25x⁴ - x³ + 4x + C (C=0 varsayılır)
5 % Belirli integral hesaplama
6 int_p = polyint(p); % İntegral polinomu
7 a = 0; b = 2; % İntegral sınırları
8 belirli_integral = polyval(int_p, b) - polyval(int_p, a) % [0,2] aralığında integral

Polinomlar, mühendislik ve bilimsel hesaplamalarda sıklıkla karşılaşılan matematiksel yapılardır. Matlab'ın polinomlarla çalışma yetenekleri, bu tür problemlerin çözümünü büyük ölçüde kolaylaştırır.

4. Matlab ile Temel Grafik Çizim Komutları

Matlab, veri görselleştirme ve grafik çizim konusunda son derece güçlü yeteneklere sahiptir. plot fonksiyonu en temel ve en çok kullanılan grafik çizim komutudur. Matlab'da 2D grafikler oluşturmak, verileri analiz etmek ve sunmak için vazgeçilmez bir araçtır.

Temel Plot Komutu
plot(x,y) komutu, x ve y vektörlerinin karşılıklı elemanlarını kullanarak bir çizgi grafiği çizer. x vektörü yatay ekseni, y vektörü dikey ekseni temsil eder.
1 % Temel çizgi grafiği
2 x = 0:0.1:2*pi; % 0 ile 2π arasında 0.1 aralıklarla
3 y = sin(x); % sin(x) değerleri
4 plot(x, y) % Grafiği çiz
5 title('Sinüs Fonksiyonu') % Grafik başlığı
6 xlabel('x (radyan)') % X ekseni etiketi
7 ylabel('sin(x)') % Y ekseni etiketi
8 grid on % Izgara çiz
Grafik Özelleştirme Komutları:
  • title('Başlık'): Grafiğe başlık ekler
  • xlabel('Etiket'): X ekseni etiketi
  • ylabel('Etiket'): Y ekseni etiketi
  • legend('Etiket1', 'Etiket2'): Açıklama kutusu ekler
  • grid on/off: Izgara göster/gizle
  • axis([xmin xmax ymin ymax]): Eksen sınırlarını ayarlar
  • hold on/off: Aynı grafik üzerine çizim yapmayı sağlar
💡 Çizgi Özellikleri: plot(x,y,'renkstilisaret') şeklinde kullanılarak çizgi rengi, stili ve işaret tipi belirtilebilir. Örneğin: 'r--o' kırmızı, kesikli çizgi, daire işaretler.
1 % Farklı çizgi stilleri ve renkleri
2 x = 0:0.1:2*pi;
3 y1 = sin(x);
4 y2 = cos(x);
5 y3 = sin(x).*cos(x);
6 plot(x, y1, 'r-', 'LineWidth', 2) % Kırmızı, kalın, sürekli çizgi
7 hold on % Aynı grafik üzerine çizmeye devam et
8 plot(x, y2, 'b--', 'LineWidth', 2) % Mavi, kalın, kesikli çizgi
9 plot(x, y3, 'g:', 'LineWidth', 2) % Yeşil, kalın, noktalı çizgi
10 legend('sin(x)', 'cos(x)', 'sin(x)cos(x)') % Açıklama kutusu
11 title('Trigonometrik Fonksiyonlar')
12 xlabel('x')
13 ylabel('y')
14 grid on
15 hold off % Çizim modunu kapat

Diğer 2D Grafik Türleri: Matlab'da plot dışında birçok farklı grafik türü de mevcuttur.

Dikkat: scatter, bar, stem gibi diğer grafik türleri için de benzer özelleştirme seçenekleri mevcuttur. Her grafik türü için özel parametreler kullanabilirsiniz.
1 % Scatter plot (dağılım grafiği)
2 x = randn(100,1); % 100 adet rastgele x değeri
3 y = randn(100,1); % 100 adet rastgele y değeri
4 scatter(x, y, 50, 'filled') % Dağılım grafiği, dolu daireler
5 title('Rastgele Noktaların Dağılımı')
6 xlabel('X')
7 ylabel('Y')
8 grid on
9 % Bar plot (çubuk grafiği)
10 figure % Yeni bir grafik penceresi aç
11 aylar = {'Ocak','Şubat','Mart','Nisan','Mayıs'};
12 satislar = [200, 350, 300, 450, 400];
13 bar(satislar) % Çubuk grafiği
14 title('Aylık Satışlar')
15 xlabel('Aylar')
16 ylabel('Satış Miktarı')
17 set(gca, 'XTickLabel', aylar) % X ekseni etiketlerini ayarla
Subplot - Çoklu Grafikler
subplot(m,n,p) komutu, tek bir pencere içinde m satır, n sütun olacak şekilde p. pozisyona grafik çizmeyi sağlar. Bu, farklı grafikleri karşılaştırmak için çok kullanışlıdır.
1 % Subplot ile çoklu grafikler
2 x = 0:0.1:2*pi;
3 y1 = sin(x);
4 y2 = cos(x);
5 y3 = tan(x);
6 y4 = sin(x).*cos(x);
7 subplot(2,2,1) % 2x2 ızgara, 1. pozisyon
8 plot(x, y1, 'r-')
9 title('Sin(x)')
10 grid on
11 subplot(2,2,2) % 2x2 ızgara, 2. pozisyon
12 plot(x, y2, 'b-')
13 title('Cos(x)')
14 grid on
15 subplot(2,2,3) % 2x2 ızgara, 3. pozisyon
16 plot(x, y3, 'g-')
17 title('Tan(x)')
18 ylim([-5, 5]) % Y ekseni sınırlarını ayarla
19 grid on
20 subplot(2,2,4) % 2x2 ızgara, 4. pozisyon
21 plot(x, y4, 'm-')
22 title('Sin(x)Cos(x)')
23 grid on
💡 Grafik Penceresi Yönetimi: figure komutu yeni bir grafik penceresi açar. close all tüm grafik pencerelerini kapatır. clf mevcut grafik penceresini temizler.
1 % Grafik penceresi yönetimi
2 figure(1) % 1 numaralı pencereyi aktif yap
3 plot(sin(0:0.1:2*pi))
4 title('Grafik 1')
5 figure(2) % 2 numaralı pencereyi aktif yap
6 plot(cos(0:0.1:2*pi))
7 title('Grafik 2')
8 % figure; komutu da yeni bir pencere açar (otomatik numara verir)
9 figure;
10 plot(tan(0:0.1:2*pi))
11 title('Grafik 3')
12 % close(1) - 1 numaralı pencereyi kapat
13 % close all - Tüm pencereleri kapat
14 % clf - Mevcut pencereyi temizle

Matlab'ın grafik yetenekleri, verilerinizi etkili bir şekilde sunmanız ve analiz etmeniz için mükemmel bir araç sağlar. Grafiklerinize ekleyebileceğiniz başlıklar, etiketler, açıklamalar ve ızgaralar, grafiklerinizin daha anlaşılır ve profesyonel görünmesini sağlar.

5. Üç Boyutlu Uzayda Grafikler ve Uzay Eğrileri

Matlab, üç boyutlu grafikler oluşturmak için güçlü araçlar sunar. plot3, mesh, surf gibi fonksiyonlar sayesinde 3D yüzeyler, eğriler ve hacimler görselleştirilebilir. Bu, mühendislik, fizik ve matematikte karmaşık verilerin anlaşılmasını büyük ölçüde kolaylaştırır.

3D Uzay Eğrileri (plot3)
plot3(x,y,z) komutu, x, y ve z vektörlerinin karşılıklı elemanlarını kullanarak 3 boyutlu uzayda bir eğri çizer. Bu, parametrik denklemlerle tanımlanan uzay eğrilerinin görselleştirilmesi için idealdir.
1 % 3D helix (sarmal) eğrisi
2 t = 0:0.1:10*pi; % Parametre
3 x = cos(t); % x koordinatı
4 y = sin(t); % y koordinatı
5 z = t/(2*pi); % z koordinatı
6 plot3(x, y, z, 'b-', 'LineWidth', 2)
7 title('3D Helix Eğrisi')
8 xlabel('X')
9 ylabel('Y')
10 zlabel('Z')
11 grid on
12 box on % Kutu çerçevesi ekle
3D Grafik Komutları:
  • plot3(x,y,z): 3D uzay eğrileri
  • mesh(X,Y,Z): Tel kafes (wireframe) yüzey
  • surf(X,Y,Z): Renkli yüzey
  • contour3(X,Y,Z): 3D kontur çizgileri
  • scatter3(x,y,z): 3D dağılım grafiği
  • quiver3(x,y,z,u,v,w): 3D vektör alanı
  • slice(V,X,Y,Z): 3D hacim dilimleri
💡 3D Görünüm Ayarları: view(azimuth, elevation) ile grafik açısı ayarlanabilir. rotate3d on ile fareyle 3D grafik döndürülebilir. camlight ve lighting ile ışıklandırma ayarları yapılabilir.
1 % 3D yüzey grafiği (surf)
2 [X, Y] = meshgrid(-2:0.1:2, -2:0.1:2); % X ve Y ızgarası oluştur
3 Z = X .* exp(-X.^2 - Y.^2); % Z değerleri (fonksiyon)
4 surf(X, Y, Z) % Yüzey grafiği
5 title('3D Yüzey Grafiği')
6 xlabel('X')
7 ylabel('Y')
8 zlabel('Z')
9 colorbar % Renk skalası ekle
10 shading interp % Yumuşak renk geçişleri
11 grid on
12 box on
13 view(30, 30) % Görüş açısı ayarla
14 rotate3d on % Fareyle döndürmeyi etkinleştir

meshgrid Fonksiyonu: 3D grafiklerde X ve Y koordinatlarını oluşturmak için meshgrid fonksiyonu kullanılır. Bu fonksiyon, verilen x ve y vektörlerini kullanarak 2D ızgara noktalarını oluşturur.

Dikkat: 3D grafiklerde X, Y ve Z matrislerinin boyutları eşleşmelidir. meshgrid fonksiyonu bu eşleşmeyi sağlar.
1 % meshgrid kullanımı
2 x = -3:0.5:3; % x vektörü
3 y = -2:0.5:2; % y vektörü
4 [X, Y] = meshgrid(x, y); % 2D ızgara oluştur
5 disp('X matrisi:')
6 disp(X)
7 disp('Y matrisi:')
8 disp(Y)
9 % Z değerlerini hesapla
10 Z = X.^2 + Y.^2; % Paraboloid yüzey
11 figure
12 surf(X, Y, Z)
13 title('Paraboloid Yüzey')
14 xlabel('X')
15 ylabel('Y')
16 zlabel('Z')
Kontur Grafikleri
contour ve contour3 fonksiyonları, 3D yüzeylerin 2D veya 3D kontur haritalarını oluşturur. Bu, coğrafi haritalar, hava durumu haritaları ve diğer alanlarda yaygın olarak kullanılır.
1 % Kontur grafikleri
2 [X, Y] = meshgrid(-2:0.1:2, -2:0.1:2);
3 Z = X .* exp(-X.^2 - Y.^2);
4 % 2D kontur grafiği
5 figure
6 contour(X, Y, Z, 20) % 20 seviyeli kontur
7 title('2D Kontur Grafiği')
8 xlabel('X')
9 ylabel('Y')
10 colorbar
11 grid on
12 % 3D kontur grafiği
13 figure
14 contour3(X, Y, Z, 20)
15 title('3D Kontur Grafiği')
16 xlabel('X')
17 ylabel('Y')
18 zlabel('Z')
19 grid on
20 box on
💡 Özel 3D Yüzeyler: sphere, cylinder, peaks gibi hazır fonksiyonlarla özel 3D şekiller oluşturulabilir. Ayrıca, parametrik yüzeyler de oluşturulabilir.
1 % Özel 3D yüzeyler
2 % Küre
3 figure
4 [x, y, z] = sphere(50); % 50x50 ızgara ile küre
5 surf(x, y, z)
6 title('Küre')
7 axis equal % Eksenleri eşit ölçekle
8 shading interp
9 colormap(jet) % Renk haritası değiştir
10 % Silindir
11 figure
12 [x, y, z] = cylinder([1 0.5 0.2 0.5 1], 30); % Değişken yarıçaplı silindir
13 surf(x, y, z)
14 title('Değişken Yarıçaplı Silindir')
15 shading interp
16 colormap(hot)

3D grafikler, karmaşık veri kümelerinin ve matematiksel fonksiyonların görselleştirilmesi için vazgeçilmez araçlardır. Matlab'ın 3D grafik yetenekleri, bu tür verilerin anlaşılmasını ve analiz edilmesini büyük ölçüde kolaylaştırır.

6. Denklem ve Denklem Sistemi Çözümleri

Matlab, lineer ve lineer olmayan denklemlerin çözümü için güçlü araçlar sunar. solve, fsolve, linsolve gibi fonksiyonlar sayesinde tek değişkenli denklemlerden çok değişkenli denklem sistemlerine kadar geniş bir yelpazede problem çözülebilir.

Tek Değişkenli Denklemler
fzero fonksiyonu, tek değişkenli lineer olmayan denklemlerin sayısal çözümünü bulur. solve fonksiyonu (Symbolic Math Toolbox ile) sembolik çözüm sunar.
1 % Tek değişkenli denklem çözümü (fzero)
2 % x^3 - 2x - 5 = 0 denklemini çöz
3 f = @(x) x^3 - 2*x - 5; % Anonim fonksiyon tanımla
4 x_cozum = fzero(f, 2) % Başlangıç tahmini: 2
5 % Kontrol et
6 kontrol = f(x_cozum) % 0'a çok yakın olmalı
7 % Grafikle göster
8 x = linspace(1, 3, 100);
9 y = arrayfun(f, x);
10 plot(x, y, 'b-', x_cozum, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 2)
11 grid on
12 xlabel('x')
13 ylabel('f(x)')
14 title('x^3 - 2x - 5 = 0 Denkleminin Çözümü')
Denklem Çözme Fonksiyonları:
  • fzero(f,x0): Tek değişkenli lineer olmayan denklemler
  • fsolve(f,x0): Çok değişkenli lineer olmayan denklem sistemleri
  • solve(eq,var): Sembolik denklem çözümü (Symbolic Toolbox)
  • linsolve(A,B): Lineer denklem sistemleri (AX = B)
  • \ (backslash): Lineer denklem sistemleri için en iyi çözüm
  • roots(p): Polinom denklemlerin kökleri
💡 Lineer Denklem Sistemleri: Ax = b şeklindeki lineer denklem sistemleri için backslash (\) operatörü en etkili çözümdür. Bu, matris tersi alma işleminden daha hızlı ve daha doğru sonuçlar verir.
1 % Lineer denklem sistemi çözümü
2 % 2x + y = 7
3 % x - y = 1
4 A = [2, 1; 1, -1]; % Katsayılar matrisi
5 b = [7; 1]; % Sağ taraf vektörü
6 x = A \ b % Çözüm: x = 2.6667, y = 1.6667
7 % Alternatif yöntemler
8 x2 = inv(A) * b % Matris tersi ile çözüm
9 x3 = linsolve(A, b) % linsolve fonksiyonu ile
10 % Kontrol
11 kontrol = A * x - b % [0; 0] olmalı

Çok Değişkenli Denklem Sistemleri: fsolve fonksiyonu, birden fazla değişken içeren lineer olmayan denklem sistemlerinin çözümü için kullanılır.

Dikkat: fsolve fonksiyonu Optimization Toolbox gerektirir. Ayrıca, başlangıç tahmini (initial guess) çözümün bulunmasında kritik öneme sahiptir.
1 % Çok değişkenli denklem sistemi (fsolve)
2 % x^2 + y^2 = 10
3 % x + 2y = 1
4 fun = @(x) [x(1)^2 + x(2)^2 - 10; x(1) + 2*x(2) - 1]; % Denklem sistemi
5 x0 = [1, 1]; % Başlangıç tahmini
6 x_cozum = fsolve(fun, x0) % Çözüm
7 % Kontrol
8 kontrol = fun(x_cozum) % [0; 0]'a yakın olmalı
9 % Başka bir başlangıç tahmini ile farklı çözüm
10 x0_2 = [-1, -1];
11 x_cozum_2 = fsolve(fun, x0_2)
12 kontrol_2 = fun(x_cozum_2)
Sembolik Çözüm
Symbolic Math Toolbox ile sembolik denklem çözümü yapılabilir. Bu, tam matematiksel ifadelerle çözüm sunar ve yaklaşık sayısal çözümler yerine kesin sonuçlar verir.
1 % Sembolik denklem çözümü (Symbolic Math Toolbox)
2 syms x y % Sembolik değişkenler
3 % İkinci dereceden denklem
4 denklem1 = x^2 - 5*x + 6 == 0;
5 cozum1 = solve(denklem1, x) % [2, 3]
6 % Denklem sistemi
7 denklem2 = x + y == 5;
8 denklem3 = x - y == 1;
9 [x_cozum, y_cozum] = solve(denklem2, denklem3, x, y)
10 % Üçüncü dereceden denklem
11 denklem4 = x^3 - 6*x^2 + 11*x - 6 == 0;
12 cozum4 = solve(denklem4, x) % [1, 2, 3]
13 % Trigonometrik denklem
14 denklem5 = sin(x) == 0.5;
15 cozum5 = solve(denklem5, x) % π/6, 5π/6
💡 Polinom Denklemler: roots fonksiyonu, polinom denklemlerin tüm köklerini (reel ve karmaşık) bulmak için en etkili yöntemdir.
1 % Polinom denklemler (roots)
2 % x^4 - 5x^2 + 4 = 0
3 p = [1, 0, -5, 0, 4]; % Katsayılar
4 kokler = roots(p) % [-2, -1, 1, 2]
5 % x^3 - 1 = 0 (Birimin küpkökleri)
6 p2 = [1, 0, 0, -1];
7 kokler2 = roots(p2) % [1, -0.5+0.866i, -0.5-0.866i]
8 % x^2 + 1 = 0
9 p3 = [1, 0, 1];
10 kokler3 = roots(p3) % [0+1i, 0-1i]
11 % Grafikle göster
12 figure
13 x = linspace(-3, 3, 100);
14 y = polyval(p, x);
15 plot(x, y, 'b-', real(kokler), zeros(size(kokler)), 'ro', 'MarkerSize', 10)
16 grid on
17 xlabel('x')
18 ylabel('f(x)')
19 title('Polinomun Grafiği ve Kökleri')

Denklem çözme yetenekleri, Matlab'ın en güçlü yönlerinden biridir. Mühendislik problemlerinin büyük çoğunluğu, bir denklem veya denklem sisteminin çözümüne indirgenebilir. Matlab'ın bu tür problemleri çözme yeteneği, onu mühendislik ve bilimsel hesaplamalar için vazgeçilmez kılar.

7. Eşitsizlik ve Eşitsizlik Sistemleri

Matlab, eşitsizliklerin çözümü için çeşitli araçlar sunar. Özellikle Optimization Toolbox ile birlikte, lineer ve lineer olmayan eşitsizlik sistemlerinin çözümü mümkündür. Ayrıca, grafik yöntemlerle eşitsizliklerin çözüm bölgeleri görselleştirilebilir.

Grafik Yöntemle Eşitsizlik Çözümü
Tek veya iki değişkenli eşitsizlikler için grafik yöntem etkili bir çözüm yoludur. fill veya patch fonksiyonları ile çözüm bölgesi görselleştirilebilir.
1 % Tek değişkenli eşitsizlik: x^2 - 4 > 0
2 x = linspace(-4, 4, 1000);
3 y = x.^2 - 4;
4 figure
5 plot(x, y, 'b-', 'LineWidth', 2)
6 hold on
7 plot(x, zeros(size(x)), 'k--', 'LineWidth', 1) % x ekseni
8 % Çözüm bölgesini doldur (y > 0 olduğu yerler)
9 x_fill = x(y > 0);
10 y_fill = y(y > 0);
11 fill([x_fill, fliplr(x_fill)], [y_fill, zeros(size(y_fill))], 'r', 'FaceAlpha', 0.3)
12 grid on
13 xlabel('x')
14 ylabel('f(x) = x^2 - 4')
15 title('x^2 - 4 > 0 Eşitsizliğinin Çözümü')
16 legend('f(x) = x^2 - 4', 'x ekseni', 'Çözüm Bölgesi')
17 hold off
Eşitsizlik Çözüm Yöntemleri:
  • Grafik Yöntem: fill, patch fonksiyonları ile çözüm bölgesi görselleştirme
  • Optimization Toolbox: linprog, fmincon gibi fonksiyonlar
  • Sembolik Yöntem: solve fonksiyonu ile (Symbolic Math Toolbox)
  • Mantıksal Operatörler: >, <, >=, <=, ==, ~= operatörleri
  • find fonksiyonu: Koşulu sağlayan elemanların indislerini bulma
💡 İki Değişkenli Eşitsizlikler: İki değişkenli eşitsizlikler için meshgrid ve mantıksal indeksleme kullanılarak çözüm bölgesi görselleştirilebilir.
1 % İki değişkenli eşitsizlik: x + y < 5 ve x - y > 1
2 [X, Y] = meshgrid(-5:0.1:10, -5:0.1:10);
3 Z1 = X + Y < 5; % İlk eşitsizlik
4 Z2 = X - Y > 1; % İkinci eşitsizlik
5 Z = Z1 & Z2; % Her iki eşitsizliği de sağlayan bölge
6 figure
7 contourf(X, Y, Z, [0.5, 1.5], 'LineColor', 'none') % Çözüm bölgesini doldur
8 hold on
9 contour(X, Y, X + Y - 5, [0], 'r-', 'LineWidth', 2) % x + y = 5 doğrusu
10 contour(X, Y, X - Y - 1, [0], 'b-', 'LineWidth', 2) % x - y = 1 doğrusu
11 grid on
12 xlabel('x')
13 ylabel('y')
14 title('x + y < 5 ve x - y > 1 Eşitsizlik Sistemi')
15 legend('Çözüm Bölgesi', 'x + y = 5', 'x - y = 1')
16 colorbar off
17 axis equal
18 hold off

Optimization Toolbox ile Eşitsizlik Çözümü: linprog fonksiyonu, lineer eşitsizlik sistemlerinin çözümü için kullanılır. Bu fonksiyon, lineer programlama problemlerini çözer.

Dikkat: linprog ve diğer optimizasyon fonksiyonları Optimization Toolbox gerektirir. Bu toolbox olmadan bu fonksiyonlar kullanılamaz.
1 % Lineer eşitsizlik sistemi çözümü (linprog)
2 % Amaç fonksiyonu: f(x) = -x1 - 2x2 (minimumunu bul)
3 % Kısıtlar:
4 % x1 + x2 <= 5
5 % x1 - x2 >= 1
6 % x1 >= 0, x2 >= 0
7 f = [-1; -2]; % Amaç fonksiyonu katsayıları
8 A = [1, 1; -1, 1]; % Eşitsizlik katsayıları (Ax <= b)
9 b = [5; -1]; % Sağ taraf (dikkat: ikinci kısıt -x1 + x2 <= -1 olarak yazıldı)
10 lb = [0; 0]; % Alt sınırlar
11 [x, fval] = linprog(f, A, b, [], [], lb)
12 % Sonuç: x1 = 3, x2 = 2, fval = -7
13 % Çözümü grafikle göster
14 figure
15 [X, Y] = meshgrid(0:0.1:5, 0:0.1:5);
16 Z1 = X + Y <= 5;
17 Z2 = X - Y >= 1;
18 Z = Z1 & Z2;
19 contourf(X, Y, Z, [0.5, 1.5], 'LineColor', 'none')
20 hold on
21 contour(X, Y, X + Y - 5, [0], 'r-', 'LineWidth', 2)
22 contour(X, Y, X - Y - 1, [0], 'b-', 'LineWidth', 2)
23 plot(x(1), x(2), 'ko', 'MarkerSize', 10, 'MarkerFaceColor', 'k') % Optimum nokta
24 text(x(1)+0.2, x(2), sprintf('Optimum\n(%.1f, %.1f)', x(1), x(2)), 'FontSize', 12)
25 xlabel('x1')
26 ylabel('x2')
27 title('Lineer Programlama Problemi')
28 grid on
29 axis([0 5 0 5])
30 hold off
Sembolik Eşitsizlik Çözümü
Symbolic Math Toolbox ile sembolik eşitsizlik çözümü yapılabilir. solve fonksiyonu eşitsizlikleri de çözebilir ve çözümü matematiksel ifadelerle sunar.
1 % Sembolik eşitsizlik çözümü (Symbolic Math Toolbox)
2 syms x real
3 % Tek değişkenli eşitsizlik
4 esitsizlik1 = x^2 - 4 > 0;
5 cozum1 = solve(esitsizlik1, x, 'ReturnConditions', true)
6 % Çözüm: x < -2 | x > 2
7 % Başka bir eşitsizlik
8 esitsizlik2 = (x-1)/(x+2) >= 0;
9 cozum2 = solve(esitsizlik2, x, 'ReturnConditions', true)
10 % Çözüm: x < -2 | x >= 1
11 % İki değişkenli eşitsizlik sistemi
12 syms y real
13 esitsizlik3 = x + y < 5;
14 esitsizlik4 = x - y > 1;
15 cozum3 = solve([esitsizlik3, esitsizlik4], [x, y], 'ReturnConditions', true)
💡 Mantıksal Operatörler ve find: Diziler üzerinde mantıksal operatörler (>, <, ==, ~=, >=, <=) ve find fonksiyonu ile eşitsizlikleri sağlayan elemanlar bulunabilir.
1 % Mantıksal operatörler ve find fonksiyonu
2 A = randn(1, 1000); % 1000 adet rastgele sayı
3 % -1 ile 1 arasında olan elemanları bul
4 kosul = (A > -1) & (A < 1); % Mantıksal dizi
5 indeksler = find(kosul); % Koşulu sağlayan elemanların indisleri
6 degerler = A(kosul); % Koşulu sağlayan elemanların değerleri
7 fprintf('Toplam %d eleman -1 ile 1 arasındadır\n', length(degerler))
8 % Grafikle göster
9 figure
10 histogram(A, 50, 'FaceColor', 'b', 'EdgeColor', 'k')
11 hold on
12 histogram(degerler, 50, 'FaceColor', 'r', 'EdgeColor', 'k', 'FaceAlpha', 0.7)
13 plot([-1, -1], [0, 50], 'k--', 'LineWidth', 2)
14 plot([1, 1], [0, 50], 'k--', 'LineWidth', 2)
15 xlabel('Değer')
16 ylabel('Frekans')
17 title('Rastgele Sayılar ve -1 ile 1 Arasındaki Sayılar')
18 legend('Tüm Sayılar', '-1 < x < 1 Olan Sayılar')
19 grid on
20 hold off

Eşitsizliklerin çözümü, optimizasyon problemleri, istatistiksel analizler ve mühendislik uygulamalarında sıklıkla karşılaşılan bir gereksinimdir. Matlab'ın sunduğu çeşitli yöntemler, bu tür problemlerin çözümünü esnek ve etkili bir şekilde sağlar.

8. Diziler ve Dizi İşlemleri

Matlab, dizi işlemleri için optimize edilmiş bir programlama dilidir. Diziler, aynı türden elemanların sıralı olarak depolandığı veri yapılarıdır. Matlab'da diziler, vektörler ve matrislerle çalışmanın temelini oluşturur.

Dizi Oluşturma Yöntemleri
Matlab'da diziler farklı yöntemlerle oluşturulabilir: köşeli parantezlerle, colon operatörü ile, linspace ve logspace fonksiyonlarıyla, ya da zeros, ones, rand gibi özel fonksiyonlarla.
1 % Dizi oluşturma yöntemleri
2 % 1. Yöntem: Köşeli parantezlerle
3 dizi1 = [1, 2, 3, 4, 5] % Virgülle ayrılmış
4 dizi2 = [1 2 3 4 5] % Boşlukla ayrılmış
5 dizi3 = [1:5] % Colon operatörü ile
6 % 2. Yöntem: Colon operatörü (start:step:stop)
7 dizi4 = 1:2:10 % 1'den 10'a kadar 2'şer artışla: [1 3 5 7 9]
8 dizi5 = 0:0.1:1 % 0'dan 1'e kadar 0.1 artışla
9 dizi6 = 10:-1:1 % 10'dan 1'e kadar 1'er azalışla
10 % 3. Yöntem: linspace (eşit aralıklı)
11 dizi7 = linspace(0, 1, 11) % 0 ile 1 arasında 11 eşit aralıklı nokta
12 dizi8 = linspace(1, 10, 5) % 1 ile 10 arasında 5 eşit aralıklı nokta
13 % 4. Yöntem: logspace (logaritmik aralıklı)
14 dizi9 = logspace(0, 2, 5) % 10^0 ile 10^2 arasında 5 logaritmik nokta
Özel Dizi Oluşturma Fonksiyonları:
  • zeros(n): n×n boyutunda sıfırlardan oluşan matris
  • zeros(m,n): m×n boyutunda sıfırlardan oluşan matris
  • ones(n): n×n boyutunda birlerden oluşan matris
  • ones(m,n): m×n boyutunda birlerden oluşan matris
  • rand(n): n×n boyutunda [0,1] aralığında rastgele sayılardan oluşan matris
  • rand(m,n): m×n boyutunda [0,1] aralığında rastgele sayılardan oluşan matris
  • randn(n): n×n boyutunda standart normal dağılımdan rastgele sayılardan oluşan matris
  • eye(n): n×n boyutunda birim matris
💡 Dizi Boyutları: length(dizi) fonksiyonu dizinin uzunluğunu, size(dizi) fonksiyonu ise satır ve sütun sayısını döndürür. numel(dizi) fonksiyonu dizideki toplam eleman sayısını verir.
1 % Özel dizi oluşturma fonksiyonları
2 sifir_dizi = zeros(3, 4) % 3x4 sıfır matrisi
3 bir_dizi = ones(2, 5) % 2x5 bir matrisi
4 rastgele_dizi = rand(3, 3) % 3x3 rastgele matris
5 normal_dizi = randn(2, 4) % 2x4 normal dağılımlı rastgele matris
6 birim_matris = eye(4) % 4x4 birim matris
7 % Dizi boyutları
8 dizi = [1, 2, 3, 4, 5];
9 uzunluk = length(dizi) % 5
10 [satir, sutun] = size(dizi) % 1, 5
11 eleman_sayisi = numel(dizi) % 5
12 matris = [1, 2, 3; 4, 5, 6];
13 uzunluk2 = length(matris) % 3 (sütun sayısı)
14 [satir2, sutun2] = size(matris) % 2, 3
15 eleman_sayisi2 = numel(matris) % 6

Dizi Elemanlarına Erişim: Matlab'da dizi elemanlarına indislerle erişilir. İndisler 1'den başlar. Tek boyutlu diziler için tek indis, iki boyutlu diziler için satır ve sütun indisleri kullanılır.

Dikkat: Matlab'da indisler 1'den başlar. Diğer birçok programlama dilinden (C, Python, Java) farklı olarak 0'dan başlamaz. Bu, hata yapma olasılığını artırabilir.
1 % Dizi elemanlarına erişim
2 dizi = [10, 20, 30, 40, 50];
3 ilk_eleman = dizi(1) % 10
4 son_eleman = dizi(5) % 50
5 son_eleman2 = dizi(end) % 50 (end son elemanı gösterir)
6 alt_dizi = dizi(2:4) % [20, 30, 40]
7 ters_dizi = dizi(end:-1:1) % [50, 40, 30, 20, 10]
8 cift_elemanlar = dizi(2:2:end) % [20, 40]
9 % Matris elemanlarına erişim
10 matris = [1, 2, 3; 4, 5, 6; 7, 8, 9];
11 eleman = matris(2, 3) % 6 (2. satır, 3. sütun)
12 bir_satir = matris(2, :) % [4, 5, 6] (2. satırın tamamı)
13 bir_sutun = matris(:, 3) % [3; 6; 9] (3. sütunun tamamı)
14 alt_matris = matris(1:2, 2:3) % [2, 3; 5, 6]
15 son_satir = matris(end, :) % [7, 8, 9]
Dizi İşlemleri
Matlab'da diziler üzerinde element-wise (eleman eleman) işlemler yapılabilir. Toplama, çıkarma, çarpma, bölme ve üs alma işlemleri .* , ./ , .^ gibi operatörlerle gerçekleştirilir.
1 % Dizi işlemleri
2 A = [1, 2, 3, 4];
3 B = [2, 3, 4, 5];
4 % Element-wise işlemler
5 toplam = A + B % [3, 5, 7, 9]
6 fark = A - B % [-1, -1, -1, -1]
7 carpim = A .* B % [2, 6, 12, 20] (element-wise çarpma)
8 bolum = A ./ B % [0.5, 0.6667, 0.75, 0.8]
9 us = A .^ 2 % [1, 4, 9, 16]
10 us2 = A .^ B % [1, 8, 81, 1024]
11 % Skaler ile işlemler
12 toplam2 = A + 5 % [6, 7, 8, 9]
13 carpim2 = A * 3 % [3, 6, 9, 12]
14 us3 = A .^ 3 % [1, 8, 27, 64]
15 % Mantıksal işlemler
16 buyuk_mu = A > 2 % [0, 0, 1, 1] (mantıksal dizi)
17 esit_mi = A == B % [0, 0, 0, 0]
18 indeksler = find(A > 2) % [3, 4] (3. ve 4. elemanlar)
💡 Dizi Fonksiyonları: sum, mean, median, std, min, max, sort gibi fonksiyonlar diziler üzerinde istatistiksel ve matematiksel işlemler yapmak için kullanılır.
1 % Dizi fonksiyonları
2 dizi = [1, 5, 3, 9, 2, 8, 4];
3 toplam = sum(dizi) % 32
4 ortalama = mean(dizi) % 4.5714
5 medyan = median(dizi) % 4
6 standart_sapma = std(dizi) % 2.8213
7 minimum = min(dizi) % 1
8 maksimum = max(dizi) % 9
9 [sirali_dizi, indeksler] = sort(dizi) % [1, 2, 3, 4, 5, 8, 9]
10 ters_sirali = sort(dizi, 'descend') % [9, 8, 5, 4, 3, 2, 1]
11 kumulatif_toplam = cumsum(dizi) % [1, 6, 9, 18, 20, 28, 32]
12 kumulatif_carpim = cumprod(dizi) % [1, 5, 15, 135, 270, 2160, 8640]
13 benzersiz = unique([1, 2, 2, 3, 3, 3, 4]) % [1, 2, 3, 4]

Diziler, Matlab programlamasının temel yapı taşlarıdır. Matlab'ın dizi işlemleri üzerindeki performansı, onu büyük veri setleriyle çalışan mühendisler ve bilim insanları için ideal bir araç haline getirir.

9. Vektörler ve Vektör İşlemleri

Matlab, vektör işlemleri için özel olarak optimize edilmiştir. Vektörler, matematikte ve mühendislikte yönü ve büyüklüğü olan nicelikleri temsil eder. Matlab'da vektörler, tek boyutlu diziler olarak tanımlanır ve üzerinde çeşitli matematiksel işlemler yapılabilir.

Vektör Tanımlama
Matlab'da vektörler, yatay (satır) veya dikey (sütun) olarak tanımlanabilir. Tek boyutlu diziler, otomatik olarak vektör olarak kabul edilir. Vektörler köşeli parantezler içinde tanımlanır.
1 % Vektör tanımlama
2 % Yatay vektör (satır vektörü)
3 v1 = [1, 2, 3, 4, 5] % Virgülle ayrılmış
4 v2 = [1 2 3 4 5] % Boşlukla ayrılmış
5 v3 = 1:5 % Colon operatörü ile
6 % Dikey vektör (sütun vektörü)
7 v4 = [1; 2; 3; 4; 5] % Noktalı virgülle ayrılmış
8 v5 = (1:5)' % Yatay vektörün transpozesi
9 v6 = linspace(0, 1, 5)' % 0 ile 1 arasında 5 nokta, sütun vektörü
10 % Özel vektörler
11 sifir_vektor = zeros(5, 1) % 5x1 sıfır vektörü
12 bir_vektor = ones(1, 5) % 1x5 bir vektörü
13 rastgele_vektor = randn(3, 1) % 3x1 standart normal dağılımlı rastgele vektör
Temel Vektör İşlemleri:
  • Toplama/Çıkarma: v1 + v2, v1 - v2
  • Skaler Çarpma: 3 * v1
  • Nokta Çarpımı: dot(v1, v2) veya v1 * v2' (satır * sütun)
  • Vektörel Çarpım: cross(v1, v2) (sadece 3 boyutlu vektörler)
  • Norm (Büyüklük): norm(v1)
  • Birim Vektör: v1 / norm(v1)
  • Açı: acos(dot(v1,v2)/(norm(v1)*norm(v2)))
💡 Transpoze İşlemi: v' ifadesi v vektörünün transpozesini alır. Yatay vektörü dikey, dikey vektörü yatay yapar. Karmaşık sayılar için bu eşlenik transpozedir. .' operatörü sadece transpoze yapar.
1 % Vektör işlemleri
2 v1 = [1, 2, 3];
3 v2 = [4, 5, 6];
4 v3 = [1; 2; 3]; % Sütun vektörü
5 v4 = [4; 5; 6]; % Sütun vektörü
6 % Toplama ve çıkarma
7 toplam = v1 + v2 % [5, 7, 9]
8 fark = v1 - v2 % [-3, -3, -3]
9 % Skaler çarpma
10 skaler_carpim = 2 * v1 % [2, 4, 6]
11 % Nokta çarpımı (iç çarpım)
12 nokta_carpim1 = dot(v1, v2) % 32
13 nokta_carpim2 = v1 * v2' % 32 (satır * sütun)
14 nokta_carpim3 = v3' * v4 % 32 (satır * sütun)
15 % Vektörel çarpım (çapraz çarpım)
16 vektorel_carpim = cross(v1, v2) % [-3, 6, -3]

Vektör Normları ve Uzunluk: Bir vektörün normu (büyüklüğü), vektörün uzunluğunu temsil eder. Matlab'da norm fonksiyonu ile farklı normlar hesaplanabilir.

Dikkat: Vektörlerin boyutları toplama, çıkarma ve nokta çarpımı işlemleri için uyumlu olmalıdır. Nokta çarpımı için bir vektörün satır, diğerinin sütun vektörü olması gerekir.
1 % Vektör normları ve büyüklük
2 v = [3, 4];
3 euclidean_norm = norm(v) % 5 (varsayılan 2-norm)
4 euclidean_norm2 = norm(v, 2) % 5 (2-norm)
5 manhattan_norm = norm(v, 1) % 7 (1-norm)
6 max_norm = norm(v, inf) % 4 (sonsuz norm)
7 frobenius_norm = norm(v, 'fro') % 5 (Frobenius norm)
8 % Birim vektör
9 birim_vektor = v / norm(v) % [0.6, 0.8]
10 birim_norm = norm(birim_vektor) % 1 (kontrol)
11 % Vektörler arasındaki açı
12 v1 = [1, 0];
13 v2 = [0, 1];
14 aci = acos(dot(v1, v2) / (norm(v1) * norm(v2))) % 1.5708 radyan (90 derece)
15 aci_derece = aci * 180/pi % 90 derece
Vektör Uygulamaları
Vektörler, fizikte kuvvet, hız, ivme gibi büyüklüklerin temsili, bilgisayar grafiklerinde yön ve pozisyon hesaplamaları, makine öğrenmesinde özellik vektörleri gibi birçok alanda kullanılır.
1 % Vektör uygulamaları
2 % Fizik uygulaması: Kuvvet vektörleri
3 F1 = [10, 5]; % Newton cinsinden kuvvet vektörü
4 F2 = [3, -2]; % İkinci kuvvet vektörü
5 net_kuvvet = F1 + F2 % [13, 3]
6 net_kuvvet_buyuklugu = norm(net_kuvvet) % 13.3417 N
7 % Bilgisayar grafikleri: İki nokta arasındaki vektör
8 P1 = [1, 2]; % İlk nokta
9 P2 = [4, 6]; % İkinci nokta
10 yon_vektoru = P2 - P1 % [3, 4]
11 mesafe = norm(yon_vektoru) % 5 birim
12 birim_yon = yon_vektoru / mesafe % [0.6, 0.8]
13 % Grafikle göster
14 figure
15 quiver(P1(1), P1(2), yon_vektoru(1), yon_vektoru(2), 0, 'r', 'LineWidth', 2)
16 hold on
17 plot(P1(1), P1(2), 'bo', 'MarkerSize', 10, 'MarkerFaceColor', 'b')
18 plot(P2(1), P2(2), 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r')
19 text(P1(1), P1(2), ' P1', 'FontSize', 12)
20 text(P2(1), P2(2), ' P2', 'FontSize', 12)
21 grid on
22 axis equal
23 xlabel('X')
24 ylabel('Y')
25 title('İki Nokta Arasındaki Yön Vektörü')
26 legend('Yön Vektörü', 'P1 Noktası', 'P2 Noktası')
27 hold off
💡 İleri Düzey Vektör İşlemleri: orth fonksiyonu ile vektörlerin ortogonal bazı, null fonksiyonu ile null space, projeksiyon işlemleri gibi ileri düzey vektör işlemleri yapılabilir.
1 % İleri düzey vektör işlemleri
2 v1 = [1, 2, 3];
3 v2 = [1, -1, 1];
4 v3 = [2, 1, 4];
5 % Matris oluştur
6 A = [v1; v2; v3]'; % 3x3 matris
7 % Ortogonal baz
8 Q = orth(A) % Ortogonal baz vektörleri
9 % Null space (boş uzay)
10 N = null(A) % Null space vektörleri
11 % Vektör projeksiyonu
12 a = [1, 2];
13 b = [3, 1];
14 projeksiyon = (dot(a, b) / dot(b, b)) * b % a'nın b üzerine projeksiyonu
15 perpendicular = a - projeksiyon % Projeksiyona dik bileşen
16 % Kontrol: projeksiyon ve perpendicular birbirine dik olmalı
17 dot_kontrol = dot(projeksiyon, perpendicular) % 0'a çok yakın olmalı

Vektörler, mühendislik ve bilimsel hesaplamaların temel yapı taşlarıdır. Matlab'ın vektör işlemleri üzerindeki yetkinliği, karmaşık fiziksel sistemlerin modellenmesi ve analiz edilmesini büyük ölçüde kolaylaştırır.

10. Matrisler ve Matris İşlemleri

Matlab (Matrix Laboratory), matris işlemleri için özel olarak tasarlanmış bir programlama dilidir. Matrisler, lineer cebirin temel yapı taşlarıdır ve mühendislik, fizik, bilgisayar bilimi gibi birçok alanda kullanılır. Matlab'da matrisler, iki boyutlu diziler olarak tanımlanır ve üzerinde çeşitli matematiksel işlemler yapılabilir.

Matris Tanımlama
Matlab'da matrisler, köşeli parantez içinde satırlar noktalı virgül (;) ile, sütunlar ise virgül (,) veya boşluk ile ayrılır. zeros, ones, eye, rand gibi fonksiyonlarla özel matrisler oluşturulabilir.
1 % Matris tanımlama
2 A = [1, 2, 3; 4, 5, 6; 7, 8, 9] % 3x3 matris
3 B = [1 2 3; 4 5 6] % 2x3 matris (boşlukla ayırma)
4 C = [1:3; 4:6; 7:9] % Colon operatörü ile
5 % Özel matrisler
6 sifir_matris = zeros(3, 4) % 3x4 sıfır matrisi
7 bir_matris = ones(2, 3) % 2x3 bir matrisi
8 birim_matris = eye(4) % 4x4 birim matris
9 rastgele_matris = rand(3, 3) % 3x3 rastgele matris [0,1]
10 normal_matris = randn(2, 4) % 2x4 normal dağılımlı rastgele matris
11 magic_matris = magic(4) % 4x4 sihirli kare
12 pascal_matris = pascal(4) % 4x4 Pascal matrisi
Temel Matris İşlemleri:
  • Toplama/Çıkarma: A + B, A - B
  • Skaler Çarpma: 3 * A
  • Matris Çarpımı: A * B (boyutlar uyumlu olmalı)
  • Element-wise Çarpma: A .* B (aynı boyutta)
  • Transpoze: A' (eşlenik transpoze), A.' (sadece transpoze)
  • Matris Tersi: inv(A) veya A^(-1)
  • Determinant: det(A)
  • Trace: trace(A)
💡 Matris Boyutları: size(A) fonksiyonu matrisin satır ve sütun sayısını döndürür. length(A) fonksiyonu ise max(size(A)) değerini verir. numel(A) fonksiyonu toplam eleman sayısını gösterir.
1 % Matris işlemleri
2 A = [1, 2; 3, 4];
3 B = [5, 6; 7, 8];
4 C = [1, 2, 3; 4, 5, 6]; % 2x3 matris
5 % Boyut bilgileri
6 [satir, sutun] = size(A) % 2, 2
7 uzunluk = length(A) % 2
8 eleman_sayisi = numel(A) % 4
9 % Temel işlemler
10 toplam = A + B % [6, 8; 10, 12]
11 fark = A - B % [-4, -4; -4, -4]
12 skaler_carpim = 2 * A % [2, 4; 6, 8]
13 % Matris çarpımı
14 matris_carpim = A * B % [19, 22; 43, 50]
15 % Element-wise çarpma
16 elementwise_carpim = A .* B % [5, 12; 21, 32]
17 % Transpoze
18 transpoze = A' % [1, 3; 2, 4]

Matris Tersi ve Determinant: Kare matrisler için determinant ve matris tersi hesaplanabilir. Matrisin tersinin alınabilmesi için determinantının sıfırdan farklı olması gerekir.

Dikkat: Matris çarpımı için iç boyutlar eşleşmelidir (A mxn, B nxp olmalı). Element-wise işlemler için matrislerin boyutları tamamen aynı olmalıdır.
1 % Matris tersi ve determinant
2 A = [1, 2; 3, 4];
3 determinant = det(A) % -2
4 matris_tersi = inv(A) % [-2, 1; 1.5, -0.5]
5 % Kontrol: A * inv(A) = I
6 kontrol = A * inv(A) % [1, 0; 0, 1] (birim matris)
7 trace_A = trace(A) % 5 (köşegen elemanlar toplamı)
8 % Tekil matris (determinantı 0)
9 B = [1, 2; 2, 4]; % İkinci satır birincinin 2 katı
10 det_B = det(B) % 0
11 % inv(B) % Hata verir: Singular matrix
12 % Alternatif: pinv (pseudo-inverse)
13 pseudo_inverse = pinv(B)
Matris Uygulamaları
Matrisler, lineer denklem sistemleri, dönüşüm matrisleri (grafiklerde), veri analizi (PCA), makine öğrenmesi (ağırlık matrisleri), graf teorisi (komşuluk matrisleri) gibi birçok alanda kullanılır.
1 % Matris uygulamaları
2 % Lineer denklem sistemi: Ax = b
3 A = [2, 1; 1, -1];
4 b = [7; 1];
5 x = A \ b % [2.6667; 1.6667]
6 kontrol = A * x - b % [0; 0]
7 % 2D dönüşüm matrisi (döndürme)
8 theta = pi/4; % 45 derece
9 R = [cos(theta), -sin(theta); sin(theta), cos(theta)]; % Döndürme matrisi
10 nokta = [1; 0]; % (1,0) noktası
11 dondurulmus_nokta = R * nokta % [0.7071; 0.7071]
12 % Grafikle göster
13 figure
14 plot(nokta(1), nokta(2), 'bo', 'MarkerSize', 10, 'MarkerFaceColor', 'b')
15 hold on
16 plot(dondurulmus_nokta(1), dondurulmus_nokta(2), 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r')
17 quiver(0, 0, nokta(1), nokta(2), 0, 'b', 'LineWidth', 2)
18 quiver(0, 0, dondurulmus_nokta(1), dondurulmus_nokta(2), 0, 'r', 'LineWidth', 2)
19 text(nokta(1), nokta(2), ' Orijinal', 'FontSize', 12)
20 text(dondurulmus_nokta(1), dondurulmus_nokta(2), ' Döndürülmüş', 'FontSize', 12)
21 axis equal
22 grid on
23 xlabel('X')
24 ylabel('Y')
25 title('2D Döndürme Dönüşümü')
26 legend('Orijinal Nokta', 'Döndürülmüş Nokta')
27 hold off
💡 İleri Düzey Matris İşlemleri: eig (özdeğerler), svd (tekil değer ayrışımı), lu (LU ayrışımı), qr (QR ayrışımı), chol (Cholesky ayrışımı) gibi fonksiyonlarla ileri düzey matris işlemleri yapılabilir.
1 % İleri düzey matris işlemleri
2 A = [1, 2; 3, 4];
3 % Özdeğerler ve özvektörler
4 [V, D] = eig(A)
5 % V: özvektörler, D: özdeğerler (köşegen matris)
6 % Kontrol: A*V = V*D
7 kontrol_eig = A*V - V*D % Sıfıra yakın olmalı
8 % Tekil değer ayrışımı (SVD)
9 [U, S, V] = svd(A)
10 % Kontrol: A = U*S*V'
11 kontrol_svd = U*S*V' - A % Sıfıra yakın olmalı
12 % LU ayrışımı
13 [L, U] = lu(A)
14 % Kontrol: A = L*U
15 kontrol_lu = L*U - A % Sıfıra yakın olmalı
16 % QR ayrışımı
17 [Q, R] = qr(A)
18 % Kontrol: A = Q*R
19 kontrol_qr = Q*R - A % Sıfıra yakın olmalı

Matrisler, Matlab'ın temel veri yapısıdır ve programın adının da kaynağıdır. Matris işlemleri, mühendislik problemlerinin çözümünde, veri analizinde ve bilimsel hesaplamalarda vazgeçilmezdir. Matlab'ın matris işlemleri üzerindeki yetkinliği, onu bu alanlarda çalışanlar için ideal bir araç haline getirir.

11. Türev ve Uygulamaları

Matlab, türev alma ve türev uygulamaları için güçlü araçlar sunar. diff fonksiyonu ile sayısal türev, gradient ile gradyan, Symbolic Math Toolbox ile sembolik türev alınabilir. Türev, fonksiyonların değişim oranını ölçmek için kullanılır ve optimizasyon, fizik, mühendislik gibi birçok alanda temel bir kavramdır.

Sayısal Türev
diff fonksiyonu, bir vektörün ardışık elemanları arasındaki farkları hesaplar. Bu, sayısal türev alma için kullanılabilir. gradient fonksiyonu ise daha doğru sayısal türev hesaplaması yapar.
1 % Sayısal türev (diff fonksiyonu)
2 x = 0:0.1:2*pi; % x değerleri
3 y = sin(x); % sin(x) fonksiyonu
4 dy_dx = diff(y) ./ diff(x); % Sayısal türev
5 % Gerçek türev (cos(x)) ile karşılaştırma
6 gercek_turev = cos(x(1:end-1)); % cos(x) gerçek türev
7 hata = dy_dx - gercek_turev; % Hata
8 % Grafikle göster
9 figure
10 plot(x(1:end-1), dy_dx, 'r-', 'LineWidth', 2)
11 hold on
12 plot(x, cos(x), 'b--', 'LineWidth', 2)
13 grid on
14 xlabel('x')
15 ylabel('dy/dx')
16 title('Sayısal Türev vs Gerçek Türev (sin(x))')
17 legend('Sayısal Türev (diff)', 'Gerçek Türev (cos(x))')
18 hold off
Türev Alma Fonksiyonları:
  • diff(y)./diff(x): Basit sayısal türev
  • gradient(y,x): Daha doğru sayısal türev
  • diff(f,x): Sembolik türev (Symbolic Toolbox)
  • gradient(F): Çok değişkenli fonksiyonun gradyanı
  • del2(V): Laplasyen operatörü
  • polyder(p): Polinomun türevi
💡 Gradient Fonksiyonu: gradient fonksiyonu, diff fonksiyonuna göre daha doğru sayısal türev hesaplaması yapar. Özellikle fonksiyonun uç noktalarında daha iyi sonuç verir.
1 % Sayısal türev (gradient fonksiyonu)
2 x = 0:0.1:2*pi;
3 y = sin(x);
4 dy_dx = gradient(y, x); % Gradient ile sayısal türev
5 % Gerçek türev ile karşılaştırma
6 gercek_turev = cos(x);
7 hata = dy_dx - gercek_turev;
8 % Grafikle göster
9 figure
10 plot(x, dy_dx, 'r-', 'LineWidth', 2)
11 hold on
12 plot(x, cos(x), 'b--', 'LineWidth', 2)
13 plot(x, hata, 'g:', 'LineWidth', 2)
14 grid on
15 xlabel('x')
16 ylabel('dy/dx')
17 title('Gradient ile Sayısal Türev')
18 legend('Gradient Türev', 'Gerçek Türev', 'Hata')
19 hold off

Sembolik Türev: Symbolic Math Toolbox kullanılarak sembolik türev alınabilir. Bu, tam matematiksel ifadelerle türev alma imkanı sağlar.

Dikkat: Symbolic Math Toolbox Matlab'ın ek bir bileşenidir ve temel Matlab kurulumuna dahil değildir. Bu toolbox olmadan sembolik işlemler yapılamaz.
1 % Sembolik türev (Symbolic Math Toolbox)
2 syms x y z % Sembolik değişkenler
3 % Tek değişkenli fonksiyonlar
4 f1 = x^2 + 3*x + 2;
5 df1_dx = diff(f1, x) % 2x + 3
6 f2 = sin(x);
7 df2_dx = diff(f2, x) % cos(x)
8 f3 = exp(x);
9 df3_dx = diff(f3, x) % exp(x)
10 % Yüksek mertebeden türevler
11 d2f1_dx2 = diff(f1, x, 2) % 2
12 d3f1_dx3 = diff(f1, x, 3) % 0
13 % Çok değişkenli fonksiyonlar (kısmi türevler)
14 f4 = x^2 * y + y^2 * z + z^2 * x;
15 df4_dx = diff(f4, x) % 2xy + z²
16 df4_dy = diff(f4, y) % x² + 2yz
17 df4_dz = diff(f4, z) % y² + 2zx
Türev Uygulamaları
Türev, fonksiyonların maksimum ve minimum noktalarının bulunması, fonksiyonların grafiğinin çizilmesi, fizikte hız ve ivme hesaplamaları, optimizasyon problemleri gibi birçok alanda kullanılır.
1 % Türev uygulamaları: Maksimum ve minimum noktalar
2 x = -2:0.01:2;
3 y = x.^3 - 3*x.^2 + 2; % f(x) = x³ - 3x² + 2
4 dy_dx = gradient(y, x); % Sayısal türev
5 % Kritik noktaları bul (türevin sıfır olduğu yerler)
6 kritik_indeksler = find(abs(dy_dx) < 0.01); % Türevin yaklaşık sıfır olduğu noktalar
7 kritik_noktalar = x(kritik_indeksler);
8 kritik_degerler = y(kritik_indeksler);
9 % Grafikle göster
10 figure
11 plot(x, y, 'b-', 'LineWidth', 2)
12 hold on
13 plot(x, dy_dx, 'r--', 'LineWidth', 2)
14 plot(kritik_noktalar, kritik_degerler, 'ko', 'MarkerSize', 10, 'MarkerFaceColor', 'k')
15 grid on
16 xlabel('x')
17 ylabel('f(x) ve f''(x)')
18 title('Fonksiyon ve Türevi ile Kritik Noktalar')
19 legend('f(x) = x^3 - 3x^2 + 2', 'f''(x)', 'Kritik Noktalar')
20 hold off
21 % Sembolik olarak kritik noktaları bul
22 syms xs
23 fs = xs^3 - 3*xs^2 + 2;
24 dfs = diff(fs, xs);
25 kritik_noktalar_s = solve(dfs == 0, xs) % [0, 2]
💡 Polinom Türev: polyder fonksiyonu ile polinomların türevi kolayca alınabilir. Bu, polinomlarla çalışan mühendislik uygulamalarında çok kullanışlıdır.
1 % Polinom türev (polyder)
2 p = [1, -3, 0, 2]; % x³ - 3x² + 2
3 dp = polyder(p) % 3x² - 6x
4 % Yüksek mertebeden türevler
5 d2p = polyder(dp) % 6x - 6
6 d3p = polyder(d2p) % 6
7 d4p = polyder(d3p) % 0
8 % Grafikle göster
9 x = -2:0.01:3;
10 y = polyval(p, x);
11 dy = polyval(dp, x);
12 d2y = polyval(d2p, x);
13 figure
14 plot(x, y, 'b-', 'LineWidth', 2)
15 hold on
16 plot(x, dy, 'r--', 'LineWidth', 2)
17 plot(x, d2y, 'g:', 'LineWidth', 2)
18 grid on
19 xlabel('x')
20 ylabel('f(x), f''(x), f''''(x)')
21 title('Polinom ve Türevleri')
22 legend('f(x) = x^3 - 3x^2 + 2', 'f''(x) = 3x^2 - 6x', 'f''''(x) = 6x - 6')
23 hold off

Türev, matematiksel analizin temel kavramlarından biridir ve Matlab'ın sunduğu araçlarla hem sayısal hem de sembolik olarak etkili bir şekilde hesaplanabilir. Bu yetenekler, mühendislik ve bilimsel hesaplamalarda karşılaşılan birçok problemin çözümü için kritik öneme sahiptir.

12. Integral ve Uygulamaları

Matlab, integral alma ve integral uygulamaları için güçlü araçlar sunar. integral, trapz, cumtrapz fonksiyonları ile sayısal integral, Symbolic Math Toolbox ile sembolik integral alınabilir. Integral, fonksiyonların altında kalan alanı hesaplamak için kullanılır ve fizik, mühendislik, istatistik gibi birçok alanda temel bir kavramdır.

Sayısal İntegral
integral fonksiyonu, belirli integral hesaplamak için en etkili yöntemdir. trapz fonksiyonu ise yamuk yöntemiyle integral hesaplar. cumtrapz fonksiyonu kümülatif integral hesaplar.
1 % Sayısal integral (integral fonksiyonu)
2 f = @(x) x.^2; % İntegre edilecek fonksiyon
3 a = 0; b = 1; % İntegral sınırları
4 integral_sonuc = integral(f, a, b) % 0.3333 (1/3)
5 % Gerçek değerle karşılaştırma
6 gercek_deger = 1/3;
7 hata = abs(integral_sonuc - gercek_deger) % Çok küçük olmalı
8 % Grafikle göster
9 x = linspace(a, b, 100);
10 y = f(x);
11 figure
12 plot(x, y, 'b-', 'LineWidth', 2)
13 hold on
14 fill([a, x, b], [0, y, 0], 'r', 'FaceAlpha', 0.3) % Alanı doldur
15 grid on
16 xlabel('x')
17 ylabel('f(x) = x^2')
18 title(sprintf('∫_0^1 x^2 dx = %.6f', integral_sonuc))
19 hold off
İntegral Alma Fonksiyonları:
  • integral(f,a,b): Sayısal belirli integral
  • trapz(x,y): Yamuk yöntemiyle integral
  • cumtrapz(x,y): Kümülatif integral
  • int(f,x): Sembolik integral (Symbolic Toolbox)
  • int(f,x,a,b): Sembolik belirli integral
  • polyint(p): Polinomun integrali
  • dblquad, triplequad: Çok katlı integraller
💡 Trapz Fonksiyonu: trapz fonksiyonu, verilen x ve y değerleri arasında yamuk yöntemiyle integral hesaplar. Bu, deneysel verilerin integralini almak için çok kullanışlıdır.
1 % Sayısal integral (trapz fonksiyonu)
2 x = 0:0.01:1; % x değerleri
3 y = x.^2; % y değerleri
4 integral_sonuc = trapz(x, y) % 0.3333 (1/3)
5 % Kümülatif integral
6 kumulatif_integral = cumtrapz(x, y);
7 % Grafikle göster
8 figure
9 subplot(2,1,1)
10 plot(x, y, 'b-', 'LineWidth', 2)
11 title('f(x) = x^2')
12 grid on
13 subplot(2,1,2)
14 plot(x, kumulatif_integral, 'r-', 'LineWidth', 2)
15 title('Kümülatif İntegral')
16 xlabel('x')
17 ylabel('∫f(x)dx')
18 grid on

Sembolik İntegral: Symbolic Math Toolbox kullanılarak sembolik integral alınabilir. Bu, tam matematiksel ifadelerle integral alma imkanı sağlar.

Dikkat: Symbolic Math Toolbox Matlab'ın ek bir bileşenidir ve temel Matlab kurulumuna dahil değildir. Bu toolbox olmadan sembolik işlemler yapılamaz.
1 % Sembolik integral (Symbolic Math Toolbox)
2 syms x % Sembolik değişken
3 % Belirsiz integraller
4 f1 = x^2;
5 int_f1 = int(f1, x) % x³/3
6 f2 = sin(x);
7 int_f2 = int(f2, x) % -cos(x)
8 f3 = exp(x);
9 int_f3 = int(f3, x) % exp(x)
10 f4 = 1/x;
11 int_f4 = int(f4, x) % log(x)
12 % Belirli integraller
13 belirli_int1 = int(f1, x, 0, 1) % 1/3
14 belirli_int2 = int(f2, x, 0, pi) % 2
15 belirli_int3 = int(f3, x, 0, 1) % e - 1
16 belirli_int4 = int(f4, x, 1, exp(1)) % 1
İntegral Uygulamaları
İntegral, alan ve hacim hesaplamaları, fizikte iş ve enerji hesaplamaları, olasılık dağılımlarının normalizasyonu, ortalama değer hesaplamaları gibi birçok alanda kullanılır.
1 % İntegral uygulamaları: Alan ve hacim
2 % İki eğri arasındaki alan
3 f = @(x) x.^2;
4 g = @(x) x;
5 a = 0; b = 1;
6 alan = integral(@(x) g(x) - f(x), a, b) % 1/6
7 % Grafikle göster
8 x = linspace(a, b, 100);
9 y1 = f(x);