MATLAB’da Özdeğer ve Özvektörler (eig Komutu)
MATLAB’da bir kare matrisin özdeğerlerini ve özvektörlerini hesaplamak için eig(X) komutu kullanılır. Özdeğerler, matrisin karakteristik denklemini çözen skaler değerlerdir ve matrisin bazı özel yönlerde nasıl davrandığını gösterir. Özvektörler ise bu özdeğerlere karşılık gelen vektörlerdir ve genellikle lineer dönüşümlerde önemli bir rol oynar.
1. Özdeğer Hesaplama (eig(X))
Bu komut, kare bir matrisin yalnızca özdeğerlerini bulur ve bir vektör olarak döndürür.
|
1 2 3 4 5 6 7 |
>> X=[1 2; 3 4]; eig(X) ans = -0.3723 5.3723 |
2. Özdeğer ve Özvektör Hesaplama ([V,D] = eig(X))
Eğer bir matrisin hem özvektörlerini hem de özdeğerlerini almak istersek, eig(X) komutunu şu şekilde kullanabiliriz:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
X = [2 -1; -1 2]; [V,D] = eig(X) V = -0.7071 -0.7071 -0.7071 0.7071 D = 1 0 0 3 |
Bu sonuç;
Dmatrisinin köşegeninde özdeğerleri (1 ve 3) içerdiğini,Vmatrisinin sütunlarında özvektörleri ([-0.7071; 0.7071] ve [0.7071; 0.7071]) içerdiğini gösterir.
Sonuç ve Notlar
eig(X)komutu yalnızca özdeğerleri verir.[V,D] = eig(X)komutu hem özdeğerleri hem de özvektörleri döndürür.- Özdeğerler, matrisin dönüşüm etkilerini anlamada kullanılır.
- Özvektörler, matrisin belirli yönlerde nasıl davrandığını gösterir.
MATLAB’da Çok Boyutlu Matrisler
Şimdiye kadar genellikle iki boyutlu matrisler kullandık, yani satır (x ekseni) ve sütun (y ekseni) olan yapılar. Ancak MATLAB, üçüncü bir boyut ekleyerek çok boyutlu matrisler oluşturmamıza da izin verir.
Kitap Sayfaları Örneği ile Açıklama
Bir çok boyutlu matris düşünün, bir kitap gibi.
- Her sayfa bir matris (2D) olarak düşünülebilir.
- Kitapta birden fazla sayfa olduğu gibi, MATLAB’da da aynı boyutta birçok matris bir arada tutulabilir.
- Sayfa numarası (3. boyut, z ekseni) hangi matrise bakıldığını belirler
Örneğin, b1 adında 2 satır, 3 sütun ve 2 sayfa içeren bir matris oluşturalım:
|
1 2 |
b1(:,:,1) = [1 3 5; 7 9 11]; % İlk sayfa (Sayfa No: 1) b1(:,:,2) = [0 2 4; 6 8 10]; % İkinci sayfa (Sayfa No: 2) |
- b1(:,:,1) → İlk sayfa
- b1(:,:,2) → İkinci sayfa
Böylece, bir kitap gibi birden fazla sayfa içeren bir matris oluşturmuş olduk.
Örnek : 3 Sayfalık Bir Matris Tanımlama
|
1 2 3 |
M(:,:,1) = [1 2; 3 4]; % Sayfa 1 M(:,:,2) = [5 6; 7 8]; % Sayfa 2 M(:,:,3) = [9 10; 11 12]; % Sayfa 3 |
|
1 |
M(1,2,3) = 50; % 3. sayfadaki (1,2) konumundaki değeri 50 yap |
doğrusal ve logaritmik eksen takımlarıyla çizim:
| Komut | Açıklama |
|---|---|
plot(x,y) |
Yatay eksendeki (x) değerler ile düşey eksendeki (y) değerler arasında gerçekleşen değişimi çizer. |
semilogx(x,y) |
X ekseni üzerindeki değişken değerlerini logaritmik olarak yayar, Y ekseni üzerindeki değişken değerlerini ise doğrusal olarak yayarak x ve y değerleri arasındaki değişimi çizer. |
semilogy(x,y) |
Y ekseni üzerindeki değişken değerlerini logaritmik olarak yayar, X ekseni üzerindeki değişken değerlerini ise doğrusal olarak yayarak x ve y değerleri arasındaki değişimi çizer. |
loglog(x,y) |
Hem X hem de Y ekseni üzerindeki değerleri logaritmik olarak yayarak, x ve y değerleri arasındaki değişimi çizer. |
Aşağıdaki tablo, MATLAB’da çizgi türlerini belirlemek için kullanılan stilleri ve karşılık gelen komutları göstermektedir:
| Komut | Açıklama | Görünüm |
|---|---|---|
plot(t,h,":") |
Noktalı çizgi ile gösterir | .......... |
plot(t,h,"-") |
Kesiksiz düz çizgi ile gösterir | ________ |
plot(t,h,"-.") |
Nokta ve çizgi karışımı bir çizgi ile gösterir | -.-.-.-. |
plot(t,h,"--") |
Kesikli çizgi ile gösterir | -- -- -- |
Bu yöntem, aynı grafik üzerine birden fazla veri seti çizildiğinde eğrileri birbirinden ayırt etmek için kullanılır.
Problem
Bir cisim t = 0 anında yerden h₀ = 60 m kadar yükseklikten v₀ = 30 m/sn ilk hızı ile yatay olarak fırlatılmaktadır. Havanın cisme gösterdiği direnç ihmal edilmektedir. Cismin t = 0 anından düştüğü ana kadar olan zaman süresince, cismin yerden yüksekliğinin (h) zamana (t) göre değişimini çiziniz (g = 9.8 m/sn²).
Çözüm
|
1 2 3 4 5 6 7 8 9 |
g = 10; ho = 60; % cismin yerden yüksekliği t_uc = sqrt(ho/0.5*g); % yere düşme süresi t = linspace(0,t_uc,100); % 100 elemanlı vektörün hesabı h = ho - g/2*t.^2; % cismin yerden yüksekliği plot(t,h,'k:'); % h(t) nin çizimi title('düşey atış'); xlabel('zaman(s)') ylabel('yukseklik (m)'); |

Problem
Verilen fonksiyonlar:
a = -t² + 5t – 1 , b = -5t² + 8 , c = 2t² – 1
Bu fonksiyonların t ∈ [3, 9] saniye aralığında MATLAB ortamında çizimini yapınız.
çözüm:
|
1 2 3 4 5 6 7 8 |
t = 3:0.1:9; a = -t.^2 + 5*t - 1; b = -5*t.^2 + 8; c = 2*t.^2 - 1; plot(t, a, "k:", t, b, "k-", t, c, "k--"); title("Ortak yatay eksende farklı eğrilerin çizimi"); xlabel("t"), grid on, legend("a", "b", "c", 'location', 'east'); |
Bu MATLAB kodu:
- t değişkenini 3 ile 9 arasında 0.1 adımlarla oluşturur.
- a, b ve c fonksiyonlarını tanımlar.
- plot komutu ile bu fonksiyonları farklı çizgi stilleri kullanarak çizer:
"k:"(noktalı siyah çizgi) → a fonksiyonu"k-"(düz siyah çizgi) → b fonksiyonu"k--"(kesikli siyah çizgi) → c fonksiyonu
- title komutu grafiğe başlık ekler.
- xlabel ve grid on eksenleri ve ızgarayı ayarlar.
- legend komutu eğrilerin isimlerini belirterek bir gösterge ekler.

ör:
|
1 2 3 4 5 6 |
>> t = 0:0.01:5; A1 = t.^3 - 2*t + 5; A2 = 3*(t.^2) + 5*t + 10; plotyy(t,A1,t,A2); xlabel('t'); grid; |

Kod Satır Satır Açıklama:
t=0:0.01:5;→tdeğişkeni 0’dan 5’e kadar 0.01 artışlarla bir vektör oluşturur.A1=t.^3-2*t+4;→A1için t³ – 4t – 2 fonksiyonu hesaplanır.A2=3*(t.^2)+5*t +10;→A2için 3t² + 5t + 10 fonksiyonu hesaplanır.plotyy(t,A1,t,A2);→A1veA2veri setlerini iki farklı y ekseniyle aynı grafikte çizer.xlabel("t"),grid;→ X ekseni için “t” etiketi ekler ve ızgara çizgilerini açar.
Çoklu Pencere Kullanımı
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
>> t = 0:0.1:6; % 0'dan 6'ya kadar 0.1 artışlarla t vektörü oluşturuluyor a = 3 * exp(-t.^2); % a dizisi, 3 * e^(-t^2) fonksiyonuna göre hesaplanıyor figure; % Yeni bir figür penceresi aç subplot(221), plot(t, a) % 1. alt grafik: x ve y ekseni lineer ölçekli xlabel('t'), ylabel('a') title('t ekseni lineer, a ekseni lineer eğri çizimi') grid on subplot(222), semilogx(t, a) % 2. alt grafik: x ekseni logaritmik, y ekseni lineer xlabel('t'), ylabel('a') title('t ekseni logaritmik, a ekseni lineer eğri çizimi') grid on subplot(223), semilogy(t, a) % 3. alt grafik: x ekseni lineer, y ekseni logaritmik xlabel('t'), ylabel('a') title('t ekseni lineer, a ekseni logaritmik eğri çizimi') grid on subplot(224), loglog(t, a) % 4. alt grafik: x ve y ekseni logaritmik xlabel('t'), ylabel('a') title('t ekseni logaritmik, a ekseni logaritmik eğri çizimi') grid on >> |


