matlab’a gİrİ - mitik.ktu.edu.trmitik.ktu.edu.tr/assets/matlab-mitik.pdf · matlab nedir?...

42
MATLAB’a GİRİŞ Doç. Dr. Mehmet İTİK Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

Upload: trandan

Post on 30-Jul-2018

241 views

Category:

Documents


3 download

TRANSCRIPT

MATLAB’a

GİRİŞ

Doç. Dr. Mehmet İTİK

Karadeniz Teknik Üniversitesi

Makine Mühendisliği Bölümü

İç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)

MATLAB’ı Hesap Makinesi olarak kullanmak

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’ ;

DeğişkenlerCommand window’da yaptığınız

işlemin sonunda noktalı virgül kullanmayı deneyin.

• 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

Transpose

Matris İşlemleri

Uzun vektör ve Matris oluşturma

Matris indisleri

Matris indisleri

Hata MesajlarıA matrisinin 5. elemanı yok !

Matris indisleri 1’den başlar.

Matrislerin Birleştirilmesi

Matris boyutlarına dikkat !!

Matris Operasyonları

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ı.

Matlab Fonksiyonları (Built-in functions)

Grafik Çizimi

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

1

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

Grafik Menüleri Aktif hale getir ve grafik üzerinde çift tıkla

Çoklu Grafikler

0 1 2 3 4 5 6 7-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Zaman, t

x v

e y

x

y

M – Files

M –file açma simgesi

M -file da esnek programlama yapabiliriz.

M-File Kullanımı

M-file’i çalıştırır

-10

-5

0

5

10

-10

-5

0

5

10-0.5

0

0.5

1

xy

z

3D grafik örneğinin çıktısı

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

Diferansiyel denklemin bir M-file’da tanıtılması

Ö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 ile Sembolik İşlemler (Symbolic Math Toolbox)

MATLAB ile Sembolik İşlemler (Symbolic Math Toolbox)

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

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

MATLAB Control System Toolbox (SISOTOOL)

Command window’da sisotool komutunu giriniz

MATLAB Control System Toolbox (SISOTOOL)

MATLAB Control System Toolbox (SISOTOOL)

MATLAB Control System Toolbox (SISOTOOL)

PID kontrol uygulanmış sistemin kapalı çevrim birim basamak girişe cevabı