instagram twitter linkedin github youtube

9.1.18

Matlab da örnekler

faktoriyel 
function sonuc= faktoriyel(n)
    sonuc = 1;
for i=1:n;
    sonuc = sonuc *  faktoriyel(i); 
end


MATLAB
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
8
7
% max(X)= Her sütunun en büyük değerini alarak bir matris oluşturur
 
% min(X)= Her sütunun en küçük değerini alarak bir matris oluşturur
 
% length(X)= Matrisin satır ve sütununu verir
 
% sum(X)= Her bir sütunun  elemanlarını toplar
 
% Prog(X)= Her bir sütunun elemanlarını çarpar
 
% median(X)= Her bir sütunun medyanını yani ortanca değerini bulur
 
% std(X)= Her bir sütunun standart sapmasını verir
 
% mean(X)= Her bir sütunun ortalamasını verir
 
% sort(X)= Her bir sütunun elemanlarını küçükten büyüğe sıralar
 
% bunlar genel olarak kullanılan fonksiyonlardır.
 
% X matrisini tanımlayalım
 
>> X=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15; 16 17 18 19 20]
 
X =
 
     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20
 
>> max(X)
 
ans =
 
    16    17    18    19    20
 
>> min(X)
 
ans =
 
     1     2     3     4     5
 
>> length(X)
 
ans =
 
     5
 
>> sum(X)
 
ans =
 
    34    38    42    46    50
 
>> prod(X)
 
ans =
 
        1056        2856        5616        9576       15000
 
>> median(X)
 
ans =
 
    8.5000    9.5000   10.5000   11.5000   12.5000
 
>> std(X)
 
ans =
 
    6.4550    6.4550    6.4550    6.4550    6.4550
 
>> mean(X)
 
ans =
 
    8.5000    9.5000   10.5000   11.5000   12.5000
 
>> sort(X)
 
ans =
 
     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20



MATLAB
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
26
27
28
29
30
31
32
clear all
clc
polinom_1=[1 -2 7 -14 5 3]; %1. Polinomun tanıtımı
polinom_2=[1 0 0 0 -2]; %Olmayan değerler yerine 0 konulur
 
deger1=polyval(polinom_1,2);
deger2=polyval(polinom_2,3);
fprintf('1. polinoma 2 değerini verirsek= %d \n',deger1)
fprintf('2. polinoma 3 değerini verirsek= %d \n',deger2)
 
kok_1=roots(polinom_1);
kok_2=roots(polinom_2);
fprintf('1.Polinomun kökleri= %d \n',kok_1)
fprintf('2.Polinomun Kökleri= %d \n',kok_2)
 
a=poly([-4 3]);
fprintf('Kökü -4 ve 3 olan polinom denklemi= %d \n',a)
 
carpim=conv(polinom_1,polinom_2);
disp('              ===1. ve 2. Polinomun çarpımı===')
disp(carpim)
 
bolme=deconv(polinom_1,polinom_2);
disp('===Bölme sonucu==')
disp(bolme)
 
turev_1=polyder(polinom_1);
turev_2=polyder(polinom_2);
disp('1. Polinomun Türevi')
disp(turev_1)
disp('2.Polinomun Türevi')
disp(turev_2)



Matlab’da Polinomlar

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:
P_1(s) = 3 s^3 + 2 s +1    ve    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 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.

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:
P_1(s)= 3 s^3 + 2 s +1 ve 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  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 P_1(s) = 3 s^3 +2 s + 1  polinomunu  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


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 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 
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:
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:
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:

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 P(s) = s^5 + 4 s^3 + 2 s^2   polinomunun türevi
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:
P_1(s) = 3 s^3 + 2 s + 1   ve 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
 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
\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 \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ş0123
Çıkış3640100

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;
y(x) = - 0.8333 x^3 + 18 x^2 - 14.1667 x + 3  elde ederiz.