MATLAB ÖZEL DERSİ ALMAK İÇİN TIKLAYIN.
Matlab’da Polinom Uygulamaları
Bu bölümde polinomlar ile ilgili Matlab komutlarını göreceğiz. Sırasıyla:
-
Matlab’da Bir Polinomun Tanıtılması
-
Matlab’da Polinomun köklerinin bulunması: Matlab roots komutu
-
Matlab’da Polinomların Toplanması
-
Matlab’da Polinomların Çarpılması: Matlab conv komutu
-
Matlab’da Kökleri Bilinen Bir Polinomu Elde Etme: Matlab poly komutu
-
Matlab’da Bir Matrisin Karakteristik Denkleminin Bulunması: Matlab poly komutu
-
Matlab’da Polinomda Bilinmeyenin yerine değer atanması: Matlab polyval komutu
-
Matlab’da Bir Polinomun Türevinin Alınması: Matlab polyder komutu
-
Matlab’da Bir Polinomun İntegralinin Alınması: Matlab polyint komutu
-
Matlab’da Polinomial Eğri Uydurulması Matlab polyfit komutu
Bir Polinomun Matlab’a Tanıtılması
$latex P(s)= a s^4 + b s^3 +c s^2+ d s +e – www.matlabakademi.com$
ş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:
$latex P(s) = s^4 +2 s^3 + s^2 + 3 s + 6 – www.matlabakademi.com $
ş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:
$latex P(s)= 1 s^{2} + 2 s +1 – www.matlabakademi.com$
polinomunun köklerinin Matlab yardımıyla bulunması.
>> katsayilar = [1 2 1];
>> roots(katsayilar)
ans =
-1
-1
Örnek:
$latex s^4 – 6 s^3 + 11 s^2 – 6 s – www.matlabakademi.com $
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:
$latex P_1(s) = 3 s^3 + 2 s +1 $ ve $latex P_2(s)= 2 s^2 + 10 s + 1 $ gibi iki polinomu Matlab’da toplamak isteyelim.
>> kokler1 = [3 0 2 1];
>> kokler2 = [0 2 10 1];
>> kokler3 = kokler1 + kokler2
kokler3 =
3 2 12 2
İki polinomun toplamı bize $latex P_3(s)= 3 s^3 + 2 s^2 + 12 s +2 $ 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.
ZOOM üzerinden online canlı özel ders için tıklayın.
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:
$latex P_1(s)= 3 s^3 + 2 s +1$ ve $latex P_2(s)= 2 s^2 + 10 s +1 $ gibi iki polinomu Matlab’da çarpmak isteyelim.
>> 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 $latex P_3(s)= 6 s^5 + 30 s^4 + 7 s^3 + 22 s^2 +12 s +2 $ 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 $latex P_1(s) = 3 s^3 +2 s + 1 $ polinomunu $latex P_2(s)= 2 s^2 + 10 s +1 $ 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
Yani $latex P_3(s)= \frac{P_1}{P_2}= 1.5 s – 7.5 $ $latex + \frac{75.5 s +8.5}{2 s^2 + 10 s +1} – www.matlabakademi.com $
şeklinde olacaktır.
MATLAB ÖZEL DERSİ ALMAK İÇİN TIKLAYIN.
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 $latex P(s) = (s + 2) (s + 3) (s + 4) $ şeklinde tanımlanır.
>> kokler = [-2 -3 -4];
>> poly(kokler)
ans =
1 9 26 2
Yani bu üç ifadenin çarpımıyla elde edilecek polinom $latex P(s) = s^3 + 9 s^2 +26 s + 2 – www.matlabakademi.com $
Ö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
Yani $latex P(s) = s^2 – 2 s + 10 – www.matlabakademi.com $
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:
$latex A = \begin{bmatrix}
0 & 1 \\
3 &5
\end{bmatrix} $
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:
$latex P(s) = s^5 + 4 s^3 + 2 s^2 $ ise z = P(10) değeri nedir?
>> 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:
$latex P(s) = s^5 + 4 s^3 + 2 s^2 – www.matlabakademi.com $
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 $latex P(s) = s^5 + 4 s^3 + 2 s^2 $ polinomunun türevi
$latex P(s) = 5 s^4 + 12 s^2 + 4 s $ dir.
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:
$latex P_1(s) = 3 s^3 + 2 s + 1 $ ve $latex P_2(s) = 2 s^2 + 10 s +1 – www.matlabakademi.com $
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
$latex P(s) = P_1(s) P_2(s) – www.matlabakademi.com $ polinomunun türevi
$latex \frac{dP(s)}{ds} = 30 s^4 + 120 s^3 + 21 s^2 + 44 s + 12 – www.matlabakademi.com $ dır.
ZOOM üzerinden online canlı özel ders için tıklayın.
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:
$latex P_1(s) = 3 s^2 + 2 s +1 – www.matlabakademi.com $
polinomunun integralini Matlab yardımıyla bulalım.
>> kokler1 = [3 2 1];
>> integral = polyint(kokler1)
integral =
1 1 1 0
$latex \int 3 s^2 + 2 s + 1 \mathrm{d}x = s^3 + s^2 + s – www.matlabakademi.com$
ş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 $latex \int 3 s^2 + 2 s + 1 \mathrm{d}x = s^3 + s^2 + s + 3 $ 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;
$latex y(x) = – 0.8333 x^3 + 18 x^2 – 14.1667 x + 3 $ elde ederiz.
MATLAB ÖZEL DERSİ ALMAK İÇİN TIKLAYIN.
ZOOM üzerinden online canlı özel ders için tıklayın.