Post on 26-Feb-2020
AMASYA ÜNİVERSİTESİ
TEKNOLOJİ FAKÜLTESİ
Elektrik Elektronik Mühendisliği Bölümü
Denetim Sistemleri Laboratuvarı Deney Föyü
Yrd.Doç.Dr.Mehmet EKİCİ
Arş.Gör.Dr.Kenan TEKBAŞ
Arş.Gör.Birsen BOYLU AYVAZ
DENEY 1-RAPOR
MATLAB VE SIMULINK’E GİRİŞ
Öğrencinin Adı/Soyadı:
Numarası:
Teslim Tarihi:
Puanı:
Ön Çalışma %30
Rapor %70
1
Raporunuzu bir sonraki deneye gelirken getiriniz. Ön hazırlık çalışmanız ise deney esnasında yanınızda
olmalıdır.
MATLAB PROGRAMLAMA DİLİNE GİRİŞ
1) AMAÇ:
MATLAB programlama komut ve fonksiyonlarını kullanarak denklem takımlarının çözümü, veri
çözümleme işlemleri, grafik çizimi vs. gibi programlar hazırlayabilmek.
2) DENEYE / UYGULAMAYA HAZIRLIK
1.1.Matlab Nedir?
MATLAB, MATrix LABoratory sözcüklerinden gelir. Başta mühendislik alanında olmak üzere sayısal
analiz yöntemlerini kullanan bilimlerde son yıllarda oldukça sık kullanılan bir hazır yazılım paketidir.
Özellikle yüksek performans gerektiren algoritma hazırlama ve geliştirme, sayısal analiz, benzetim,
mühendislik problemlerinin sayısal ve grafik çözüm tekniklerinde son derece etkindir. MATLAB
programı, çeşitli mühendislik alanları için hazırlanmış Toolbox’ları da ihtiva eden kapsamlı bir
programdır. Ancak burada, MATLAB programlama komut ve fonksiyonlarını kullanarak çeşitli
program örnekleri incelenecektir.
MATLAB ortamına girildiğinde görülen >> biçimindeki MATLAB komut girme iletisinin önüne tek tek
MATLAB komut ya da fonksiyonları yazılarak çalıştırılabilir. Ancak kullanıcının, programını File New
M-file menüsünden açılan text editörü içerisine yazarak ve *.m uzantısı ile kaydederek çalıştırması
pratik açıdan daha uygundur.
2.2.Kullanıcı Arayüzü
Matlab açıldığında karşımıza 3 pencere gelecektir.
Workspace (Çalışma Alanı) / Current Directory (Çalışma Klasörü)
Command Window (Komut Penceresi)
Command History (Komut Kaydı)
2
Workspace penceresinde hafızadaki değişkenler ile ilgili bilgiler gösterilmektedir. Değişkenlerin içeriği
çift tıklama sonucu açılan Variable Editor ile görüntülenebilmekte ve üzerlerinde değişiklikler
yapılabilmektedir. Benzer şekilde değişkenlerin basit grafikleri ve çıktıları elde edilebilmektedir.
Workspace penceresinde hafızadaki değişkenler hakkında bilgi edinme ve işlem yapmaya ek olarak
yeni değişkenler oluşturmak veya hafızadaki değişkenleri de temizlemek mümkündür.
Current Directory (Çalışma Dizini) ve Workspace (Çalışma Alanı) Workspace and Current Directory
pencereleri arasında geçiş, alttaki sekmeler vasıtasıyla yapılmaktadır.
Current directory penceresinde ise Matlab’in “Çalışma Klasörü” içerisinde bulunan dosyalar
gösterilmektedir. Okutulacak veri dosyaları, yerleri path ile tanıtılmadığı sürece bu dosya içinde
bulunmalıdır. Matlab ile beraber gelmeyen fonksiyon ve script dosyaları da çalışma klasörünün
içerisinde bulunmalıdır veya bulundukları klasörler path komutu ile tanımlanmalıdır.
Matlab tarafından üretilen dosyalar da özel bir yer belirtilmedikçe Çalışma Klasörüne
kaydedilmektedir. Matlab’in çalışma klasörünün adresini Toolbar üzerinde bulunan Current Directory
kutucuğu içerisinden görebilirsiniz.
Workspace penceresinde hafızadaki değişkenler ile ilgili bilgiler gösterilmektedir. Değişkenlerin içeriği
çift tıklama sonucu açılan Variable Editor ile görüntülenebilmekte ve üzerlerinde değişiklikler
3
yapılabilmektedir. Benzer şekilde değişkenlerin basit grafikleri ve çıktıları elde edilebilmektedir.
Workspace penceresinde hafızadaki değişkenler hakkında bilgi edinme ve işlem yapmaya ek olarak
yeni değişkenler oluşturmak veya hafızadaki değişkenleri de temizlemek mümkündür.
Command Window (Komut Penceresi) Command Window penceresinden fonksiyonlar ve programlar
çalıştırılabilmekte veya değişkenler tanımlanabilmektedir. ƒ Yukarı ok tuşuyla (↑) bir önceki komut
çağırılmaktadır. ƒ Aşağı ok tuşuyla (↓) bir sonraki komuta geçilmektedir. ƒ Sol (←) ve sağ
(→)tuşlarıyla komut içerisinde hareket edilebilmektedir.
Değişkenlerin Tanımlanması
Değişken isimleri rakam ile başlayamaz. - Sadece İngilizce alfabede a dan z ye kadar olan harfler,
sayılar ve alt çizgi ( _ ) kullanılabilir. - 31 karakter ile sınırlı - Büyük-küçük harf kullanımına duyarlı.
4
Değişkenler ile ilgili komutlar
Who Hafızadaki değişkenleri listeler
Whos Hafızadaki değişkenleri boyutları ile beraber listeler
Clear Hafızadaki değişkenleri temizler
Save Hafızadaki değişkenleri kaydeder
Komut Penceresinde Sık Olarak Kullanılan Komutlar
Clc Komut penceresini temizler
Clf Figure penceresini temizler
Close Figure Penceresini kapatır
More on Uzun program çıktılarının sayfa sayfa görüntülenmesini sağlar.
Enter More on modu aktifken gelecek satıra ilerlemesini sağlar.
Space More on modu aktifken gelecek sayfaya ilerlemesini sağlar.
More on modu aktifken çıktıyı durdurur.
More off More on modundan çıkılmasını sağlar.
… komut ikinci satırda devam ediyor.
% Yorum (Bu kısım program tarafından değerlendirilmez.
, Tek satırda birden fazla komut girmek için kullanılır
; Çıktının ekranda görüntülenmesini engeller. Özellikle ara işlemlerde kullanılır.
Ctrl + C Çalışan bir programdan çıkılmasını sağlar.
Ctrl + Break Çalışan bir programdan çıkılmasını sağlar.
Pause Programı kullanıcı bir tuşa basana kadar veya kullanıcı tarafından belirlenmiş bir süre için
duraksatır.
Exit, Quit Matlab’i kapatır
5
Komut penceresinin görüntü ayarları MATLAB Start menüsündeki Preferences seçeneği ile
yapılabilmektedir. Command →Window→Preferences penceresinde Numeric Format ve Numeric
Display seçenekleri ile sayıların ekranda görüntülenme şekli seçilebilir. Aynı değişiklikler Komut
penceresinden format komutuyla da yapılabilir. Format komutu hakkında ayrıntılı bilgi help format
komutu ile alınabilir.
Command History penceresinde de, komut penceresinde girmiş olduğunuz komutların kaydı
tutulmaktadır.
Command Window, Command History, Current Directory ve Workspace pencereleri sürüklenerek
hareket ettirilebilmekte ve kaldırılabilmektedir. Kaldırılan pencerelerin yeniden gösterilmesi için
Desktop menüsünden ekranda görünmesi istenen pencereleri işaretlemeniz yeterlidir.
6
Kısayollar
Kısayollar, rutin görevlerin gerçekleştirilmesinde kullanıcıyı oldukça rahatlatmaktadır. Yeni bir kısayol
yaratmak için shortcuts araç çubuğuna sağ tıklayın ve çıkan menüde New Shortcut seçeneğini seçin.
Karşımıza gelen Shortcut editör penceresinde Label kısmına kısayolun ismi, Callback kısmına ise
gerçekleştirmesi istenen görevler yazılmaktadır.
7
MATLAB’de Yardım Alma
Matlab kullanıcılara oldukça gelişmiş bir yardım sistemi sunmaktadır. Herhangi bir fonksiyon hakkında
bilgi alabilmek için help komutu kullanılabilir. Örnek: help save. Bir konu hakkında bilgi içeren
fonksiyonların listesi lookfor komutu ile elde edilebilir. Örnek: lookfor sine. F1 tuşuna basarak veya
Help menüsünden ulaşabileceğimiz MATLAB yardım diyaloğu ile detaylı arama yapmak mümkündür.
Özellikle bu pencerede bulunan Getting Started bölümünün yeni başlayan tüm kullanıcıların
tarafından incelenmesi tavsiye edilmektedir. http://www.mathworks.com/matlabcentral/
adresinden Matlab Central’a ulaşabilir ve diğer kullanıcılar tarafından geliştirilen uygulamalardan
istifade edebilirsiniz.
Gelişmiş Bir Hesap Makinesi Olarak MATLAB
. Aritmetik Operatörler
+ Toplama - Çıkarma * Çarpma / Bölme ^ Üs Alma
İşlem Önceliği
1. Parantezler (İçeriden dışarı doğru)
2. Üs alma
3. Çarpma ve Bölme (Soldan sağa)
4. Toplama ve Çıkarma (Soldan sağa)
Özel Değişkenler
Ans Varsayılan değişken ismi
Pi π Eps
İki rakam arasında olabilecek en ufak fark
Inf Sonsuz
Nan Sayı değil veya tanımsız Örnek. 0/0
9
M-Dosyaları: Scriptler ve Fonksiyonlar
Komutlar, komut penceresinden girilebildiği gibi M-Dosyaları aracılığıyla da girilebilmektedir.
M-Dosyaları sayesinde birbirini takip eden çok sayıda komut bir seferde başlatılabilmektedir.
M-Dosyası oluşturmak
Yeni bir M-Dosyası oluşturmak için File menüsünden New→M-file seçeneğini tıklayın.
10
Deney Öncesi Çalışma:
1) a = pi/6 n=sin(a)^2 + cos(a)^2 m=exp(2*log(3) + 3*log(2)) sonucu Matlab’ta yapınız.
2) x^2-3*x-4=0 denklemini Matlab’ta çözünüz.
3) A= 1 2 B= 2 4 Matrislerini oluşturup;
3 4 6 8
A+B,A-B,A^2,A.^2,A’ işlemlerini yapınız.
4) 2*2’lik birim matris ve 2*2’lik random matris oluşturunuz ve toplayınız.
5) x=23 değeri için;
f(x)=5*x^2-6*x denklemini çözünüz.
11
SIMULINK’E GİRİŞ 1-) AMAÇ MATLAB/Simulink Programını kullanarak kontrol sistemlerinin için blok şema çizimlerini yapabilmek ve çeşitli giriş sinyalleri için kontrol sisteminin cevabını incelemek. 2-) DENEYE / UYGULAMAYA HAZIRLIK SIMULINK; MATLAB programı (*.m dosyası) yazarak bir dinamik sistemin cevabının bulunması ve blok şemalarının fonksiyonlarla indirgenerek kontrol sisteminin incelenmesi yerine doğrudan blok şemalar ile kontrol sistemi çizilerek analizini sağlayan bir programdır. MATLAB/SIMULINK ortamına geçmek için komut satırından, >> simulink yazılmalı ya da Simulink düğmesi tıklanmalıdır. Simulink ortamında temel simulink blok kütüphaneleri ile birlikte çok sayıda toolbox blok kütüphaneleri mevcuttur. Temel simulink blok kütüphanelerinden ilk aşamada Continuous, Sinks, Sources, Math Operations kütüphaneleri önemlidir.
Yeni bir Simulink dosyası oluşturmak için SIMULINK den File-New seçilerek boş bir simulink ortamı açılmalıdır. Bu boş ortamda Simulink ile bir kontrol sisteminin blok şemasını oluşturmak için yukarıdaki şekilde görülen kütüphane blokları seçildikten sonra içeriğindeki ilgili bloklar sürüklenerek
SIMULINK
12
taşınmalı ve bağlantıları yapılmalıdır. Şekilde Continuous, Sinks, Sources kütüphanelerinden taşınan bloklarla bir transfer fonksiyonunun basamak cevabının osilaskopta incelenmesi çizilmiştir.
Kontrol sistemi kurulduktan sonra dosyaya isim verilerek kaydedilebilir. Kurulan model, Simulation start ile çalıştırılır. Bazı önemli blok kütüphaneleri ve bloklar aşağıda verilmiştir. Math Operations kütüphanesi çarpma, bölme, toplama, işaret alma, karekök alma vs. gibi çeşitli aritmetiksel operatör bloklarını ihtiva eder. Continuous kütüphanesi türev, integral, sistemlerin transfer fonksiyonu ve durum denklemi modellerini ihtiva eder.
Sinks kütüphanesi çeşitli osilaskoplar, blok çıkışı, dosya ve MATLAB komut satırına yazma bloklarını ihtiva eder.
13
Sources kütüphanesi blok girişi ve çeşitli giriş sinyallerini ihtiva eder.
1.Uygulama: 1) Aşağıdaki sistemi Simulink’te gerçekleyiniz.
14
Bloklar seçilir:
Bloklar birleştirilir;
Blokları döndürmek için sağ tıklanıp formattan flip block seçilir.
Simülasyon
çalıştırılır. Süre
30 sn.dir.
15
Scope üzerine tıklandığında simülasyon çıktısını görebiliriz;
2.Uygulama: 1) Aşağıdaki sistemi Simulink’te gerçekleyiniz Vc’ yi gözlemleyiniz.
16
Sistemi Simulink’te oluşturduğumuzda;
Scope’tan sistemin çıkışını görebiliriz;
Deney Sonrası Çalışma:
1) U(s) → 25/(s^2+4*s+25) → Y(s) Simulink’te gerçekleyiniz. Ekran görüntülerini rapora ekleyiniz.
2) Sin(x)’i ilk 10 terim kullanarak bulan bir Matlab programı yazınız. X açı değerini
derece olarak kullanıcıdan alıp sin(x)’i bulunuz. Kodu ve ekran görüntüsünü rapora ekleyiniz.