Blog YazılarMATLAB

MATLAB – 5.1 Bölüm

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

Periyodik Fonksiyonlar

Bir fonksiyonun periyodik olması demek, belirli aralıklarla kendisini tekrar etmesi anlamına gelir. Matematiksel olarak bu özellik şöyle ifade edilir:

x(t) = x(t + nT), burada n = 1, 2, 3,…

Bu denklemde T, periyot süresini belirtir ve pozitif bir sabittir. Yani, T saniye geçtikten sonra fonksiyon kendini aynı şekilde tekrar eder.

Eğer bu fonksiyon bir sinüzoidal (dalga formu) yapıya sahipse, genellikle şu şekilde tanımlanır:

x(t) = A · cos(wt + θ)

Bu formüldeki bileşenlerin anlamı:

  • A: Dalganın genliğidir. Yani tepe noktası ile orta nokta arasındaki mesafedir. Birimi, fonksiyonun neyi temsil ettiğine göre değişir (örneğin, volt).

  • t: Zaman değişkenidir. Genellikle saniye (s) cinsindendir.

  • w (omega): Açısal frekanstır ve birimi radyan/saniyedir. Periyot ile ilişkisi: T = 2π / w

  • θ (theta): Başlangıç faz açısıdır. θ > 0 ise dalga sağa, θ < 0 ise sola kaymış demektir.

 

ör:    x(t) = 5·sin(2π·50·t)
y(t) = 4·cos(2π·50·t – 0.6)
z(t) = 3·sin(2π·50·t + 1.2)
Eğrileri ve genliği 8 birim frekansı 50 Hz olan (a.a) kare dalgayı çiz.

 

Polinom Tanımlama ve Kullanımı

MATLAB ortamında polinom, bir değişkenin (genellikle x) kuvvetleri ile ifade edilen matematiksel ifadeyi temsil eder. Bu ifadeler katsayılar vektörü ile gösterilir ve MATLAB’da bu vektörler en yüksek dereceli terimden en düşük dereceliye doğru sıralanır.

Aşağıdaki örnek ile daha detaylı inceleyelim.

Bu, 3. dereceden bir polinomdur. MATLAB ortamında bu polinom iki farklı şekilde ifade edilebilir:

🔹Eğer x daha önce bir sayı olarak tanımlanmışsa (örneğin x = 2;), o zaman polinom şöyle yazılır:

🔹 Eğer x bir vektör olarak tanımlanmışsa (örneğin x = -5:1:5;), o zaman her bir x değeri için polinom ayrı ayrı hesaplanır ve sonuç yine bir vektör olur:


 

MATLAB Fonksiyonu Açıklama
polyval(p,x) Polinomu x noktalarında değerlendirir
roots(p) Polinomun köklerini bulur
poly(r) Verilen köklerden polinom oluşturur
conv(p1, p2) İki polinomu çarpar
deconv(p1, p2) İki polinomu böler

polyval(a, x), katsayıları a vektöründe tanımlı olan bir polinomun, x noktalarındaki değerini hesaplar

ör:   y(x) = 2.x^3 + 4.x^2 – 1.x^1 + 11  , polinomunun grafiğini (-5 , 5) aralığında tasarlayın.

 

Toplam ve Fark İşlemleri

MATLAB’de iki polinomun toplamı veya farkı, sadece polinomların katsayılarını içeren vektörlerin boyutları aynı ise yapılabilir.

💡 Not:

  • Eksik terimlerin katsayısı olarak 0 eklenmelidir.

  • a ve b vektörlerinin uzunluğu eşit olmalı.

 

İki Polinomun Birbiri ile Çarpımı – Kısa Açıklama:

MATLAB ortamında iki polinomu çarpmak için conv komutu kullanılır.
Bu komut, iki vektör (polinom katsayıları) girildiğinde, bunların çarpımından oluşan yeni polinomun katsayılarını verir.

Önemli Not:
Polinomları toplarken vektör boyutlarının eşit olması gerekir.
Ancak çarpma işlemi için böyle bir şart yoktur çünkü conv() bunu otomatik olarak halleder.

ör:

 

Büyük Dereceli Polinomu Küçük Dereceli Polinoma Bölme

Bu başlıkta anlatılan konu, MATLAB’da iki polinomun birbirine bölünmesi işlemidir. Eğer bir polinomun derecesi, diğerinden büyükse bu bölme işlemi deconv() komutu ile yapılabilir. Bu komut iki vektörü (yani polinom katsayılarını) kullanarak bölüm ve kalan sonuçlarını ayrı ayrı verir.

Komut Yapısı:
[bolum, kalan] = deconv(pay, payda);

  • pay: Bölünen polinomun katsayılarını içeren vektör

  • payda: Bölen polinomun katsayılarını içeren vektör

  • bolum: Bölüm sonucunu verir

  • kalan: Kalan polinomu veri

Pay ve payda vektörlerinin boyutlarının aynı olmasına gerek yoktur.

📌 Örnek:

 

Polinom Türevlerinin Alınması

Bu başlık altında, MATLAB’da bir polinomun türevini alma işlemi anlatılmaktadır. Polinomun türevi, polyder komutu ile kolayca hesaplanır. Bu komut, polinom katsayılarını içeren bir vektörü alır ve bu polinomun türevine ait katsayıları veren yeni bir vektör döndürür.

turev = polyder(a);

📌 Örnek:

Bu polinomun türevini hesaplamak için MATLAB’da şu kodlar yazılır:

Bu da şu türev polinomuna karşılık gelir:

İki polinom çarpımının türevini alma

Bu başlık altında, iki polinomun çarpımının türevini alma işlemi anlatılmaktadır.
MATLAB ortamında bu işlem polyder(x, y) komutu ile kolayca yapılır.

  • x ve y: Türevi alınacak iki polinomu temsil eden vektörlerdir.

  • polyder(x, y): Bu iki polinomun çarpımının türevini hesaplar ve sonucu bir vektör olarak verir.

 

📌 Örnek:

 

İki polinomun bölümünün türevini alma

Bu başlıkta iki polinomun birbirine bölümü sonucunda oluşan ifadenin türevinin nasıl alınacağı anlatılır.
MATLAB’de bu işlem polyder(x, y) komutu ile yapılır, fakat bu sefer iki çıktı alınır:

  • pay: Türevin üst kısmındaki (pay) polinomun katsayılarını içerir.

  • payda: Türevin alt kısmındaki (payda) polinomun katsayılarını içerir.

 

📌 Örnek:

 

Polinom Entegralinin Alınması

Bu başlık altında, bir polinomun integrali (belirsiz integrali) alınarak yeni bir polinom elde etme işlemi anlatılır. MATLAB ortamında bu işlem için polyint komutu kullanılır.

Açıklama:
  • polyint(a) komutu: Katsayıları a vektörü ile verilen bir polinomun integralini hesaplar. Varsayılan olarak entegral sabiti sıfır alınır.

  • polyint(a, sabit) komutu: Entegral sabiti sıfırdan farklı bir değerse, bu komutla belirlenebilir.

 

📌 Örnek:

 

Polinom Köklerinin Bulunması (roots komutu)

roots(a) komutu, katsayıları a vektörüyle tanımlanmış bir polinomun köklerini bulur. a vektöründeki katsayıların en yüksek dereceden başlayarak yazılması gerekir.

📌 Örnek:

Kökleri Bilinen Bir Polinomu Bulmak (poly komutu)

poly(a) komutu, kökleri a vektörüyle verilen bir polinomun katsayılarını verir. Yani, köklerden polinomu yeniden oluşturur.

📌 Örnek:

 

Pay ve Paydasında Polinom Olan Kesir İfadesinde Köklerin Bulunması

Kısa Açıklama: Bu başlık altında, pay ve payda kısmı polinom olan rasyonel kesirli ifadelerin analizinde, payın köklerinin (sıfırlar) ve paydanın köklerinin (kutuplar) bulunması anlatılır. Özellikle paydanın derecesi payın derecesinden büyükse (m > k durumu), sistemin kutupları önemli olur ve bu ifadeler basit kesirlere ayrılabilir. MATLAB’de bu işlem residue komutu ile yapılır.

Aşağıdaki rasyonel kesirli ifadeyi analiz edelim:

Açıklama:

  • a vektörü pay polinomunun katsayılarını temsil eder.

  • b vektörü payda polinomunun katsayılarını temsil eder.

  • residue komutu sayesinde ifade basit kesirlere ayrılır ve kök (kutuplar) ile rezidü (basit kesirlerin payları) bilgileri elde edilir.

 

k ≥ m için köklerinin bulunması (Pay derecesi paydaya eşit ya da büyük)

Bu başlık altında, kesir şeklinde yazılan rasyonel fonksiyonlarda (örneğin A(t) = X(t)/Y(t)) payın derecesi, paydanın derecesine eşit veya büyük olduğunda yapılan çözümleme anlatılır. Böyle durumlarda ifade, polinom bölme işlemi ile sadeleştirilir:

Aşağıdaki gibi yazılabilir:

A(t) = X(t)/Y(t) = B(t) + K(t)/Y(t)

Burada:

  • B(t) → bölme sonucu elde edilen polinom,

  • K(t)/Y(t) → kalan kesirli kısımdır.

Bu tür durumlarda MATLAB’de residue komutu kullanılır, ancak k ≥ m koşulu sağlandığında ek olarak bölüm polinomu da elde edilir. Bunun için:

[rez, kok, bolum] = residue(pay, payda)

📌 Örnek:

 

Açıklama:

  • rez: rezidü değerlerini verir,

  • kok: paydanın köklerini verir,

  • bolum: bölme sonucu çıkan polinomun katsayılarını verir.

Kök, rezidü ve kalan polinom katsayıları verildiğinde pay ve payda polinomunun elde edilmesi

Bu başlık altında, bir rasyonel ifadenin (kesirli ifadenin) aşağıdaki gibi verildiği durumda:

  • B(t) → Bölüm (polinom kısmı)

  • R(t)/Y(t) → Kalan (kesirli kısmın rezidü + kutup yapısı)

  • rez → rezidü değerleri (kesirli terimlerin payı)

  • kok → kutuplar, yani paydanın kökleri

  • bolum → bölüm polinomu katsayıları

Bu değerler verilirse, asıl pay (X(t)) ve payda (Y(t)) polinomları tekrar oluşturulabilir.

Kullanılan MATLAB Komutu:

[pay, payda] = residue(rez, kok, bolum);

  • pay → X(t)’nin katsayılarını döndürür.

  • payda → Y(t)’nin katsayılarını döndürür.

 

📌 Örnek:

Burada:

  • rez = [0.5 0.6145 1.5]

  • kok = [-4 1 7]

  • bolum = [1 2]   : (t + 2)

Bu yöntemle, verilen kesirli ifade üzerinden tam rasyonel ifade olan X(t)/ elde edilir. Kontrol ve analiz işlemlerinde, transfer fonksiyonu gibi ifadelerin yeniden yazımı için çok kullanışlıdır.

 

Bir yanıt yazın

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

Başa dön tuşu