MAK3002 OTOMATİK KONTROL MATLAB UYGULAMALARI 1



Benzer belgeler
MAK 4083 PAKET PROGRAMLARLA ANALİZ VE ÇÖZÜM. Dersin Adı. Dersin Yarıyılı. Dersin Kodu. Kredisi. Uygulama Laboratuar (Saat/Hafta) 7.

MATLABA GİRİŞ 1. MATLAB. Komut penceresi. MATLAB adı, MATrix LABoratory (Matrix Laboratuarı) kelimelerinden gelir.

Matlab da Dizi ve Matrisler. Mustafa Coşar

Ders #9. Otomatik Kontrol. Kararlılık (Stability) Prof.Dr.Galip Cansever. 26 February 2007 Otomatik Kontrol. Prof.Dr.

DENEY 1: Matlab de Temel Uygulamalar

Yrd. Doç. Dr. A. Burak İNNER

2.3. MATRİSLER Matris Tanımlama

Frekans Analiz Yöntemleri I Bode Eğrileri

MATLAB. Temel işlemler, Vektörler, Matrisler DOÇ. DR. ERSAN KABALCI

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

ESM406- Elektrik Enerji Sistemlerinin Kontrolü. 2. SİSTEMLERİN MATEMATİKSEL MODELLENMESİ Laplace Dönüşümü

Yukarıdaki program çalıştırıldığında aşağıdaki sonucu elde ederiz.

Bilgisayar Programlama MATLAB

1. GİRİŞ 1.1. GENEL BAKIŞ 1.2. KULLANICI ARAYÜZÜ

MATLAB Semineri. EM 314 Kontrol Sistemleri 1 GÜMMF Elektrik-Elektronik Müh. Bölümü. 30 Nisan / 1 Mayıs 2007

Kök Yer Eğrileri. Doç.Dr. Haluk Görgün. Kontrol Sistemleri Tasarımı. Doç.Dr. Haluk Görgün

Bölüm 7 - Kök- Yer Eğrisi Teknikleri

MATLAB Temelleri. EEM104 - Bilgisayar Programlama. Matlab ın Açılış Ekranı. Dr. Mehmet Siraç Özerdem EEM Dicle Üniversitesi. Launch Pad.

Matlab da 2-boyutlu Grafik Çizimi. Arş. Gör. Mehmet Ali ÜSTÜNER

H09 Doğrusal kontrol sistemlerinin kararlılık analizi. Yrd. Doç. Dr. Aytaç Gören

İleri Diferansiyel Denklemler

MatLab. Mustafa Coşar

BİLGİSAYAR PROGRAMLAMA MATLAB

1- Temel MATLAB Fonksiyonları ve Programlama

Grafik Komutları. Grafik Türleri plot: çizgisel grafikler bar: sütun bar şeklindeki grafikler stem: sütun çizgisel grafikler pie: pasta grafikleri

MATLAB DE 2 BOYUTLU GRAFİK TÜRLERİ

DENEY 1 Laplace Dönüşümü

ELN3052 OTOMATİK KONTROL MATLAB ÖRNEKLERİ - 2 TRANSFER FONKSİYONU, BLOK ŞEMA VE SİSTEM BENZETİMİ UYGULAMALARI:

ULUDAĞ ÜNİVERSİTESİ ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELN3052 OTOMATİK KONTROL

MATLAB Temelleri. EE-346 Hafta 2 Dr. Ayşe DEMİRHAN

MATLAB PROGRAMLAMAYA GİRİŞ

M-Dosyaları. Editor: Kodların yazıldığı kısımdır. Uzantısı.m olan dosyalarla çalışır.

FADELER (EXPRESSIONS)

İÇİNDEKİLER. Bölüm 2 CEBİR 43

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayar Programlama MATLAB

MAK1010 MAKİNE MÜHENDİSLİĞİ BİLGİSAYAR UYGULAMALARI

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

Ders 5 : MATLAB ile Grafik Uygulamaları

Matlab - Giriş (İleri Yapı Statiği II. Kısım)

KONTROL SİSTEMLERİ-1 LABORATUVARI DENEY -1. Öğr. Gör. Güzin ÖZMEN Arş. Gör. Fehmi SEVİLMİŞ

8.Konu Vektör uzayları, Alt Uzaylar

MATLAB de GRAFİK İŞLEMLERİ

Bilgisayar Programlama MATLAB

İM 205-İnşaat Mühendisleri için MATLAB. Irfan Turk Fatih Üniversitesi,

Kontrol Sistemleri. Kontrolcüler. Yrd. Doç. Dr. Aytaç GÖREN

BM202 SAYISAL ÇÖZÜMLEME

ÖRNEK: Ax+B=0 şeklinde 1. derece denklemin çözümünü veren programa ait akış diyagramını çiziniz.

MICROSOFT OFFICE WORD 2010 ÖRNEK TEST SORULARI

FORMÜLLER VE FONKSİYONLAR

>> pretty(f) s exp(10) 1/ s + 1 1/100 (s + 1) + 1 s

MATLAB DA SAYISAL ANALİZ DOÇ. DR. ERSAN KABALCI

VEKTÖR UZAYLARI 1.GİRİŞ

8. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

Otomatik Kontrol. Blok Diyagramlar ve İşaret Akış Diyagramları. Prof.Dr.Galip Cansever. Ders #3. 26 February 2007 Otomatik Kontrol


NĐĞDE ÜNĐVERSĐTESĐ Elektrik Elektronik Mühendisliği Bölümü. Devre Tasarımı Ders Notları MATLAB. Arş. Gör. Salim ÇINAR. salim çınar

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

ESM 406 Elektrik Enerji Sistemlerinin Kontrolü 4. TRANSFER FONKSİYONU VE BLOK DİYAGRAM İNDİRGEME

Algoritmalar ve Programlama. DERS - 4 Yrd. Doç. Dr. Ahmet SERBES

MATLAB/SIMULINK E BAŞLANGIÇ

3. DİNAMİK. bağıntısı ile hesaplanır. Birimi m/s ile ifade edilir.

problem 111) s+1=0 koku nedir s=-1 s+5=0 koku nedir s=-5

GEO182 Lineer Cebir. Matrisler. Matrisler. Dersi Veren: Dr. İlke Deniz Derse Devam: %70. Vize Sayısı: 1

EXCEL 2007 ELEKTRONİK ÇİZELGE

C Programlama Dilininin Basit Yapıları

ÖZDEĞERLER- ÖZVEKTÖRLER

İleri Diferansiyel Denklemler

MATLAB ile ANALİZ (MIA)

28/04/2014 tarihli LYS-1 Matematik-Geometri Testi konu analizi SORU NO LYS 1 MATEMATİK TESTİ KAZANIM NO KAZANIMLAR 1 / 31

Ayrık Fourier Dönüşümü

Fen ve Mühendislik Uygulamaları ile MATLAB

MATLAB. Fen ve Mühendislik Uygulamaları ile. Doç. Dr. M. Akif CEVİZ. MATLAB de Dizi Kavramı

Özdeğer ve Özvektörler

ii) S 2LW 2WH 2LW 2WH S 2WH 2LW S 3( x 1) 5( x 2) 5 3x 3 5x x Maliye Bölümü EKON 103 Matematik I / Mart 2018 Proje 2 CEVAPLAR C.1) C.

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

>> 5*3-4+6/2^0 ans = 17 ( Matlab da sayılar arası işlemler [ +, -, /, *, ^ ] bu şekilde ifade edilmektedir.)

R ile Programlamaya Giriş ve Uygulamalar

ÇOKLU ALT SİSTEMLERİN SADELEŞTİRİLMESİ

STEM komutu ayrık zamanlı sinyalleri veya fonksiyonları çizmek amacı ile kullanılır. Bu komutun en basit kullanım şekli şöyledir: stem(x,y).

İŞLETMELERDE BECERİ EĞİTİMİ DERSİ MİCROSOFT WORD 2007 ÇALIŞMALARI

MATLAB MATLAB MAT LAB MAT LAB MATLAB

AÇILIŞ EKRANI. Açılış ekranı temelde üç pencereye ayrılır:

CONTROL LAB1 MATLAB GİRİŞ

MATLAB'A GİRİŞ. Contents

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Matlab. Vektör ve Matris İşlemleri

MATLAB DA 2 BOYUTLU GRAFİK İŞLEMLERİ

MATLAB/Değişkene Değer Atamak

Alçak Geçiren Flitre ve Faz Farkı Kavramı

Burada dikkat edilmesi gereken nokta, bilinmeyen veya değişkeninizi yazarken diğer bilinmeyenler ile arasına boşluk koymanız gerektiğidir.

SAYISAL ANALİZ. Doç.Dr. Cüneyt BAYILMIŞ. Sayısal Analiz. Doç.Dr. Cüneyt BAYILMIŞ

PERGEL YAYINLARI LYS 1 DENEME-6 KONU ANALİZİ SORU NO LYS 1 MATEMATİK TESTİ KAZANIM NO KAZANIMLAR

BİLGİSAYAR PROGRAMLAMA DERSİ

İleri Diferansiyel Denklemler

Excel de çalışma alanı satır ve sütunlardan oluşur. Satırları rakamlar, sütunları ise harfler temsil eder. Excel çalışma sayfası üzerinde toplam

SAB104 Bilgisayar Programlama

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

Transkript:

MAK300 OTOMATİK KONTROL MATLAB UYGULAMALARI Matematica, Maple, Macyma programları öncelikli olarak embolik cebir işlemleri yapan paket programlardır. Elbette ayıal heaplama da yaparlar. Bu paket programlardan herhangi birini iyi biliyoranız, bu yazılımı kullanarak MATLAB da yapılan herhangi bir heaplamayı da yapabiliriniz Amacı ve kapadığı alan dar olan Xmath gibi diğer paketler vardır, ancak bazı özel uygulamalar için çok popüler olabilmişlerdir. Neden MATLAB eğitimi? MATLAB ın kullanım kolaylığı en iyi özelliğidir Bilgiayar cebir itemleri dik öğrenme eğriine ahip olduğu halde, MATLAB yüzeyel öğrenme eğriine (az çaba ile çok öğrenme) ahiptir. MATLAB ayıal heaplamalarda C ve FORTRAN kadar hızlıdır. Diğer paketlere nazaran daha kıa programlama MATLAB NEDİR? MATLAB, temel olarak nümerik heaplama, grafikel veri göterimi ve programlamayı içeren teknik ve bilimel heaplamalar için yazılmış yükek performana ahip bir yazılımdır. Matlab programının tipik kullanım alanları: şeklinde özetlenebilir. Matematik ve heaplama işlemleri Algoritma geliştirme Modelleme, imülayon (benzetim) ve önprototipleme Veri analizi ve görel efektlerle detekli göterim Bilimel ve mühendilik grafikleri Uygulama Geliştirme MATLAB adı, MATrix LABoratory (Matrix Laboratuarı) kelimelerinden gelir. Grafikler D Grafik 3D Grafik Renk ve Çizgi Animayon MATLAB MATLAB Programlama Dili Kullanıcının Yazdığı Fonkiyonlar Hazır (gömülü) Fonkiyonlar E k t r a F o n k i y o n l a r Heaplamalar Liner Cebir Veri Analizi Sinyal İşleme Polinomlar & Enterpolayon Dört İşlem ODE in Çözümü Toolboxe Sinyal İşleme Görüntü işleme İtatitik Eğri Uydurma Kontrol Sitem Gürbüz Kontrol Sitem Tanılama m-analiz & Sentez Neural Ağlar Optimizayon İletişim Finanal Sembolik Matematik E k t r a F o n k i y o n l a r Dış Arayüz C ve Fortram Programları ile arayüz

MATLAB, ilk olarak Fortran Linpack ve Eipack projeleriyle geliştirilen ve bu programlara daha etkin ve kolay erişim ağlamak amacıyla 970 lerin onlarında yazılmıştır. İlk başlarda bilim adamlarına problemlerin çözümüne matri temelli teknikleri kullanarak yardımcı olmaktaydı. Bugün ie geliştirilen yerleşik kütüphanei ve uygulama ve programlama özellikleri ile gerek üniverite ortamlarında (başta matematik ve mühendilik olmak üzere tüm bilim dallarında) gereke anayi çevreinde yükek verimli araştırma, geliştirme ve analiz aracı olarak yaygın bir kullanım alanı bulmuştur. Ayrıca işaret işleme, kontrol, fuzzy, inir ağları, wavelet analiz gibi bir çok alanda ortaya koyduğu Toolbox adı verilen yardımcı alt programlarla da özelleştirilmiş ve kolaylaştırılmış imkanlar ağlamış ve ağlamaya da devam etmektedir. Web adrei: "http://www.mathwork.com" Email: info@mathwork.com Matlab, komut temelli bir programdır. Komut pencereinde (Command Window)» işareti Matlab in komut İtemcii ni (prompt unu) göterir ve bu işaret bulunduğu atır komut atırı olarak adlandırılır. Bu işaretin hemen yanında yanıp önen I şeklinde ki işaret komut ve metin yazma curor u yani imlecidir. Bu işaretin olduğu yerde klavyeden giriş yapılabilir demektir Çift Tıklama Kaydedilen Değişkenler Buradan Görülür Komut Geçmişi MATLAB Doyaların Yüklendiği veya Kaydedildiği Dizin Komutların Yazıldığı Alan Çift Tıklayarak A nın naıl Kaydedildiğini görülebilir U. Ü. Mühendilik-Mimarlık Fakültei Makine Mühendiliği Bölümü Görükle Kampüü/Bura

İFADELER (EXPRESSIONS) Matlab diğer programlama dillerinde olduğu gibi bir giriş (input) olarak çeşitli matematikel ve metinel ifadeler ağlar. İfadeleri 4 ana madde altında inceleyebiliriz: Sayılar (Number) Değişkenler (Variable) İşleçler (Operator) Fonkiyonlar (Function) Matlab de ifadeler genellikle değişken = ifade veya baitçe adece formundadır. Bir ifade = işareti ile bir değişkene atanmamış ie Matlab otomatik olarak onucu, an adı verilen özel bir değişkende aklar.» b=4*5 b = 0» log() 0.693 ifade Normalde ifadeler, tek bir atırda yer alırlar. Ancak bir kaç ifade aralarına virgül konarak yazılabilir ve işleme konabilir. Virgülden onraki boşluk ayıında bır ınırlama yoktur. Komut veya değişken bildirimli ifadelerde ; noktalı virgül işaretini de kullanılabiliriniz.» x = 3.0, y = (3*7)/5, z = 3^6 x = 3.000 y = 3.000 z = 79» x = 3.0; y = (3*7)/5; z = 3^6 z = 79 MATLAB TEMEL YAZIM NOTASYONU (SYNTAX) Matlab de her şey bir dizi (array) olarak işleme konur. Bir dizi, kaler, vektör, matri veya metinel dizge (karakter dizii) olabilir. x dizii kaler (caler) veya metin dizgei (tring) göterir. a=3 b=-0.56 c=3e-4 d=+5*i e= Bir tamayı giriniz: gibi. Metin dizgeleri (text tring), araında verilir. nx veya xn dizii bir vektör (vector) göterir. x=[0,, 4, 6] ifadeinde x, x4 boyutunda bir vektördür. [ ] köşeli parantezler içindeki ayıların araında virgül (,) veya en az bir veya daha fazla boşluk olmalıdır. nxm veya mxn dizii bir matri (matrix) göterir. [ ] köşeli parantezler içindeki ayı grupları araında noktalı virgül (;) olmalıdır. ; işareti matriin ütunlarını ayırır. Sayı gruplarında virgül (,) veya en az bir veya daha fazla boşluk olabilir. 3 x [,,3;4,5,6;7,8,9] x 4 5 6 7 8 9 MATLAB DE KULLANILAN ÖZEL DEĞERLER VE SABİTLER Değişken Adı Açıklama an Bir işlemin on cevabı (anwer) veya bir ifadenin değeri pi pi abiti: =3.4596535897... i veya j imajiner birim, - ep (epilon yani ) Kayan-nokta bağıl doğruluğu (relative preciion), e-5 realmin En küçük kayan-nokta (floating-point) ayıı, e-0 realmax En büyük kayan-nokta (floating-point) ayıı, (-)e04 yani e04 den çok az küçük inf Sonuz (infinity) yani realmax dan daha büyük bir ayı NaN Sayı değil (Not-a-Number)0 3

KOMUT SATIRINDA KLAVYE KISAYOLLARI ctrl- ctrl- home end ec del backpace Ctrl-P Ctrl-N Ctrl-B Ctrl-F Ctrl-R Ctrl-L Ctrl-A Ctrl-E Ctrl-U Ctrl-D Ctrl-H Ctrl-K Bir önceki atırı çağırır (Recall previou line) Bir onraki atırı çağırır (Recall next line) Imleç bir karakter ola hareket eder (Move back one character) Imleç bir karakter ağa hareket eder (Move forward one character) Bir kelime ağa hareket eder (Move right one word) Bir kelime ola hareket eder (Move left one word) Satrın baına gider (Move to beginning of line) Satrın onuna gider (Move to end of line) Geçerli atırı iptal eder yani tamamen iler (Clear line) Bir karakter ola doğru iler (Delete character at curor) Imlecten atırın başına kadar olan kımı iler (Delete character before curor) Imlecten atırın onuna kadar olan kımı iler (Delete to end of line) Format Komutu: Matlab, değerlerin ayıal formatını format komutu ile kontrol eder. Bu komut ayıların kaç hane yani kaç ondalıkla veya diğer bir deyişle kaç digit göterileceğini belirler. Matlab de tüm heaplamalar, double preciion da yapılır. Komut format format hort format long format hort e format long e format hort g format long g format bank format rat Açıklama Varayılan format (format hort ile aynıdır) 5 rakamlı abit nokta kala formatı 5 rakamlı abit nokta kala formatı 5 rakamlı kayan nokta formatı 5 rakamlı kayan nokta formatı 5 rakamlı en uygun abit veya kayan nokta formatı 5 rakamlı en uygun abit veya kayan nokta formatı Dolar ve ent için abit format (İki ondalıklı göterimler için kullanabiliriniz) En küçük tamayı oranı yaklaşımıyla ayıyı ondalıklı olarak göterir TRİGONOMETRİK FONKSİYONLAR Fonkiyon Adı inu coinü tanjant kotanjant ekant Fonkiyon formatı in(x) co(x) tan(x) cot(x) ec(x) Trigonometrik Ter Fonkiyon formatı ain(x) aco(x) atan(x) acot(x) aec(x) Fonkiyon formatı inh(x) coh(x) tanh(x) coth(x) ech(x) Hiperbolik Ter Fonkiyon formatı ainh(x) acoh(x) atanh(x) acoth(x) aech(x) koekant cc(x) acc(x) cch(x) acch(x) Matlab da trigonometrik fonkiyonlarda derece yerine radian kullanılır. Bu nokta çok önemlidir. Kıaca =360 o veya =80 o derecedir. Örneğin derece cininden in(30)=0.5 tir. Oya Matlab bu işlemin onucunu(» in(30) -0.99) şeklinde verir. Genel kullanım derece cininden olduğundan ya radian (pi değişkenini kullanarak) cininden belirtmeniz ya da /80 ile çarpanız gereklidir. Programlama bölümünde örneğin direkt girilen ayının derece olarak algılanıp değerini veren bir fonkiyonda yazılabilir. Örneğimize devam ederek;» in(pi/6) 0.50 Ancak bu yöntemde yani pi ye çevirmek (örneğin 6.47 açıı gibi) her zaman bu kadar kolay olmayacağından» in(30*pi/80) 0.50 komutu yani açıyı parentezler içinde kalmak şartıyla pi/80 ile çarpmak daha pratiktir. Ör: x=45 o için (in4x)-(cox) 3 ifadeinin değerini bulunuz.. yol:» x = pi/4;» in(4*x)-(*co(x))^3 -.83.yol:» x = 45;» in(4*x*pi/80)-(*co(x*pi/80))^3 -.83 4

LOGARITMIK VE ÜSTEL FONKSIYONLAR Matlab da matematikten bildiğimiz doğal logaritma göterimi ln olarak değil doğrudan log olarak göterilmektedir. Yine bildiğimiz gibi lnx=log e x demektir. Genel yazım formatı bir x değeri için lnx, Matlab da log(x) şeklindedir. log0» log0(0) Log5» log0(5) 0.6990 Ln» log() 0 ln0» log(0).306 Fonkiyon Adı 0 tabanında logaritma (log 0 x) tabanında logaritma (log x) doğal logaritma (lnx) ütel (e x ) karekök ( x ) üalma (x n, n herhangibir ayı) ln» log() 0.693 Fonkiyon formatı log0(x) log(x) log(x) exp(x) qrt(x) Matlab da e abit ayıı yani e=.788 veya kıaca e=.7 ayıı e olarak tanımlanmamıştır. Bunun yerine bir onraki konuda göreceğimiz exp() fonkiyonu kullanılabilir. Biliyoruz ki lne= dir ve bunu Matlab de ağlayalım: x^n» exp().783 Bilimel notayondan bildiğimiz gibi.0966e+003=.0966.03 demektir. Şimdi de aşağıdaki ütel yazılımlı ifadelerin değerleri bulalım : 3, (/) -4, 0 /5, 0 3/5, 5.6.0-5, LOGARITMIK VE ÜSTEL FONKSIYONLAR (Devam) 3- Bu konu başlığı altında çok kullanılan bir diğer fonkiyonumuz karekök alma işlemini gerçekleştiren qrt fonkiyonudur. Genel yazım formatı bir x değeri için qrt(x) şeklindedir. qrt fonkiyonunu kullanarak ıraıyla, 3, 44, (3+) işlemlerini yapalım. >> qrt(), qrt(3).44 4.7958 >> qrt(44), qrt(3+qrt()).00» 3^, (/)^(-4), 0^(/5), 0^(3/5), 5.6*0^(-5) KARMASIK (KOMPLEKS) SAYI İSLEMLERI Bilindiği gibi komplek ayıların tipik genel formatı a + bi, a+bj veya a + ib, a+jb şeklindedir. Matlab dilinde bu notayon a + bi, a + bj veya a+i*b, a+j*b şeklinde ifade edilir. Bu göterim şekli aynı zamanda kartezyen göterim olarak da adlandırılır. Sayılarda ı veya j kullanımı araında fark yoktur her ikii de aynı şeyi ifade ederler. Örnek olarak -3j karmaşık ayıını ele alalım.» -3j.0000-3.0000i» -i3??? Undefined function or variable 'i3' Temel komplek ayı işlemleri: real Komplek reel kıım (Complex real part) imag Komplek imajiner kıım (Complex imaginary part) Ab Mutlak değer (Abolute value) angle Faz açıı (Phae angle) conj Komplek eşlenik (Complex conjugate)» -i*3.0000-3.0000i x=3+4j ayıı için özetlerek Komut real(x) imag(x) ab(x) angle(x) conj(x) Sonuç 3 4 (3 +4 )=5 tan - (4/3)=0.973 3-j*4 KARMASIK (KOMPLEKS) SAYI İSLEMLERI! ab (abolute) komutu adece karmaşık ayı işlemlerinde değil diğer tüm mutlak değer alma x işlemlerinde kullanılabilir. Fonkiyon adı ab olup genel formatı bir x değeri için ab(x) şeklindedir. Ör:» ab(qrt(3)-) 0.73 ) x=(+4j)» x=*(+4*i) x =.0000 + 8.0000i ) k=(.+.5i) 3» k=(. +.5*i)^3 k = -0.770-4.850i 3) a=--j ve b=3+ olmak üzere ) -5a+b ) a/b» a=--j; b=3+qrt();» =-5*a+b = 8.44 +.0000i» =a/b = -0.453-0.65i» fix(-5.) -5 YUVARLATMA İŞLEMLERİ» floor(-5.) -6 fix : Sıfıra doğru yuvarlatma yapar» ceil(-5.) floor : - a doğru en yakın tamayıya yuvarlatma yapar -5 ceil : + a doğru en yakın tamayıya yuvarlatma yapar round : En yakın tamayıya yuvarlatma yapar» round(-5.) -5 5

TEMEL İSTATİKSEL İŞLEMLER max min length um prod median td mean geomean harmmean ort max(d) 6.5000 : Verilerin en büyük değerini bulur : Verilerin en küçük değerini bulur : Veri ayıını bulur : Verilerin toplamını heaplar : Verilerin çarpımını heaplar : Verilerin ortanca değeri heaplar : Verilerin tandart apmaını heaplar : Verilerin ortalama değerini heaplar yani aritmetik ortalama alır : Verilerin geometrik ortaını heaplar : Verilerin harmonik ortaını heaplar : Verilerin azalan ırada ıralar» d=[0.5 0.34.5.5.4 3.0 3.4 5 6.5 4.3 5.5] ;» min(d) 0.3400» length(d)» um(d) 35.6900 İtatikel işlemler matrilerde ütün ütun işlem yapar. A bir matri ie um(a) A matriinin ütularını ayrı ayrı toplar. DİZİLER Matlab in en temel işlem elemanı ve veri tipi dizilerdir (array). Dizi, en genel matematikel tanımı ile nümerik ve metinel değerler topluluğudur. Matlab da her şey bir dizi olarak işleme konur. Matlab da üç tip dizi ifadei bulunmaktadır: Reel ile komplek ayıları ifade eden çift kat veya nümerik diziler (double veya numeric array) Neneleri ve metinel dizgeleri ifade eden hücre diziler (cell array) Genelleştirme ve çeşitli tipleri ifade eden n-boyutlu diziler (n-dimenional array) VEKTÖR İŞLEMLERİ Vektörler, mx veya xn boyutlu dizilerdir. mx boyutlu diziye ütun vektörü denir ve eleman ayıı m tanedir; xn boyutlu diziye atır vektörü denir ve eleman ayıı n tanedir. Matlab da vektörleri oluşturmanın üç temel yolu vardır: Direkt olarak (köşeli parantez [ ] kullanma) Eşit aralıklı elemanlar kullanarak (: işaretini kullanarak veya linpace, logpace komutlarıyla) Utility fonkiyonlar kullanarak (rand, randn, one, zero komutlariyla) VEKTÖR İŞLEMLERİ (Devam) Temel Vektör İşlem Notayonları İşlem Toplama Çıkarma Çarpma Sağa Bölme Sola Bölme Ü alma Tranpoze Matlab formu a + b a b a.* b a./ b a.\ b a.^ b a Örnek Uygulama a=[ 3], b=[- 6] 0 4 9 0-3 - 4 8 -.0000.0000 0.5000-4 79 3 Açıklama Dizilerin karşılıklı elemanları toplanır. Dizilerin karşılıklı elemanları çıkartılır. Dizilerin karşılıklı elemanları çarpılır. a diziinin her bir elemanı, ıraıyla b diziinin her bir elemanına bölünür. b diziinin her bir elemanı, ıraıyla a diziinin her bir elemanına bölünür. a diziindeki her bir elemanın, ıraıyla b diziindeki elemanlarla üleri alınır.. Satır vektörünü ütun vektörüne çeviri veya terini yapar. * Matlab dilinde nokta işaretli işlemler (dot işlemleri) vektörde eleman eleman (elemanter) işlem yapacağını göterir. Çarpma:.* Bölme:. / veya. \ ve Üalma:.^ VEKTÖR İŞLEMLERİ (Devam) Eşit aralıklı elemanlar kullanarak vektör oluşturma Bu yöntem ile Matlab de vektör oluşturma üç şekilde olur: - Vektör elemanları birbirlerini, abit miktarda artan veya azalan bir değerle (tep ize) takip ederler. : işleci (colon operator) bu tür bir işlem için en temel bir yöntemdir. Genel özdizimi formatı: f = İlkDeger : DeğişimMiktarı : SonDeger şeklindedir. Değişim miktarı belirtilmeze IlkDeger den onra er er artım olacağını ifade eder. : işaretinden önce veya onra görüntü netliği için boşluk verebiliriniz. Örneğin,» n = :0 n = 3 4 5 6 7 8 9 0» p = 0.:0.5: p = 0.000 0.4500 0.7000 0.9500 n değişkeni,, 3, 4... ve 0 tamayılarını üretir diğer bir deyişle elemanları [ 3 4 5 6 7 8 9 0] olan bir n atır vektörü göterir. Görüldüğü gibi artım miktarı belirtilmeze Matlab bunu birim olarak kabul eder. p değişkeni 0. ile araında 0.5 artımla [0. 0.45 0.7 0.95] atır vektörünü üretir. 6

VEKTÖR İŞLEMLERİ (Devam) - linpace ve logpace komutlarını kullanmak. Bu durumda başlangıc ve bitiş noktaları araında kaç nokta olacağını iz belirtiriniz. linpace komutunun genel özdizimi formatı: linpace(x, x, n) şeklindedir. x, aralığın IlkDeger ile x, SonDeger değerleridir. n, IlkDeger ile SonDeger araındaki nokta ayııdır. Eğer n belirtilmeze iki nokta araı lineer olarak 00 eşit parçaya ayrılır. linpace, lineer aralıklı bir vektör üretir. linpace özellikle eğri çizimlerinde ve eğri uydurma ilerinde çok yararlıdır. logpace komutunun genel özdizimi formatı: logpace(x, x, n) şeklindedir. n, IlkDeger (x) ile SonDeger (x) araındaki nokta ayııdır. Eğer n belirtilmeze 0x ile 0x araı logaritmik olarak eşita aralıklı 50 atır vektörü üretir. logpace, logaritmik aralıklı bir vektör üretir ve alında logaritmik ölçekte linpace komutunun rolunu oynar. Bir vektörde logaritmik aralıklı elemanlar özellikle ütel fonkiyonlarla (log-log ve emilog grafikler gibi) ilgili ieniz çok yararlıdır. Sitem frekan cevabı, Bode diyagramları vb gibi logaritmik ölçek gerektiren grafik çizimlerinde kullanabiliriniz.» p = 0.:0.5: p = 0.000 0.4500 0.7000 0.9500 VEKTÖR İŞLEMLERİ (Devam) Utility fonkiyonlarla üretilen utility vektörler - rand fonkiyonunu kullanmak. Bazen adece bir özelliği veya bir şeyi denemek ve durumunu gözlemek için bir ayı vektörü oluşturmak iteyebiliriniz. İşte rand uniform olarak dağılmış ratgele ayılı vektörler üretir. rand fonkiyonu için genel özdizimi formatı: f = a + (b-a)*rand(m,n) şeklindedir. Burada f vektörü, a ile b ayıları araında uniform olarak dağılmış ratgele ayılardan oluşur. m ve n vektör boyutunu belirler, tabiki en az biri m= veya n= olmalıdır. m= ie n ütun ayıda atır vektörü, n= ie m atır ayıda ütun vektörü üretilir. Sadece rand komutunun kullanımı ile 0 ile araında ratgele ayılar üretiriniz. Örneğin a= ile b=5 araında yani ile 5 araında ragele 7 ayı üretmek itiyoranız» r = + 4*rand(,7) r =.0470 4.5756.7966.949 3.6458.376.8769 VEKTÖR İŞLEMLERİ (Devam) - one ve zero fonkiyonlarını kullanmak. Bu fonkiyonlardan one ile elemanları adece lerden oluşan, zero ile elemanları adece 0 lardan oluşan bir vektör üretilir. Genellikle one, aynı değerli bir vektör oluşturmak için; zero ie cript ve fonkiyon işletimini hızlandırmak için kullanılır. one fonkiyonu için genel özdizimi formatı: f = k*one(m,n) veya f = k*one[m,n] şeklindedir. Burada m ve n vektör boyutunu belirler, tabiki en az biri m= veya n= olmalıdır. m= ie n ütun ayıda atır vektörü, n= ie m atır ayıda ütun vektörü üretilir. k= için elemanları adece olan vektör, kve 0 için elemanları k olan bir vektör elde edilir. zero fonkiyonu için genel özdizimi formatı: f = zero(m,n) veya f = zero[m,n] şeklindedir. Burada m ve n vektör boyutunu belirler, tabiki en az biri m= veya n= olmalıdır. m= ie n ütun ayıda ıfırlardan oluşan atır vektörü, n= ie m atır ayıda ıfırlardan oluşan ütun vektörü üretilir.» dortler = 4*one(,4) dortler = 4.00 4.00 4.00 4.00» V_ıfır = zero(,4) V_ifir = 0 0 0 0 VEKTÖR İŞLEMLERİ (Devam) Vektör Bilgilerini Elde Etmek (bir f vektörü için) ize(f): komutu vektörün xn veya nx olarak kaç n boyutunda olduğunu verir. Size komutunun ilk değeri atır ayıını on değeri utun ayıını verir. length(f): komutu vektörün uzunluğunu diğer bir deyişle boyunu yani vektörün kaç elemanı olduğunu göterir. Bu komut yerine max(ize(a)) komutu da kullanılabilir. f(n): komutu vektörün n. elemanını (n=,,3,...) göterir. f(5), f vektörünün 5. elemanını göterir. f(:5): komutu vektörün ilk beş elemanını göterir. Bir vektörün ilk elemanı örneğimizdeki f vektörü için f() ile ve on terimi f(length(f)) ile bulunur. >> f=[ 3 5 0-8] f = 3 5 0-8 >> ize(f) 6 >> length(f) 6 >> f(3) >> f(,4) 5 7

MATRİSLER Matlab de matrileri oluşturmanın üç temel yolu vardır:. Direkt olarak (köşeli parantez [ ] kullanma). Utility fonkiyonlar kullanarak (eye, one, zero, rand, randn komutlarıyla) 3. Özel matriler (pacal, hilbert vb fonkiyonlarla). Direkt olarak (köşeli parantez [ ] kullanma) >> n = [ 3 4;5 6 7 8;9 0 ] n = 3 4 5 6 7 8 9 0 MATRİSLER (Devam). Utility fonkiyonlar kullanarak (rand, one, zero, eye komutlarıyla) matri oluşturma a) rand fonkiyonunu kullanmak. Bazen adece bir özelliği veya bir şeyi denemek ve durumunu gözlemek için ratgele ayılardan oluşmu bir matri oluşturabiliriniz. İşte rand uniform olarak dağılmış ratgele ayılı matriler üretir. rand fonkiyonu için genel özdizimi formatı: F = a + (b-a)*rand(m,n) şeklindedir. Burada F matrii, a ile b ayıları araında uniform olarak dağılmış ratgele ayılardan oluşur ve mxn, matri boyutunu belirler. Sadece rand(k) komutunun kullanımı ile kxk boyutunda 0 ile araında ratgele ayılı matri üretiriniz. Diğer bir ifade ile rand(k) ile rand(k,k) aynı işleve ahiptir. Örneğin a=-5 ile b=5 araında yani -5 ile +5 araında ragele ayılı x4 (iki atır 4 ütunlu) bir matri üretmek itiyoranız >> a = -5 + 0*rand(,4) a = 4.503.0684 3.930-0.4353 -.6886-0.40.60-4.850 MATRİSLER (Devam). Utility fonkiyonlar kullanarak (rand, one, zero, eye komutlarıyla) matri oluşturma b) one ve zero fonkiyonlarını kullanmak. Bu fonkiyonlardan one ile elemanları adece lerden oluşan, zero ile elemanları adece 0 lardan oluşan matriler üretilir. one fonkiyonu için genel özdizimi formatı: F = k*one(m,n) veya F = k*one([m,n]) şeklindedir. Burada mxn matri boyutunu belirler. F matrii, k= için elemanları adece olan vektör, k ve k0 için elemanları k olan mxn boyutunda bir matri göterir. one(t), tüm elemanları olan boyutu txt olan kare matri üretir. >> e=one(3) e = >> e=one(,3) e = 3x3 boyutunda her bir elemanı olan kare matri üretir. x3 boyutunda her bir elemanı olan bir matri üretir.. MATRİSLER (Devam). Utility fonkiyonlar kullanarak (rand, one, zero, eye komutlarıyla) matri oluşturma zero fonkiyonu için genel özdizimi formatı: F = zero(m,n) veya F = zero([m,n]) şeklindedir. Burada mxn matri boyutunu belirler ve F, elemanları adece 0 olan mxn boyutunda bir matri göterir. one(t), tüm elemanları olan boyutu txt olan kare matri üretir. zero(t), tüm elemanları 0 olan boyutu txt olan kare matri üretir. Genellikle one, aynı değerli bir matri oluşturmak ve bazı işlemlerde yardımcı bir araç olarak ; zero ie cript ve fonkiyon işletimini hızlandırmak, mühendilik işlemlerinde parce matri oluşturmak ve yine bazı işlemlerde yardımcı araç olarak kullanılır.. >> g=zero(3) g = 0 0 0 0 0 0 0 0 0 >> g=zero(,3) g = 0 0 0 0 0 0 3x3 boyutunda her bir elemanı 0 olan kare matri üretir. x3 boyutunda her bir elemanı 0 olan bir matri üretir.. 8

MATRİSLER (Devam). Utility fonkiyonlar kullanarak (rand, one, zero, eye komutlarıyla) matri oluşturma c) eye fonkiyonunu kullanmak. Bu fonkiyon ile birim matri oluşturulur. Bilindiği gibi birim matri, birinci köşegeni olan diğer tüm elemanları 0 olan bir matritir. Genelde büyük I harfi ile temil edilir. eye fonkiyonu için genel özdizimi formatı: F = eye(m,n) veya F = eye([m,n]) şeklindedir. Burada mxn matri boyutunu belirler. eye(t), boyutu txt olan kare matri üretir. Birim matri genelde kare matri olarak kullanılır. MATRİSLER (Devam) 3. Özel matriler (pacal, magic, hilbert, piral, mehgrid vb fonkiyonlarla) oluşturma a) pacal(k) fonkiyonu: Pacal üçgeni elemanlarından oluşur. b) magic(k) fonkiyonu: kxk boyutunda den k ye kadar ayılardan oluşan k= hariç eşit atır, ütun ve diagonal toplamına ahip bir kare matri oluşturur. c) hilb(k) fonkiyonu kxk boyutunda her bir elemanı /(i+j-) ile belirlenen hilbert matrii olarak adlandırılan bir kare matri oluşturur. Matriin genel elemanı hilb(ij) olup i atır,j ütun numaraını göterir. >> I=eye(3) I = 0 0 0 0 0 0 >> I=eye(,3) I = 0 0 0 0 >> pacal(4) 3 4 3 6 0 4 0 0 >> magic(3) 8 6 3 5 7 4 9 >> hilb(3).0000 0.5000 0.3333 0.5000 0.3333 0.500 0.3333 0.500 0.000 MATRİS BİLGİ ALMA FONKSİYONLARI Matlab da yerleşik bazı matriler ilgili fonkiyonlar ile matriler hakkında bilgi alabiliriz. Bu bilgiler araında matriin determinat ı, rank ı, matriin boyutu, matriin veri özellikleri, diagonel elemanları vb. ayılabilir. A 3 matrii üzerinde bazı işlemler yapalım. >> A=[ 4 7; 5 8;3 6 ] A = 4 7 5 8 3 6 4 5 6 7 8 MATRİS BİLGİ ALMA FONKSİYONLARI Matriin tranpozei : Bir A matriinin tranpozei A' ile bulunur. ' tranpoze operatörü ile matriin atır ve ütunları yer değiştirir. (A')'=A dır yani tranpozenin tranpozei matriin kendiidir. Ayrıca tranpoe(a) komutu ilede bulunur. >> TranpozeA=A' TranpozeA = 3 4 5 6 7 8 Matriin determinantı: Bir A matriinin determinantı det(a) fonkiyonu ile bulunur. Matri, kare matri olmalıdır.. >> DeterminantA=det(A) DeterminantA = 4 9

MATRİS BİLGİ ALMA FONKSİYONLARI (Devam) Matriin teri: Bir A matriinin teri inv(a) fonkiyonu ile bulunur. Matri, tekil (ingular) ve kare (quare) matri olmalıdır. Konu dışı olmakla beraber kareel olmayan matrilerin terini alabilmek için pinv komutu kullanılır. >> A=[ 4 7; 5 8;3 6 ] A = 4 7 5 8 3 6 >> TerA=inv(A) TerA = -.797.5833-0.50 0.967-0.8333 0.500-0.50 0.500-0.50 MATRİS BİLGİ ALMA FONKSİYONLARI (Devam) Matriin teri: Bir A matriinin teri inv(a) fonkiyonu ile bulunur. Matri, tekil (ingular) ve kare (quare) matri olmalıdır. Konu dışı olmakla beraber kareel olmayan matrilerin terini alabilmek için pinv komutu kullanılır. >> A=[ 4 7; 5 8;3 6 ] A = 4 7 5 8 3 6 >> TerA=inv(A) TerA = -.797.5833-0.50 0.967-0.8333 0.500-0.50 0.500-0.50 >> B = [ 0 3; 4 0 6; 0 5]; >> inv(b) Warning: Matrix i ingular to working preciion. (Type "warning off MATLAB:ingularMatrix" to uppre thi warning.) Inf Inf Inf Inf Inf Inf Inf Inf Inf >> det(b) 0 MATRİS BİLGİ ALMA FONKSİYONLARI (Devam) Matriin rankı: Bir A matriinin rankı rank(a) fonkiyonu ile bulunur. >> A=[ 4 7;- 5-8;3 6 ]; >> ranka=rank(a) ranka = 3 Matriin boyutu: Bir A matriinin boyutu yani kaça kaç olduğu ize(a) fonkiyonu ile bulunur. Verilen cevapta yan yana iki ayıdan birincii atır ayıını, ikincii ütun ayıını göterir.» A = [ 4 7; - 5-8; 3 6 ];» boyuta=ize(a) boyuta = 3 3 MATRİS BİLGİ ALMA FONKSİYONLARI (Devam) Matriin diagonel elemanları: Matriin özdeğerleri ve özvektörleri: Bir A matriinin ana diagonel Matriin öz değerleri ve özvektörleri eig(a) elemanları diag(a) fonkiyonu ile fonkiyonu ile bulunur. bulunur. >> A=[ 4 7;- 5-8;3 6 ] A = 4 7-5 -8 3 6 >> ana_diag=diag(a) ana_diag = 5 >> A=[ 4 7;- 5-8;3 6 ]; >> OzDegerler=eig(A) OzDegerler = -.9650 4.985 + 7.9i 4.985-7.9i >> [v,d]=eig(a) v = -0.8965-0.744-0.550i -0.744 + 0.550i 0.80 0.68 0.68 0.4044 0.045-0.476i 0.045 + 0.476i d = -.9650 0 0 0 4.985 + 7.9i 0 0 0 4.985-7.9i 0

MATRİS İNDEKSLEME VE KOLON (:) NOTASYONU Bir A matriini düşünürek A(k) göterimi k=,... olmak üzere k. elemanını verir. Eleman ıraı ilk ütun elemanlarından başlar ikinci ütun elemanları vb şeklinde devam eder. A(i,j) göterimi i. atır j. ütun elemanını verir. A(i:j) göterimi eleman ıraı ilk ütun elemanlarından başlayarak i. eleman ile j. eleman araındaki elemanları verir yani [A(i) A(i+)... A(j)] şeklinde bir vektör oluşturur. A(:,j) göterimi A matriinin j. ütununu verir. A(:,i:j) göterimi [A(:,i);A(:,i+);...;A(:,j)] şeklinde i. ütundan j. ütuna kadar ütunlardan oluşan bir alt matri verir. A(i,:) göterimi A matriinin i. atırını verir. A(i:j,:) göterimi [A(i,:);A(i+,:);...;A(j,:)] şeklinde i. atırdan j. atıra kadar atırlardan oluşan bir alt matri verir. MATRİS İNDEKSLEME VE KOLON (:) NOTASYONU Örnek olarak yandaki 5x5 boyutlu yani 5 elemanlı A matrii üzerinde duralım:» A(3)» A(,:) -4-7» A(8) 9» A(3:5,:) 0 3 9 5-7 3 5 7 5-0 - 8» A(,4)» A(:,4) A = - 9 5 - -» A(:7) 4-4 5» A(:,:3) 4 3-4 - 0 3-7 3 5-0 A = 4 3 - -4-7 0 3 9 5-7 3 5 7 5-0 - 8 İKİ BOYUTLU GRAFİKLER Matlab da en bait grafik çizdirme komutu, plot komutudur. Plot komutu, iki boyutlu doğru (çizgi) grafiği çizdirir. Örneğin X ile Y, iki aynı boyutlu vektör ve X deki ayılar x-ekeni (abi) üzerinde Y deki ayılar y-ekeni (ordinat) üzerinde olun. Plot komutu X in her noktaı için karşılık gelen Y değerlerini çizdirir. Diğer bir deyişle, ( X(),Y()), (X(),Y()), (X(3),Y(3) ) vb noktalar çizdirilecek ve daha onra da tüm bu noktalar birleştirilecektir. Plot komutunun naıl bir işlem yaptığını bir örnek üzerinde görelim. Önce iki bait vektör oluşturalım: İKİ BOYUTLU GRAFİKLER (Devam) >> x_nok=[ 3 4 5]; >> y_nok=[5 0 0 5 5]; >> plot(x_nok,y_nok,'o-') >> xlabel('x degerleri') >> ylabel('y degerleri') >> title('iki Boyutlu Grafik') >> grid >> x_nok=[ 3 4 5]; >> y_nok=[5 0 0 5 5]; >> plot(x_nok,y_nok,'o-') >> xlabel('x degerleri') >> ylabel('y degerleri') >> title('iki Boyutlu Grafik') >> grid xlabel ( text ) ylabel ( text ) title ( text ) grid Grafiğin x-ekenini adlandırır. Genelde text, data adı ve/veya birimi olur. Grafiğin y-ekenini adlandırır. Genelde text, data adı ve/veya birimi olur. Grafiği adlandırır yani grafiğe başlık verir. Klavuz çizgilerini görüntüler

ÇİZGİ ve İŞARETLEME SEÇENEKLERİ Çizimin görünümünü değiştirmek itereniz Matlab da bir çok çeşitli eçenekler vardır. Çizimin rengini, işaretleyici embolu ve çizgi tipini kendiniz belirleyebiliriniz. Bu işlemin genel komutu plot(x,y, ) şeklindedir. Burada x ve y veri vektörlerinden onra gelen üçüncü argüman olan keme işaretleri araında yer alan, Aşağıda verilen tablolardaki ütundan (renk, işaretleyici embolü, çizgi tipi) herhangi biri ya da hepinin bir kombinayonu olabilir. Bu üçüncü argümanın kullanımı adece iteğe bağlıdır. Ancak tek grafikte verilerin dağılımı daha iyi anlamak ve belirli bir periyotta olayın oluşumu kontrol etmek itediğinizde işaretleyiciler iyi bir eçenek olabilir. Ayrıca birden fazla grafiği aynı düzlemde götermek itediğinizde de bazı kombinayonlarını kullanmak zorunlu olabilir. ÇİZGİ ve İŞARETLEME SEÇENEKLERİ (Devam) Color (Renk) Blue (Mavi) Green (Yeil) Red (Kirmizi) Cyan (Turkuaz) Magenta (Mor) Yellow (ari) Black (Siyah) White (Beyaz) Indicator b g r c m y k w Line tyle (Cizgi tipi) Solid (Duz cizgi) Dahed (Keikli cizgi) Dotted (Noktali cizgi) Dah-dot (Keikliniktalicizgi) plot(x,y, r-b-i ) plot( x,y, c:^ ) Indicator - -- : -. Marker ymbol (Iaretleyici embolu) Point (Nokta) Plu (Arti) Star (Yildiz) Circle (Daire) x-mark (x iareti) Square (Kare) Diamond (Elma) triangle (down) (Aagi bakan ucgen) triangle (up) (Yukari bakan ucgen) triangle (left) (Sola bakan ucgen) triangle (right) (aga bakan ucgen) Pentagram (Begen) Hexagram (Altigen) Indicator. + * o x d v ^ < > p h GRAFİĞE YENİ GRAFİK EKLEMEK Bazı zamanlar varolan çizilmiş bir grafiğin üzerine başka bir grafik eklemek iteyebiliriniz. Üt üte birden fazla plot komutunu kullanmak bir öncekini iptal ettiğinden bunu önlemek için hold komutu kullanılır. Hold komutunun genel kullanım formatı aşağıdaki gibidir. plot(...) hold on plot(...) hold on plot(...) hold off % İlk grafiği üretir % Grafiği dondurur % Yeni bir grafik ekler % Grafiği dondurur % Yeni bir grafik ekler % Dondurulan grafiği (grafikleri) erbet bırakır Grafik başlıkları, eken adlandırmaları ve götergeler için hold on komutunu kullanmaya gerek yoktur. Hold on komutu bir önceki grafiği dondurur ve aynı düzlemde diğer grafiklerin çizilmeine izin verir ve plot komutu ile çizilecek olan ikinci grafik bir önceki geçerli ekenleri kullanır. Ancak eğer çizilecek ikinci grafiğin eken calaı daha geniş ie ona göre otomatik olarak ayarlama yapar. GRAFİĞE GÖSTERGE EKLEME (LEGEND KOMUTU) İŞLEMLERİ Göterge eklemek için kullanılan komut legend komutudur. Genel format dizimi: legend(tring,tring,tring3,..., Po) şeklindedir. legend(tring, tring, tring3,... ) komut dizimi göterge kutuunu, varayılan olarak grafiğin ağ üt köşeine yerleştirir. Genel komut dizimindeki Po (Poition demektir) ifadei, göterge kutuunu belirlenmiş bir konuma yerleştirir. Po ifadeinin alacağı değerler şunlardır: t = 0:pi/00:*pi; y = in(t); y = in(t-0.5); y3 = in(t+0.5); plot(t,y,t,y,t,y3) xlabel('t'); title('ötelenmi Sinü Fonkiyonlari'); legend('in(t)','in(t-0.5)','in(t+0.5)',0) 0 = Otomatik en iyi yer = Sağ üt köşe (varayılan değer) = Sol üt köşe 3 = Sol alt köşe 4 = Sol ağ köşe - = Grafiğin ağına yerleştirir Bunların dışında göterge kutuunun üzerinde iken fare işaretciinin ol tuşuna baarak ki bu durumda dört yönlü bir ok çıkar- elle itediğiniz yere taşıyabilir. Ayrıca göterge kutuunu çift tıklayarak etiket düzenlemei de yapabiliriniz. legend off: komutu ie göterge kutuunu yerleştirilen yerden kaldırır.

GRAFİĞE GÖSTERGE EKLEME (LEGEND KOMUTU) İŞLEMLERİ (Devam) t = 0:pi/00:*pi; y = in(t); y = in(t-0.5); y3 = in(t+0.5); plot(t,y,t,y,t,y3) xlabel('t'); title('ötelenmi Sinü Fonkiyonlari'); legend('in(t)','in(t-0.5)','in(t+0.5)',0) MATLAB da polinomlar, derece ıraına göre polinom katayılarını eleman kabul eden bir vektör ile temil edilir. Örneğin, polinomumuz; p( ) 3 3 Polinomun köklerini root(p) komutu ile elde edebilir ve kontrol amaçlı olarak da kökleri belli olan polinomu yeniden kurmak için poly(p) komutu kullanılır. 4 Polinomların çarpımı conv fonkiyonu ile yapılır. Aşağıda verilen n() polinomunu ele alalım. n( ) ( 5 )( ) Polinom değişkeninin verilen herhangi bir değeri için polinomun aldığı değeri polyval komutu kullanarak bulabiliriz n(-5)=-43. 3

3 C( ) 5 3 6 3 R( ) 6 6 >> [num,den]=reidue(r,p,k) >> num=[ 5 3 6];den=[ 6 6]; >> [r,p,k]=reidue(num,den) r = -6.0000-4.0000 3.0000 p = -3.0000 -.0000 -.0000 k = C ( ) R( ) 3 3 6 5 3 6 4 3 3 num =.0000 5.0000 3.0000 6.0000 den =.0000 6.0000.0000 6.0000 3 C( ) 5 3 6 3 R( ) 6 6 MATLAB (Control Sytem Toolbox), tranfer fonkiyonu biçimindeki modelleri tf fonkiyonu ve durum uzayı modellerini de fonkiyonu yardımıyla kurar. 4

Tranfer fonkiyonunun kutuplarını ve ıfırlarını item tranfer fonkiyonu tanımlandıktan onra pole ve zero fonkiyonları ile heaplayabiliriz. Karmaşık ayı düzleminde ıfır ve kutupların yerini de pzmap fonkiyonunu kullanarak çizdirebiliriz U. Ü. Mühendilik-Mimarlık Fakültei Makine Mühendiliği Bölümü Görükle Kampüü/Bura >> numg=[6 0 ];deng=[ 3 3 ]; yg=tf(numg,deng) 6 ^ + --------------------- ^3 + 3 ^ + 3 + >> z=zero(yg) >> n=[ ];n=[ ];d=[ *i];d=[ -*i];d3=[ 3]; >> numh=conv(n,n);denh=conv(d,conv(d,d3)); >> yh=tf(numh,denh) ^ + 3 + ---------------------- ^3 + 3 ^ + 4 + Sıfırlar z = 0 + 0.408i 0-0.408i >> p=pole(yg) G() in kutup ve ıfırlarının heaplanmaı >> y=yg/yh 6 ^5 + 8 ^4 + 5 ^3 + 75 ^ + 4 + ------------------------------------------- ^5 + 6 ^4 + 4 ^3 + 6 ^ + 9 + Kutuplar p = >> pzmap(y) -.0000 -.0000 + 0.0000i -.0000-0.0000i 5

Doğrual Sitemlerin MATLAB Göterimleri Sitem Tranfer Fonkiyonu iki polinomun oranı olarak temil edilir. 4 G( ) 3.3 7 4 Örnek olarak aşağıda verilen Tranfer fonkiyonuna ahip itemin birim baamak cevabını bulalım. C( ) R( ) 5 4 5 MATLAB da polinomlar, derece ıraına göre polinom katayılarını eleman kabul eden bir vektör ile temil edildiğinden; >> pay=[ 4]; >> payda=[.3 7 4]; >> y=tf(pay,payda) + 4 ----------------------- ^3 +.3 ^ + 7 + 4 >> pay=5; >> payda=[ 4 5]; >> y=tf(pay,payda) 5 -------------- ^ + 4 + 5 >> tep(y) >> grid >> title('g()=5/(^+4+5)in Birim baamak cevabı') Şeklinde tanımlanır.. C( ) R( ) 5 4 5.4. G()=5/( +4+5)in Birim baamak cevabý >> pay=[6.33 8.8]; >> payda=[ 6.33 8.8]; >> y=tf(pay,payda).8.6 Birim Baamak Cevabi Amplitude 0.8 0.6 6.3 ^ + 8 +.8 -------------------------------------- ^4 + 6 ^3 +.3 ^ + 8 +.8 Cevap, c.4. 0.8 0.6 0.4 0. 0 0 0.5.5.5 3 Time (ec) >> [c,t]=tep(pay,payda); >> plot(t,c,'o') >> grid >> title('birim Baamak Cevabı') >> xlabel('zaman, t []') >> ylabel('cevap, c') 0.4 0. 0 0 5 0 5 Zaman, t [] 6

.8 Birim Baamak Cevabi.6 >> pay=conv(6.33,[ *.435.435^]); >> payda=[ 0]; >> y=tf(pay,payda) 6.3 ^ + 8 +.8 ------------------------ >> pay=; >> payda=conv([ 0],conv([ ],[ 5])); >> y=tf(pay,payda) ----------------- ^3 + 6 ^ + 5 >> Gi=erie(y,y) 6.3 ^ + 8 +.8 ------------------------ ^4 + 6 ^3 + 5 ^ >> kdtf=feedback(gi,) 6.3 ^ + 8 +.8 -------------------------------------- ^4 + 6 ^3 +.3 ^ + 8 +.8 >> hold on >> tep(kdtf) Cevap, c.4. 0.8 0.6 0.4 0. 0 0 5 0 5 Zaman, t [] (ec) Standart ikinci derece, titreşim tipi tranfer fonkiyonunu ele alalım. C( ) R( ) n n >> zeta=0.; >> y=tf([],[ *zeta ]); >> tep(y) >> hold on >> zeta=0.3; >> y=tf([],[ *zeta ]); >> tep(y) >> zeta=0.5; >> y=tf([],[ *zeta ]); >> tep(y) >> zeta=0.7 >> text(3,.8,'\zeta=0.') >> text(3,.4,'\zeta=0.3') >> text(3,.,'\zeta=0.5') >> text(3,.0,'\zeta=0.7') >> text(3,0.8,'\zeta=') >> title('g()=/(^+*\zeta*+)in Birim baamak cevabi') n Amplitude.8.6.4. 0.8 0.6 0.4 0. G()=/( +**+)in Birim baamak cevabi =0. =0.3 =0.5 =0.7 = 0 0 3 4 5 6 7 8 9 0 Time (ec) 7

Örnek bir uygulama olarak; Otomatik kontrol kitabının ayfa 44 Şekil 7.6 daki problemi alınmıştır. Örnek, denetlenen item Tranfer fonkiyonu; MAK300 OTOMATİK KONTROL ÖDEV Polinom biçimi; Kutup-Kazanç Biçimi; G ( ) 3 6 8 G ( ) 4.Adım G ( ) 3 6 8 Sitem tranfer fonkiyonunun ıfırları, kutupları ve kazanç katayıı cininden g=zpk([ ],[0 - -4],) veya polinom biçiminde g=tf(,[ 6 8 0]) G ( ) 4 >> g=zpk([ ],[0 - -4],) Zero/pole/gain: ------------- (+) (+4) >> g=tf(,[ 6 8 0]) ----------------- ^3 + 6 ^ + 8. Adım PID denetleyiciin tranfer fonkiyonunun tanımı; Önce abitler Kp=; Ki=0 (veya Ti için onuza yakın bir değer) ve Td=0; yazılarak denetim organı parametreleri adece orantı etki ile çalışacak biçimde tanımlanmış olur. Denetleyici tranfer fonkiyonu aşağıdaki ifade ile verilir. G ( ) K >> Kp=;Ki=0;Td=0; >> gd=kp*tf([td Ki],[0 0]) d - p Ki ( T ) K d p Td Ki gd=kp*tf([td Ki],[0 0]) 8

Açık döngü veya ileri yol tranfer fonkiyonunun oluşturulmaı; god=gd*g Sitemin Kapalı döngü tranfer fonkiyonunun oluşturulmaı; gkd=feedback(god,) Sitemin kapalı döngü baamak cevabının bulunmaı ve grafiğin oluşturulmaı; >> god=gd*g ------------------- ^4 + 6 ^3 + 8 ^ >> gkd=feedback(god,) ----------------------- ^4 + 6 ^3 + 8 ^ + tep(gkd) adımda Kp, Kpmax değeri bulunana kadar değiştirilerek devam edilir ve en on ürekli titreşim eğrii ve bunun üzerinden ürekli titreşim periyodu bulunur. Bu eğrinin ve bulunmaı ödevde verilecektir. Burada pu periyodun bulunmaında ginput Matlab fonkiyonundan yararlanabilir. Örneğin [t y]=ginput(); [t y]=ginput(); Komutları Ile t ve t şeklinde eğrinin tepe noktalarına karşılık zaman bulunduktan onra pu=t-t Olarak heaplanabilir. 9

3.Adım PID parametre değerlerinin adımda tepit edilen Kpmax ve pu değerlerine göre heaplanmaı ve itemin ayrı yapılmış PID denetleyici ile kapalı döngü cevabının elde edilmei ve yorum kp=.6*kpmax;/ki=ti=.5*pu;td=.5*pu; gd=kp*tf([td Ki],[0 0]) god=gd*g; gkdd=feedback(god,) tep(gkdd) cevap eğrii çıktı olarak alınacak ve eğri üzerinden tepe noktaları aşma oranları ve xi ve wn değerleri heaplatılacaktır. Bunun için yine ginput fonkiyonundan yararlanılabilir. [t y]=ginput() [t y]=ginput() cevap eğrii çıktı olarak alınacak ve eğri üzerinden tepe noktaları oranları (g/g), önüm oranı ve doğal frekan değerleri heaplatılacaktır. Bunun için yine ginput fonkiyonundan yararlanılabilir. [t y]=ginput() [t y]=ginput() Simulink ile Çözüm Simulink i ÇALIŞTIRMAK ve MODEL KURMAK Simulink i çaliştirmadan önce MATLAB In çalıştirılmaı gerekir. MATLAB ortamında Simulink iki yoldan başlatılabilir. MATLAB araç çubuğu üzerindeki Simulink imgei üzerine fare ol tuşu ile tıklatarak, MATLAB iletiinde imulink komutunu yazarak. 0

Simulink Modelinin Kurulmaı Yandaki şekilde verilen kütüphane tarayıcıı açıldıktan onra bunun üzerinden model oluşturmak üzere yeni bir pencere (model düzenleme ayfaı) açılır. Bunu için; Kütüphane tarayıcıı (Simulink Libary Brower) imge çubuğu üzerindeki boş ayfa imgei tıklanır, Tarayıcı çubuğundaki File üzerine tıklatılarak bu menü üzerinde yer alan New tıklatılarak untitled (etiketiz) başlığı altında yeni bir ayfa açılır. Bu pencere model düzenleme (Model Editor) veya model oluşturma pencerei olarak bilinir. Sayfa üzerine tarayıcıdaki Simulink ana dizini altındaki alt dizinlerden model kurulmaına ea olan blok şemada yer alan gerekli elemanlar ürükle-bırak yöntemi ile boş ayfaya taşınır. Model kurulmaına konu Otomatik kontrol kitabının ayfa 48, Şekil 7.8 deki belli başlı blok elemanları; tranfer fonkiyonu için Continuou blok kütüphanei açılır. Buradan bir adet Tranfer Fcn bloğu boş ayfaya taşınır. Bu Tranfer Fcn bloğu hem denetlenen itemin tranfer fonkiyonunu oluşturmak hem de PID denetleyiciinde yer alan integral etki (/Ti) oluşturmak için kullanılabilir. Math blok kütüphaneinden bir Sum (toplama) bloğu, ve yine aynı kütüphaneden abitler için (Kp, Td gibi) için bir Gain (kazanç) bloğu alınır. Source blok kütüphaneinden giriş değerlerini oluşturmak için bir adet Step (baamak giriş)bloğu alınır. Ayrıca zaman değişimini kaydetmek için bir adet de Clock bloğu alınır. Sink (yutak, çıkış elemanı) blok kütüphaneinden, denklem çözüm onuçlarını değerlendirmek için bir adet Scope bloğu ve onuçları MATLAB ortamına aktarmak için To Workpace (çalışma ortamına aktar) bloğu alınabilir. Burada To Workpace tercih edilmiştir. Model kurmada aynı elemandan birden fazla gerekiyora o elemandan bir tane taşıyıp diğerlerini kopyala-yapıştır (copy pate) işlemi ile çoğaltmak mümkündür. Bu işlemler onunda model düzenleme ayfaýndaki elemanlar aşağıdaki Şekildeki gibi örünecektir.

Daha onra elemanlar araı fare çizgii ile birleştirilerek aşağıdaki şekil oluşturulmuş olur. Şekilden de görüldügü gibi bu şekildeki model hemen hemen itemin blok şemaı ile aynıdır.