Bir Polinomun Matlab’a Tanıtılması
şeklindeki bir polinomu Matlab’a Tanıtmak için, polinomun katsayılarını kullanacağız.
‘katsayi’ adında bir satır vektör tanımlarsam, Matlab’ta bunu:
>> katsayi = [a b c d e]
şeklinde girmem gereklidir.
Böylelikle katsayılarını satır vektör olarak girdiğim polinom üzerinde Matlab’ın hazır komutlarını kullanarak, polinomların kökünün bulunması, çarpılması gibi işlemleri kolaylıkla yapabileceğiz.
Örnek:
p(S)=s^4+2s'3+s'2+3s+6
şeklindeki bir polinomu:
>> katsayi1 = [1 2 1 3 6]
şeklinde Matlab komut ekranından girebiliriz.
Matlab’da Polinomun Köklerinin Bulunması:
Polinomun köklerini bulmak için ‘roots’ komutunu kullanacağız.
Daha önce katsayılarını bir satır vektöre atadığımız Polinomun köklerini aşağıdaki şekillerde Matlab’a buldurabiliriz.
Matlab roots komutu
roots(katsayilar) veya kokler = roots(katsayilar)
Örnek:
p(S)=s'2+2s+1
polinomunun köklerinin Matlab yardımıyla bulunması.
>> katsayilar = [1 2 1];
>> roots(katsayilar)
ans =
-1
-1
Örnek:
p(s)=s^4+11s^2-6s
polinomunun köklerinin Matlab’da bulunması:
>> katsayilar = [1 -6 11 -6 0];
>> kokler = roots(katsayilar)
kokler =
0
3.0000
2.0000
1.0000
Bu örnek’te görüldüğü üzere polinomun kökleri istenirse, bir değişkenine atanabilir. Burada ‘kokler’ isimli değişkene atanmıştır. Polinomun değerleri 0, 3, 2 ve 1’dir.
Matlab’da Polinomların Toplanması:
Örnek:
>> kokler1 = [3 0 2 1];
>> kokler2 = [0 2 10 1];
>> kokler3 = kokler1 + kokler2
kokler3 =
3 2 12 2
İki polinomun toplamı bize
polinomunu verecektir.
Burada dikkat edilecek husus vektör toplamında boyut eşitliği arandığından 2. polinomun mertebe olarak bulunmayan mertebelerinin katsayılarına sıfır konmuştur.
Matlab’da Polinomların Çarpılması: (conv)
Matlab conv komutu
Matlab’da polinom çarpımı için ‘conv’ hazır fonksiyonu vardır. Çarpmak istediğimiz polinomların katsayılarını bu fonksiyona girdiğimizde, cevap olarak çarpım sonucu elde edilen polinomun katsayılarını alırız.
Örnek:
>> kokler1 = [3 0 2 1];
>> kokler2 = [ 2 10 1];
>> kokler3 = conv(kokler1, kokler2)
kokler3 =
6 30 7 22 12 1
İki polinomun çarpımı bize
polinomunu verecektir.
‘conv’ hazır fonksiyonu katsayılar dizlerinin eşit boyutta (eşit eleman sayısında) olmasını gerektirmez.
Matlab’da Polinomların Bölünmesi: (deconv)
Matlab deconv komutu
Matlab’da polinom bölümü için ‘deconv’ hazır fonksiyonu vardır. Bölmek istediğimiz polinomların katsayılarını sırasıyla pay ve payda olacak şekilde bu fonksiyona girdiğimizde, cevap olarak bölüm sonucu elde edilen polinomun katsayılarını alırız.
‘deconv’ hazır fonksiyonun kullanım şekli aşağıdaki gibidir.
[bolum, kalan]= deconv(bolunen, bolen ) şeklindedir.
Örnek:
Matlab yardımıyla
polinomunu
polinomuna bölmek isteyelim.
>> kokler1 = [3 0 2 1];
>> kokler2 = [ 2 10 1];
>> [bolum, kalan] = deconv(kokler1, kokler2)
bolum =
1.5000 -7.5000
kalan =
0 0 75.5000 8.5000
Matlab’da Kökleri Bilinen Bir Polinomu Elde Etme: (poly)
Matlab poly komutu:
Matlab’da kökleri bilinen bir polinomun katsayıları ‘poly’ hazır fonksiyonu ile bulunur. Katsayılarını bulmak istediğimiz polinomun köklerini bir satır vektörde tanımlarız. Bu satır vektörü ‘poly’ fonksiyonuna girdiğimizde, cevap olarak polinomun katsayılarını alırız. ‘poly’ fonksiyonu bir nevi ‘roots’ fonksiyonun tersi yönde işlem görür. ‘roots’ fonksiyonu katsayılardan köklere, ‘poly’ fonksiyonu ise köklerden polinom katsayılarına ulaşmamızı sağlar.
Örnek:
Kökleri -2 ,-3, ve -4 olan polinomu tanımlayınız.
Bu polinom
şeklinde tanımlanır.
>> kokler = [-2 -3 -4];
>> poly(kokler)
ans =
1 9 26 2
Yani bu üç ifadenin çarpımıyla elde edilecek polinom
p(s)=s^3+9s^2+26s+2
Örnek:
Kökleri 1-3i ve 1+3i olan polinomu tanımlayınız.
>> kokler = [1-3i 1+3i];
>> poly(kokler)
ans =
1 -2 10
Matlab’da Bir Matrisin Karakteristik Denkleminin Bulunması: (poly)
Matlab poly komutu
A bir matris olmak üzere det(sI-A)= 0 denklemi bize matrisin karakteristik denklemini verir.
Matlab’da bir matrisin karakteristik denklemini ‘poly’ hazır fonksiyonu ile buluruz.
Genel kullanım formu:
Karakteristik_polinom = poly(matris)
şeklindedir.
Örnek:
matrisinin karakteristik denklemini bulalım.
>> A = [0 1 ; 3 5];
>> poly(A)
ans =
1.0000 -5.0000 -3.0000
Matlab’da Polinomda Bilinmeyenin yerine değer atanması: (polyval)
Matlab polyval komutu
Matlab’da polinomda bilinmeyenin yerine bir değerin atanması için ‘polyval’ fonksiyonunu kullanılır. Bu fonksiyonum genel kullanım şekli şu şekildedir.
polinomun_degeri = polyval(katsayilar, atanacak_deger)
Örnek:
>> katsayilar = [1 0 4 2 0 0];
>> z =polyval(katsayilar, 10)
z =
104200
Matlab’da Bir Polinomun Türevinin Alınması: (polyder)
Matlab polyder komutu
Matlab’da bir polinomun türevini almak için ‘polyder’ hazır fonksiyonu vardır. Türevini almak istediğimiz polinomun katsayılarını bir satır vektöre atarız. Bu satır vektörü , ‘polyder’ fonksiyonuna girdiğimizde cevap olarak, polinomun türevi alınmasıyla elde edilen polinomun katsayılarını verecektir.
Örnek:
fonksiyonun türevini Matlab yardımıyla bulunuz.
>> katsayilar = [1 0 4 2 0 0];
>> turev = polyder(katsayilar)
turev =
5 0 12 4 0
Yani
polinomunun türevi
Genel olarak bir polinomun türevini almak kolaydır. Belki bunun için Matlab’a çok ihtiyaç duymaya biliriz. Ancak iki polinomun çarpımını türevini elle almak daha zahmetlidir. Neyse ki bu işlemi de Matlab’a kolaylıkla yaptırabiliyoruz.
Örnek:
gibi iki polinomun çarpımının türevini Matlab yardımıyla bulalım.
>> katsayi1 = [3 0 2 1];
>> katsayi2 = [ 2 10 1];
>> turev = polyder(katsayi1, katsayi2)
turev =
30 120 21 44 12
Alternatif Çözüm:
>> katsayi1 = [3 0 2 1];
>> katsayi2 = [ 2 10 1];
>> katsayi = conv(katsayi1, katsayi2);
>> turev = polyder(katsayi)
turev =
30 120 21 44 12
polinomunun türevi
dır.
Matlab’da Bir Polinomun İntegralinin Alınması: (polyint)
Matlab polyint komutu
Matlab’da bir polinomun integralini almak için ‘polyint’ hazır fonksiyonu vardır. İntegralini almak istediğimiz polinomun katsayılarını bir satır vektöre atarız. Bu satır vektörü , ‘polyint’ fonksiyonuna girdiğimizde cevap olarak, polinomun integrali alınmasıyla elde edilen polinomun katsayılarını verecektir.
Örnek:
polinomunun integralini Matlab yardımıyla bulalım.
>> kokler1 = [3 2 1];
>> integral = polyint(kokler1)
integral =
1 1 1 0
şeklinde olacaktır.
Denklemden de görüldüğü üzere integral sabiti default olarak 0 alınmıştır. Eğer sıfırdan başka bir integral sabiti denkleme girilmek isteniyorsa, bu fonksiyonda ikinci bir parametre olarak girilebilir.
Örnek:
>> integral = polyint(kokler1,3)
integral =
1 1 1 3
Görüldüğü üzere ‘polyint’ hazır fonksiyonunda girilen ikinci parametre ile integral sabiti olarak 3 olarak girilmiş oldu.
Yani
olarak bulmuş olduk.
Matlab’da Polinomial Eğri Uydurulması (polyfit)
Matlab polyfit komutu
Bir dinamik sistemimiz varsa ve bu sisteme çeşitli girişler uygulayıp çıktıları ölçüyorsak, bu veriler ile giriş ve çıkış arasındaki ilişkiyi polinom olarak ifade edebiliriz.
Genel kullanım yapısı aşağıdaki gibidir.
polyfit(giris_verileri, cikis_verileri, polinomun_mertebesi)
Örnek:
Giriş | 0 | 1 | 2 | 3 |
Çıkış | 3 | 6 | 40 | 100 |
Giriş verilerini x satır vektörüne, çıkış verilerini ise y satır vektörüne atayalım.
>> x = [0 1 2 3];
>> y = [3 6 40 100];
>> polyfit(x,y,3)
ans =
-0.8333 18.0000 -14.1667 3.0000
Sonuç olarak;