T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ OTOMATİK KONTROL SİSTEMLERİ LABORATUVARI DENEY KİTAPÇIĞI BÖLÜM-1 HAZIRLAYAN / DERLEYEN Arş. Gör. İ. Malik Kundakcı DENETLEYEN Prof. Dr. H. METİN ERTUNÇ 2019
DENEY 1: MATLAB PROGRAMLAMAYA GİRİŞ Deneyin Amaçları: - MATLAB programını ve özelliklerini kavramak - Temel komut ve fonksiyonların kullanımını öğrenmek - Veri tanımlama ve girişini yapabilmek - Denklem çözümleme işlemlerini gerçekleştirebilmek Deney Öncesi Hazırlık ve Tanıtım MatLab Matrix Laboratory kelimelerinin kısaltmasından oluşur. Ağırlıklı olarak mühendislik alanlarında kullanılsa da sayısal analiz gerektiren her türlü hesaplamada ve bilim dalında dünyada yaygın olarak kullanılır. Algoritma ve kontrol sistemleri tasarımı, sayısal analiz, benzetim, sayısal ve grafik sistemlerin çözümünde kullanıcıya büyük avantajlar sağlar. Bir çok mühendislik için geliştirilmiş Toolbox lar içerir. İlk deneyde temel komut ve fonksiyonlar incelenecektir. Matlab program geliştirme ortamı kullanıcının isteğine göre dizayn edilebilir. >> işareti bulunan Command Window penceresinde tek satırlık komutlar ve fonksiyonlar çalıştırılabilir. Fakat kullanıcı New Script menüsüyle bir text editörü açarak ve.m uzantılı bir dosya oluşturarak birden fazla komutu tek seferde çalıştırabilir. Editör ve Command Window Şekil 1.1 de gösterilmiştir. Şekil 1.1 MATLAB Geliştirme Ortamı
Çalışmaları Bu bölümdeki deneyleri MATLAB ortamında çalıştırarak sonuçları inceleyiniz. Bir Matrisin Determinantı Her kare matrisin determinantı vardır. A matrisinin determinantı A veya det A ile gösterilir. Çalışma 1: - Matlab da bir matrisin determinantı det() komutuyla alınır. Matlab komut satırına aşağıdaki A matrisini giriniz ve determinantını alınız. 2 3 1 2 0 1 >> A=[;2 0-1;] 2 0-1 49.0000 Çalışma 2: - Herhangi iki ardışık satır veya sütun yer değiştirse, determinant işareti değişir. A matrisinin satırlarının yerini değiştiriniz ve determinantını alınız. 2 3 1 2 0 1 >> A=[;;2 0-1] 2 0-1
-49.0000 Çalışma 3: - Herhangi bir satır veya sütun sıfırlardan oluşuyorsa determinantın değeri sıfırdır. A matrisini aşağıda olduğu şekilde giriniz ve determinantını alınız. 2 3 1 0 0 0 >> A=[;0 0 0;] 0 0 0 0 Çalışma 4: - Herhangi bir satırın (veya sütunun) elemanları başka bir satır veya sütünün elamanlarının k katı ise matrisin determinantı sıfırdır A matrisini aşağıda olduğu şekilde giriniz ve determinantını alınız. (1. sütun 3. sütünün 2 katıdır) 2 3 1 2 0 1 10 4 5 >> A=[;-2 0-1;10 4 5] -2 0-1 10 4 5
-1.6653e-15 Çalışma 5: - Eğer bir satır (veya sütuna), diğer bir satır (veya sütun) bir sabitle çarpılarak eklenirse, determinantın değeri değişmez Çalışma 1 deki matrisin ilk satırının 1 katını ikinci satıra ekleyiniz ve determinantını alınız 2 3 1 4 3 0 >> A=[;4-3 0;] 4-3 0 49 Çalışma 6: - Eğer determinant bir sabitle çarpılırsa, yalnızca bir satır (veya sütun) aynı sabitle çarpılır. Ancak nxn bir A matrisinin k katının determinantı A nın determinantının k n katıdır. 2 3 1 2 0 1 >> A=[;2 0-1;] >> A=A*2 2 0-1
4-6 2 4 0-2 2 8 10 392.0000 Çalışma 7: - A ve B iki kare matrisin çarpımının determinantı, determinantların çarpımına eşittir. 2 3 1 2 0 1 4 3 0 B 2 1 2 1 5 7 >> A=[;2 0-1;] 2 0-1 >> B=[4-3 0;2-1 2;1 5 7] B = 4-3 0 2-1 2 1 5 7 *det(b) -1.5680e+03 >> det(a*b) -1568 Çalışma 8: - A matrisinin tersini alınız
2 3 1 2 0 1 >> inv(a) 2 0-1 0.0816 0.3878 0.0612-0.2245 0.1837 0.0816 0.1633-0.2245 0.1224 EDİTÖR İLE PROGRAMLAMA - 1 1:
%% Bu uygulamada değişken (veri) girişi ve çıkışı incelenmektedir. % KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı %%Okuma - Yazma clear; clc; %Değişkenleri sıfırla, Ekranı temizle a=input('bir Sayı Giriniz: '); %Ekrandan değişken değeri gir b=3.7; c=8/7; d=a*b+(3*c-4); e=1:0.05:2; x='w'; y='metin'; disp(a); %Değişken değerini ekrana basar disp(e); fprintf('değişken içerikleri=\n %s %d %f %c \n',y,b,d,x); 2: %% Bu uygulamada vektör ve matris işlemleri incelenmektedir. % KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı X=[1 2 3 4]; Y=[4;3;2;1]; Z=[1 2;3 4]; T=[X(4) Y(1) Z(3),exp(-X(2))]; W=X'; A=transpose(Y); disp(t); size(a) sort(a) B=X.*A; fprintf('değerler=\n %d %f %d %f \n',z(2,1),sum(a),min(w),mean(a)); 3: %% Bu uygulamada Polinom kök bulma ve polyder, polyval, conv fonksiyonları incelenmektedir. % KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı f=[2 0 5 1-4];p=[1-2]; x=conv(f,p) [a,b]=deconv(f,p) polyder(f) kokler=roots(f) y=polyval(p, [-1:0.5:1]) % polinom çarpımı % polinom bölümü % polinom türevi % polinom değer koyma 4: %% Bu uygulamada for while döngüleri incelenmektedir. % KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı
%for döngüsü T1=0; T2=0; for i=1:10 a=sqrt(x); T1=T1+i; T2=T2+a; end disp('sonuç1=');disp(t1) disp('sonuç2=');disp(t2) %while döngüsü toplam = 0; eklenecek = 1; while eklenecek<101; toplam = toplam + eklenecek; eklenecek = eklenecek + 1; end; toplam 5: %% Bu uygulamada if-else döngüleri incelenmektedir. % KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı %if-elseif-else yapıları x=input('x= '); y=input('y='); if x>=0 & y>=0 f=x+log(y) elseif x>=0 & y<0 f=log10(x)+1/y elseif x<0 & y>=0 f=sin(2*pi+1/x+y) else f=1/x+1/y end 6: %Fonksiyon hazırlama ve çağırma function [f1,f2]=fonksiyon(a,b,c); f1=a*cos(b); f2=max(b); %Bu fonksiyon adı ile kaydedilip aşağıdaki gibi çağırılıp çalıştırılabilir. %[a,b]=fonksiyon(3,[1 2 3],7) EDİTOR İLE PROGRAMLAMA - 2
Bu deneyde temel fonksiyonların uygulamalarına devam edilecektir. MATLAB de sembolik işlemler yapmak için syms komutu kullanılır. 1: x y z z y x y z z şeklinde belirtilen matrisi MATLAB de yazınız ve z=1 için gösteriniz. %% KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı syms x y z %sembolik degiskenlerimizi tanımladık. [x y z;z y x;y z z]; %x,y,z degiskenleri olan matris A=subs(A,'z',1) %z degişkenine bir sayı verelim. 2: f(t)=4e -3t cost -e -3t sint fonksiyonun Laplace dönüşümünü Matlab ile bulunuz? %% KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı syms s t %sembolik değişkenlerimiz f=4*exp(-3*t)*cos(t)-exp(-3*t)*sin(t); F=laplace(f) %laplace hesabı pretty(f) %bu komutla ifadeyi sadeleştiriyoruz 3: F(s) s 4 2 s 5s 6 fonksiyonunun ters laplace dönüşümünü bulunuz. %% KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı % Sembolik islemler yapal?m syms s t %sembolik de?i?kenlerimiz F=(s+4)/(s^2+5*s+6) f=ilaplace(f) 4: 2 S ax bx c denklemini çözünüz %% KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı % Sembolik islemler yapalım syms a b c x
S = a*x^2 + b*x + c; solve(s) pretty(ans) 5: denkleminin başlangıç koşulu y(0)=0 olmak üzere birim basamak giriş için sembolik çözümünü yaparak bulunan çözümün grafiğini çizen MATLAB programı aşağıda verilmiştir. %% KOU Mekatronik Mühendisliği - Tasarım ve PLC Laboratuvarı s=dsolve('dy+5*y=4','y(0)=0','t'); t=0:0.1:5; yt=eval(s); plot(t,yt) Sorular 1- ) Açılımı yapılan bir Cos açılım fonksiyonu için x değeri klavyeden girilmektedir. İlk 10 terim için Cos fonksiyonunun değerini hesaplayarak ekrana yazan bir MATLAB programı yazınız. 2-) Aşağıdaki sinyallerin, belirleyeceğiniz bir zaman aralığı için zamana göre grafiklerini MATLAB ile çizdiriniz.