matlab’a gİrİ - mitik.ktu.edu.trmitik.ktu.edu.tr/assets/matlab-mitik.pdf · matlab nedir?...
TRANSCRIPT
İçerik:
MATLAB nedir?
MATLAB arayüzü ve Bileşenleri
(Toolbox)
Değişkenler, Matris ve Vektörler
Aritmetik işlemler
Grafik çizme
M- file ile programla ve fonksiyon
oluşturma
Sembolik işlemler
MATLAB nedir?
MATLAB = MATrix LABoratory
Numerik ve Sembolik hesaplamalar yapılabilen gelişmiş bir programla yazılımıdır.
Araştırma alanlarına yönelik özel alt bileşenler (Toolbox) içerir. Control systems toolbox Optimization toolbox Fuzzy-logic toolbox Neural networks toolbox, System identification, etc.
Kütüphanesinde bulundurduğu hazır fonksiyonlar ile karmaşık işlemleri tek komutla çözümlemeye olanak sağlar.
Veri analizi için farklı grafikler kolayca elde edilebilir.
CommandWindow(geçici hesaplamalar,komut çağırma gibiişlemler için kullanılır)
Workspace(kullanılan değişkenler ve sabitler burada tutulur)
CommandHistory(Geçmişte commandwindow’da yapılan işlemler burada tutulur)
Start menu(Toolboxlara kolay yoldan erişim sağlar)
Sayılar ve Formatları
Sayı Tipi Örnek
Integer (Tam sayı) 5, 1200, 3688
Real (Reel sayı) 1.25, 1259.879
Complex (Kompleks sayı) -2+3i, 5-i
Inf (Sonsuz) Sıfıra bölümden ortaya çıkar
NaN (Not a number) 0/0 işleminin sonucudur
10x (10’un katları olarak gösterim) 1015 = 1e15, 2*10-3 = 2e-3
Değişkenler
MATLAB’ta değişkenleri özel durumlar dışında tanımlamaya gerek yoktur.
int a;double b;float c;
Düm değişkenler matris formatında saklanır.
Örnek:
a = 1; 1x1 matris olarak algılanır.
Sözel (String) değişkenler atanabilir:
a = ‘ogrenci’ ;
• Vektör (Vector) x = [4 2 -3 7]
x =
4 2 -3 7
• Matris (matrix) X = [1 5 3; 6 1 9; -4 2 6]
X =
1 5 3
6 1 9
-4 2 6
Vektör ve Matrisler
Birer bir eleman işlemleri
A(i,j)
i: satır numarasıj: sütün numarası
A(2,:)
2. Satırdaki tüm elemanlar
x.*y = X’in i’nci elemanı ile y’nin i’ncielemanının çarpımı için x’ten sonra “.” kullanıldı.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1Graph of y = sin(3pi x)
x axis
y-a
xis
M-File ile Fonksiyon (Function) yazımı
Dosyanın foksiyon dosyası olduğunu gösterir
Fonksiyonun çıkış değişkeni(leri) tanımlanır
Fonksiyonun ismi
Giriş değişkenleri
Çıkışta hesaplanacak değişken
M-File ile yazılan fonksiyonu (Function) çağırmak
Başka bir M-file’dan çağırmak Command Window’dan çağırmak
Her iki dosyada aynı klasörde olmalıdır !!
Çağrılan dosya çalışılan klasörde olmalıdır !!
M-File ile Adi diferansiyel denklem (Ordinary Diff. Eq.) Çözmek
1)0(,1)0(,0)0(
)cos(5.0
)2sin(
321
1323
312
1321
xxx
xxxx
xxx
xxxx
Diferansiyel denklem takımını MATLAB ile nümerik olarak çözelim
MATLAB kendi bünyesinde bir çok ODE çözücü fonksiyon barındırmaktadır
ode1: Sabit adım Euler metoduode4: Sabit adım 4. mertebeden Runge-Kutta metodu * ode5: Sabit adım 5. mertebe Runge kutta metodu *ode45: Değişken adımlı ODE çözücü
Internet’ten indirmeniz gerekebilir.
Örnek: Lorenz Denklemi
Ode çözümü için gerekli parametreler
Ode çözücü fonksiyonunçağrılması
Grafikler
MATLAB ile Programlama
For Döngüsü
x = -1:.05:1;for n = 1:2:8subplot(4,2,n), plot(x,sin(n*pi*x))subplot(4,2,n+1), plot(x,cos(n*pi*x))end
Örnek 1:
Örnek 2:
for n=1:20;f(n)= n+n/2 ;
end
plot(f)
While Döngüsü
MATLAB ile Programlama
Örnek: 22221 nS
S’i 100’den küçük yapan en büyük n tam sayısını bulalım.
S = 0; n= 0 ; while S+(n+1)^2 < 100
n = n+1; S = S + n^2;end
[n, S]
if…elseif…else….end Koşul döngüleri
MATLAB ile Programlama
k = 23 ; % k’ya rastgele bir sayı verelim
if (k <= 0) && (rem(k,2)==0)disp('k negatif çift sayýdýr');
elseif (k >= 0) && (rem(k,2)==0)disp('k pozitif çift sayýdýr');
elseif (k <= 0) && (rem(k,2)==-1)disp('k negatif tek sayýdýr');
else disp('k pozitif tek sayýdýr');
end
MATLAB Control System Toolbox
2.15 1.32s
24.1)(
2
s
ssG
PID Kontrolcü
Gc(s)
Sistem
-
R(s) Y(s)
Transfer fonksiyonu G(s) ile verilen sisteme PID kontrolcü tasarlayalım
2.15 1.32s
24.1)(
2
s
ssG sK
s
KKsG D
Ipc )(
MATLAB Control System Toolbox
Sistemin basmak girişe açık çevrim cevabı
2.15 1.32s
24.1)(
2
s
ssG
R(s)=1/s Y(s)
0 1 2 3 4 5 6 7 8 9 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Step Response
Time (seconds)
Am
plit
ude
R(t) = 1