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.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
t = linspace(0,0.05,100); % 0 ile 0.05 saniye arasında 100 eşit aralıklı zaman değeri oluşturuluyor x = 5*sin(2*pi*50*t); % x sinyali: 50 Hz frekanslı, genliği 5 olan sinüs dalgası y = 4*cos((2*pi*50*t)-0.6); % y sinyali: 50 Hz frekanslı, genliği 4 olan -0.6 radyan faz farkı olan kosinüs dalgası z = 3*sin((2*pi*50*t)+1.2); % z sinyali: 50 Hz frekanslı, genliği 3 olan +1.2 radyan faz farkı olan sinüs dalgası w = square(2*pi*50*t); % w sinyali: 50 Hz frekanslı kare dalga (genliği ±1) plot(t,x,'b:',t,y,'k-',t,z,'k-.',t,8*w,'k:'); % x, y, z ve w sinyalleri farklı çizgi stilleriyle çiziliyor (kare dalga 8 ile çarpılarak genliği artırılmış) legend('x','y','z','karedalga','location','northeast'); % Grafik üzerindeki çizgilere açıklamalar (legend) ekleniyor axis([0 0.05 -10 10]) % Grafik eksenlerinin aralığı (x: 0-0.05 saniye, y: -10 ile 10 genlik arası) gtext('x'),gtext('y'),gtext('z'),gtext('w'); % Kullanıcının fare ile tıklayarak grafikte metin yerleştirmesini sağlar xlabel('Zaman(t)'); % x eksenine etiket ekleniyor ylabel('Genlik'); % y eksenine etiket ekleniyor grid; % Grafik üzerine ızgara (grid) çizgileri ekleniyor |

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:
|
1 |
P = 4*x^3 - 6*x^2 + 5*x + 9; |
🔹 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:
|
1 |
P = 4*x.^3 - 6*x.^2 + 5*x + 9; |
| 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.
|
1 2 3 4 5 6 7 8 |
x = linspace(-5,5,30); pol = [2 4 -1 11]; y = polyval(pol,x); plot(x,y,'k-'); title('polinom grafigi'); xlabel('x'); ylabel('y(x)'); grid; |

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.

|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
% Polinomların katsayılarını tanımla a = [2 0 -3 0 5]; % A(x) = 2x^4 - 3x^2 + 5 b = [0 4 1 -2 1]; % B(x) = 4x^3 + x^2 - 2x + 1 % Toplama işlemi c = a + b; % Sonucu yazdır disp('Toplam polinomun katsayıları:'); disp(c); |
|
1 2 3 |
----- sonuc ----- Toplam polinomun katsayıları: 2 4 -2 -2 6 |
💡 Not:
Eksik terimlerin katsayısı olarak
0eklenmelidir.
avebvektö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:

|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
% Polinom katsayıları a = [2 5 -1 4]; % A(x) = 2x^3 + 5x^2 - x + 4 b = [1 -3 2]; % B(x) = x^2 - 3x + 2 % Çarpım c = conv(a, b); % Sonucu görüntüle disp('Çarpım sonucu polinomun katsayıları:'); disp(c); |
|
1 2 3 |
---- sonuc ---- Çarpım sonucu polinomun katsayıları: 2 -1 -12 17 -14 8 |
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:

|
1 2 3 4 |
pay = [6 2 -5 0 3]; % A(t) payda = [2 0 1]; % B(t) [bolum, kalan] = deconv(pay, payda) |
|
1 2 3 4 5 6 7 |
---- sonuc ---- bolum = 3 1 -4 kalan = 0 0 0 -1 7 |
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:
|
1 2 3 4 5 |
p = [5 0 -3 0 4 -7]; % Polinom katsayıları (azalan dereceli) turev = polyder(p) % Türevi al turev = 25 0 -9 0 4 |
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.
-
xvey: 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:

|
1 2 3 4 5 6 7 |
x = [1 0 -2 5]; % t^3 - 2t + 5 y = [4 1 -1]; % 4t^2 + t - 1 z = polyder(x, y); % Çarpımın türevi alınır disp(z) 20 4 -27 36 7 |
İ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:

|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
>> x = [1 0 2 -1]; % t^3 + 2t - 1 y = [2 0 5]; % 2t^2 + 5 [pay, payda] = polyder(x, y); disp('Pay vektörü:'), disp(pay) disp('Payda vektörü:'), disp(payda) Pay vektörü: 2 0 11 4 10 Payda vektörü: 4 0 20 0 25 |
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ıavektö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:

|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
>> a = [6 -4 1 -9]; % Polinom katsayıları intP = polyint(a); % Entegrali al, entegral sabiti sıfır intP2 = polyint(a, 3); % Entegrali al, entegral sabiti 3 disp('Entegral (sabit = 0):'); disp(intP); disp('Entegral (sabit = 3):'); disp(intP2); Entegral (sabit = 0): 1.5000 -1.3333 0.5000 -9.0000 0 Entegral (sabit = 3): 1.5000 -1.3333 0.5000 -9.0000 3.0000 |
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:
![]()
|
1 2 3 4 5 6 7 8 |
>> a = [1 -3 4 -2]; k = roots(a) k = 1.0000 + 1.0000i 1.0000 - 1.0000i 1.0000 + 0.0000i |
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:

|
1 2 3 4 5 6 |
>> r = [1 2 3]; p = poly(r) p = 1 -6 11 -6 |

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:

|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
>> % Pay ve payda vektörleri tanımlanır a = [1 0 3]; % t^2 + 0*t + 3 b = [1 4 6 5]; % t^3 + 4t^2 + 6t + 5 % Residue komutu ile rezidü ve kökler bulunur [rez,kok] = residue(a,b) % Çıktılar: rezidü değerleri ve kutuplar (kökler) rez = 2.2544 + 0.0000i -0.6272 - 0.1131i -0.6272 + 0.1131i kok = -2.3532 + 0.0000i -0.8234 + 1.2028i -0.8234 - 1.2028i |
Açıklama:
-
avektörü pay polinomunun katsayılarını temsil eder. -
bvektörü payda polinomunun katsayılarını temsil eder. -
residuekomutu 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:
![]()
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
>> pay = [2 5 3 7 4 1]; % X(t) polinomunun katsayıları payda = [1 -3 2 4]; % Y(t) polinomunun katsayıları [rez, kok, bolum] = residue(pay, payda) rez = 36.3785 + 9.6130i 36.3785 - 9.6130i 0.2429 + 0.0000i kok = 1.8982 + 1.1917i 1.8982 - 1.1917i -0.7963 + 0.0000i bolum = 2 11 32 |
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)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
>> rez = [0.5 0.6145 1.5]; kok = [-4 1 7]; bolum = [1 2]; [pay, payda] = residue(rez, kok, bolum); disp('Pay (X):'), disp(pay) disp('Payda (Y):'), disp(payda) Pay (X): 1.0000 -2.0000 -30.3855 -23.3435 36.2940 Payda (Y): 1 -4 -25 28 |
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.

