BÖLÜM 1 : MATLAB KULLANIMI ve MATR S LEMLER



Benzer belgeler
B02.8 Bölüm Değerlendirmeleri ve Özet

OPERATÖRLER BÖLÜM Giriş Aritmetik Operatörler

304 Bilgisayar Destekli Kontrol Sistemleri (4 0 0) 4

6. ÇİZİM İŞLEMLERİ Boyutlu Eğri Çizimi x ve y vektörleri ayni boyutta ise bu vektörleri ekrana çizdirmek için plot(x,y) komutu kullanılır.

BÖLÜM 7 BİLGİSAYAR UYGULAMALARI - 1

Digifresh Kullanım Kılavuzu

Yandaki resimlerde Excel Pazartesi den başlayarak günleri otomatik olarak doldurmuştur.

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI YÜZEY DOLDURMA TEKNİKLERİ

Temel Bilgisayar Programlama

Genel bilgiler Windows gezgini Kes Kopyala Yapıştır komutları. 4 Bilinen Dosya Uzantıları

DİKKAT! SORU KİTAPÇIĞINIZIN TÜRÜNÜ "A" OLARAK CEVAP KÂĞIDINA İŞARETLEMEYİ UNUTMAYINIZ. SAYISAL BÖLÜM SAYISAL-2 TESTİ

int printf (const char *format [, argument,...]);

PROGRAMLAMA TEMELLER. C Program Yap s

13 Kasım İlgili Modül/ler : Satın Alma ve Teklif Yönetimi. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

KOCAELİ İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ EVRAK TAKİP SİSTEMİ

ÖĞRENME FAALĠYETĠ GELĠġMĠġ ÖZELLĠKLER

DENEY 1: Matlab de Temel Uygulamalar

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

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

Bilgisayar Uygulamaları PSİ105

1. Mesaj Tipi ve Mesaj Fonksiyonu Bazında Bildirim Mail Adresi Tanımlama Đşlemleri

Braille Star 40 Başvuru Kitapçığı Sürüm 4.0 Lütfen bu başvuru kitapçığıyla birlikte paketinizde bulunan kullanıcı kılavuzunu da gözden geçirin.

SÜREÇ YÖNETİMİ VE SÜREÇ İYİLEŞTİRME H.Ömer Gülseren > ogulseren@gmail.com

K12NET Eğitim Yönetim Sistemi

Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı. ALES / Đlkbahar / Sayısal II / 22 Nisan Matematik Soruları ve Çözümleri

MAKÜ YAZ OKULU YARDIM DOKÜMANI 1. Yaz Okulu Ön Hazırlık İşlemleri (Yaz Dönemi Oidb tarafından aktifleştirildikten sonra) Son aktif ders kodlarının

BİT ini Kullanarak Bilgiye Ulaşma ve Biçimlendirme (web tarayıcıları, eklentiler, arama motorları, ansiklopediler, çevrimiçi kütüphaneler ve sanal

ÖĞRENME FAALĠYETĠ 6 ÖĞRENME FAALĠYETĠ NESNE ĠġLEMLERĠ

Fizik I (Fizik ve Ölçme) - Ders sorumlusu: Yrd.Doç.Dr.Hilmi Ku çu


Bölüm 3. Sentaks ve semantik tarifi ISBN

TG 12 ÖABT İLKÖĞRETİM MATEMATİK

Şekil 1. Sistem Açılış Sayfası

Bilgisayar Programlama MATLAB

YATIRIM FONU ALIM SATIM İŞLEMLERİ KULLANICI KILAVUZU

MATLAB ile Meslek Matematiği Kullanım Kılavuzu

1. RESİM DÜZENLEME. Bir resmin piksel yoğunluğu yani PPI (Pixel Per Inches) 1 inç karede (1 inç = 2.54 cm) bulunan piksel sayısıdır.


in Kullanımı tamamlamış gerçekleştirmiş

EĞİTİM VE ÖĞRETİM YILI TED KDZ EREĞLİ KOLEJİ ORTAOKULU MATEMATİK 8.SINIF ÜNİTELENDİRİLMİŞ YILLIK PLANDIR.

ANALOG LABORATUARI İÇİN BAZI GEREKLİ BİLGİLER

AĞ ÜZERİNDEN YAZICI ve TARAYICI TANIMLAMA KLAVUZU

İTÜ GELİŞTİRME VAKFI ÖZEL Dr. NATUK BİRKAN İLKOKULU VE ORTAOKULU. OkulNET Kullanım Kılavuzu

DÖNER SERMAYE MALİ YÖNETİM SİSTEMİ

Evrak Ekle. Kurum İçi Giden Evrak Ekleme. Kırmızı renker; doldurulması zorunlu alanları ifade etmektedir. İleri Geri tarihli işlem yapılamamaktadır.

DENEY 2: PROTOBOARD TANITIMI VE DEVRE KURMA

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

ELITE A.G. KS100/HEFM SICAK-SOĞUK ETĐKET BOY KESME VE ĐŞARETLEME MAKĐNASI KULLANIM KILAVUZU

Bölgeler kullanarak yer çekimini kaldırabilir, sisli ortamlar yaratabilirsiniz.

BULUġ BĠLDĠRĠM FORMU/ GIDA

Örgün Öğrenci Sistemi Anadolu Üniversitesinde öğretim elemanlarının verdikleri

BM202 SAYISAL ÇÖZÜMLEME

İşletim Sisteminin Katmanları

: MATLAB Kullanimi ve Matris Islemleri. : Kontrol Sistemlerinde Zaman-Frekans Analizi. EK (Tablo) :MATLAB Komutlari ve Matris Fonksiyonlari Tablosu

1. YAPISAL KIRILMA TESTLERİ

AIMCO AIMCO. Kullanım Kılavuzu. Mayıs 2016

Fizik ve Ölçme. Fizik deneysel gözlemler ve nicel ölçümlere dayanır

Urkund Hızlı Başlangıç Kılavuzu

BQTEK SMS Asistan. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

BÖL-1B. Fatih University- Faculty of Engineering- Electric and Electronic Dept.

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

BİR SAYININ ÖZÜ VE DÖRT İŞLEM

Olasılık ve İstatistik Dersinin Öğretiminde Deney ve Simülasyon

KolayOfis Başlangıç Rehberi Kısa Mesaj Yönetimi

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MEKATRONİK LABORATUVARI 1. BASINÇ, AKIŞ ve SEVİYE KONTROL DENEYLERİ

MATLAB. Buradaki >> sembolleri MATLAB in komut satırını ifade etmektedir.

2.3. MATRİSLER Matris Tanımlama

C Operatörler. Öğr. Gör. M. Ozan AKI. Rev 1.0

BÖLÜM 3 FREKANS DAĞILIMLARI VE FREKANS TABLOLARININ HAZIRLANMASI

VEGAWINA VERSION

4 ab sayısı 26 ile tam bölünebildiğine göre, kalanı 0 dır.

B05.11 Faaliyet Alanı

1 Aralık E-Beyanname Modülünde Yapılan İşlemler

DOĞALGAZ SEKTÖRÜ LEAP MODELLEMESİ

ve Menüleri Özelleştirmek, Sistem Ayarlarını Değiştirmek

OKUL BAZLI BÜTÇELEME KILAVUZU

5. ÜNİTE KUMANDA DEVRE ŞEMALARI ÇİZİMİ

Ç.Ü. GÜZEL SANATLAR FAKÜLTESİ İÇ MİMARLIK BÖLÜMÜ GÜZ YARIYILI İÇM PROJE 5 & DİPLOMA PROJESİ


BİLGİSAYAR PROGRAMLAMA DERSİ

Xerox ConnectKey Teknolojisine sahip Çok Fonksiyonlu Yazıcılarla (MFP'ler) Kullanım İçin

SİRKÜLER İstanbul, Sayı: 2016/01. Konu: E-DEFTER GÖRÜNTÜLEYİCİ PROGRAMI İLE SÖZ KONUSU PROGRAMA İLİŞKİN KULLANIM KILAVUZU YAYINLANMIŞTIR

Q-BIZ VIEWER KULLANIM KILAVUZU

2014 LYS MATEMATİK. P(x) x 2 x 3 polinomunda. 2b a ifade- x lü terimin. olduğuna göre, katsayısı kaçtır? değeri kaçtır? ifadesinin değeri kaçtır? 4.

Tasarım Raporu. Grup İsmi. Yasemin ÇALIK, Fatih KAÇAK. Kısa Özet

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

1.Temel Kavramlar 2. ÆÍlemler

FOTOGRAMETRİK DEĞERLENDİRME - ÇİFT FOT. DEĞ. Analog ve Analitik Stereodeğerlendirme. Yrd. Doç. Dr. Aycan M. MARANGOZ

Uzem Eğitmen Girişi. Şekil 1. Sisteme girdikten sonra Şekil 2 deki ekran karşımıza çıkacak. Bu ekrandaki adımları kısaca tanıyalım.

Resmi Gazete Tarihi: Resmi Gazete Sayısı: 28349

BULUŞ BİLDİRİM FORMU / APARAT

BİLGİSAYAR PROGRAMLAMA DERSİ

EEM 202 DENEY 5 SERİ RL DEVRESİ

Veri Toplama Yöntemleri. Prof.Dr.Besti Üstün

Araştırma Notu 15/177

DERLEYİCİ TASARIMI ÖDEV-2 RAPORU

SAYI BASAMAKLARI. çözüm

YÜKSEKÖĞRETİM KURUMLARI ENGELLİLER DANIŞMA VE KOORDİNASYON YÖNETMELİĞİ (1) BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

En İyi Uygulamalar ve Kullanım Kılavuzu

ACENTE PORTAL QUICKRES/TROYA ACENTE BAŞVURU KILAVUZU

Transkript:

BÖLÜM 1 : MATLAB KULLANIMI ve MATR S LEMLER Matlab program ( MATrix LABoratory 'nin ilk üç harfleri al narak isimlendirilmi tir.) mühendislik uygulamalar n n, hesaplamalar n n ve simülasyonlar n n ço unun gerçekle tirildi i matris ve matematik tabanl kompleks bir programd r. Her türlü grafiksel sonuçlar istenilen tarzda al nabildi i için kullan m alan çok geni tir. Ayr ca MATLAB versiyonlar ndan en az 6.0 ve üzeri olanlar n n kullan lmas güncellik aç s ndan daha yararl olacakt r. Bu bölümde program kullanmaya ba lamak için giri komutlar, matematiksel fonksiyonlar ve matris operatörleri anlat lacakt r. Ayr ca k lavuzun en son k sm nda da en çok kullan lan matris komutlar ve fonksiyonlar tablo halinde verilmi tir. help fonksiyon ismi komutu yaz ld nda yard m istenilen fonksiyon hakk nda detayl bilgiye ula labilmektedir. help help yaz ld nda ise on-line olarak yard m k lavuzunun nas l kullan laca hakk nda bilgilere ula labilmektedir. -- Matris Operatörleri : A a da verilen simgeler matris i lemlerinde kullan lmaktad r: + Toplama - Ç karma * Çarpma ^ Kuvvet alma Konjüge transpozunu alma -- Mant k ve li ki Operatörleri : < Küçük & Ve <= Küçük e it Veya > Büyük ~ De il ~= E it de il 2

-- Ba lang ç olarak komut sat r na : date yaz l rsa program taraf ndan geçerli olan tarih al nacakt r.yani : ans= 30-Oct-2002 -- MATLAB bir i lemin sonucunu ans=... eklinde gösterir. ( answer = cevap) -- MATLAB program ndan ç kmak için ise exit veya quit yazmak yeterli olacakt r. -- En son yaz lan komutlar n hepsine üst ve alt yön tu lar na dokunarak kolay bir ekilde ula labilir. -- En son tan mlanan herhangi bir x de eri için yap lan i lemlerden sonra bu x de eri komut sat r na yaz l p enter tu una bas l rsa daha önce neye kar l k olarak tan mland ekrana yaz lacakt r. -- nx1 veya 1xn boyutunda vektör tan mlamak için : x=[1 2 3-4 -5] veya X=[1,2,3,-4,-5] yaz lmal d r. Yukar daki iki yaz m biçiminden okuma kolayl olmas için kullan lacakt r. ilk yaz lan tip -- Tan mlanan bu sat r vektörünü sütun vektörüne dönü türmek için : y=x yaz l rsa ekranda görülen de er a a daki gibi olacakt r: y= 1 2 3-4 -5 3

-- Matris tan mlamak için a a daki A matrisi verilmi olsun : 1.2 10 15 A = 3 5.5 2 4 6.8 7 Bu matrisi MATLAB e tan tmak için u ekilde yaz lmal d r : A = [1.2 10 15 ; 3 5.5 2 ; 4 6.8 7] Yani her sat r n sonunun neresi oldu unu konulan noktal virgül i areti temsil etmektedir. -- Örnek olarak a a daki B matrisini tan tmak için : B = 1 e -0.02 2 3 B = [1 exp(-0.02); sqrt(2) 3] eklinde yaz lmal d r. Ekranda ise u ekilde gözükecektir: B = 1.0000 0.9802 1.4142 3.0000 -- Apostrofi i areti ( ) matrisin konjüge transpozesinin al nmas na yarar. E er matris reel bir matris ise basit olarak transpoze al m i lemi olarak da tan mlanabilir.. Yeni bir A matrisi tan mlayal m : A = [1 2 3 ; 4 5 6 ; 7 8 9] Ekranda görülecek matris u ekilde olacakt r : A = 1 2 3 4 5 6 7 8 9 4

Bu matrisin transpozesini almak için : C = A yaz l rsa ekranda görülecek transpoze de eri : C = 1 4 7 2 5 8 3 6 9 -- Kompleks say lar n girilmesi için ise i 2 =-1 denkleminin kökü i veya j olarak tan mlan r. Örnek olarak 1+j 3 de erini tan tmak için : X = 1+sqrt(3)*i X = 1+sqrt(3)*j veya olarak yaz lmal d r. Bu kompleks say üstel formatta da yaz labilmektedir : 1+j 3 = 2 exp[( /3)*j] Bu durumda komut sat r na a a daki ifade yaz lacalt r : x = 2 exp[pi/3)*j] i ve j daha önceden de i ken olarak kullan lm sa tan mlama için ii ve jj kullan lacakt r.yani : ii = sqrt(-1) jj = sqrt(-1) Dolay s yla a a daki yaz m da mümkün olmaktad r : X = 1+sqrt(3)*ii X = 1+sqrt(3)*jj 5

-- Kompleks matris tan mlamak için a a daki X matrisi verilmi olsun: X = 1 j -j5 2 Komut sat r na ise u ekilde girilecektir : X = [1 j ; -j5 2] Bu durumda ekranda görülecek de er : X = 1.0000+0 0+1.0000i 0-5.0000i 2.0000+0 Y = X komutu yaz l rsa : Y = 1.0000+0 0+5.0000i 0-1.0000i 2.0000+0 iletisi ekranda okunacakt r. Daha önce de belirtildi i gibi yukar daki i lem konjüge transpoze olarak alg lanmaktad r. E er sadece transpoze al nacaksa (konjügesiz) komut u ekilde yaz lmal d r : Y. veya conj(y ) Bu durumda ekranda gözükecek de erler : 1.0000+0 0-1.0000i 0+5.0000i 2.0000+0 -- Toplama ve ç karma i lemlerinin yap lmas için a a daki M ve N matrisleri verilmi olsun : 2 3 1 0 M = 4 5 N = 2 3 6 7 0 4 6

Bu de erleri ekrana girmek için: M = [2 3 ; 4 5 ; 6 7] M = 2 3 4 5 6 7 N = [1 0 ; 2 3 ; 0 4] M = 1 0 2 3 0 4 Toplama i lemi için: C = M+N C = 3 3 6 8 6 11 E er x vektörü u a a daki gibi verilirse : 5 X = 4 6 Bu vektörü u ekilde tan tmak gerekir : X = [5 ; 4 ; 6] Örne in T = X-1 gibi i lemi gerçekle tirmek için : T = X-1 T = 4 3 5 7

-- Matris çarp m daha önce de belirtildi i gibi * çarpma operatörüyle yap lmaktad r. A a daki örnek incelenirse çarpman n da tan m gere i çarp lan matrislerin boyutlar n n uyu mas gerekmektedir. Aksi takdirde çarpma i lemi yap lmayacak ve hata mesaj verilecektir. x = [1 ; 2 ; 3]; y = [4 ; 5 ; 6]; A = [1 1 2 ; 3 4 0 ; 1 2 5] x *y 32 x*y 4 5 6 8 10 12 12 15 18 b = A*x b = 9 11 20 Bunlar n d nda matris bir skaler de erle de çarp labilir : 5*A 5 5 10 15 20 0 5 10 25 -- Matris üssü ( expm(a) ) nxn matrise uygulan r.matematiksel tan m ise u ekildedir: expm(a) = I + A + A 2 /2! + A 3 /3! +... E er A kompleks bir matris ise abs(a) de eri de kompleks modül de erler üzerinden hesaplanacakt r.yine matematiksel ifadesine bakacak olursak : abs(a) = sqrt(real(a).^2 + imag(a).^2) 8

angle(a) ise faz aç lar n radyan cinsinden A kompleks matrisi için hesaplamaktad r. Burada tan m de erleri ve + aras nda kabul edilmektedir. Sonuç olarak verilen bir K matrisi için a a daki uygulama incelenebilir : A = [2+2*i 1+3*i ; 4+5*i 6-i]; abs(a) 2.8284 3.1623 6.4031 6.0828 angle(a) 0.7854 1.2490 0.8961-0.1651 -- Kompleks bir say n n modülü ve faz aç s n bulmak için : z = x + iy = re i r = abs(z) theta = angle(z) z = r*exp(i*theta) -- Bir vektörün elemanlar n n teker teker karesinin al nmas i lemi u ekilde yap lmaktad r : x = [1 2 3]; x.^2 ans= 1 4 9 E er kompleks say lar mevcut ise : y = [2+5*i 3+4*i 1-i] y.^2-21.0000+20.0000i -7.0000+24.0000i 0-2.0000i 9

2x2 bir kare matris olursa yine ayn ekilde : A = [1 2 ; 3 4]; A.^2 1 4 9 16 -- Eleman elemana çarpma i lemi için çarpma operatörünün önüne bir nokta i areti (.) konmaktad r : Bir örnek daha verilirse : x = [1 2 3], y = [4 5 6] z = [x.y] z = [4 10 18] 1 2 3 4 5 6 A = B = 1 9 8 7 6 5 C = A.*B C = 4 10 18 7 54 40 -- Bir matrisin tüm elemanlar n n tek tek karesini almak için : A=[ 1 2 3 4 ] A.^2 1 4 9 16 -- Eleman elemana bölme için ise : u = x./y 10

u = 0.2500 0.4000 0.4000 0.1429 1.5000 1.6000 -- Bir matrisin tersini bulmak için inv(a) komutu kullan l r : A = [0 1 0;0 0 1;-6-11 -6]; inv(a) -1.8333-1.0000-0.1667 1.0000 0 0 0 1.0000 0 -- Çe itli komutlar ve durumlar tek bir s rada virgül (,) veya noktal virgül ile (;) ayr larak yaz labilir. -- Ç k format n istedi imiz uzunlukta elde edebiliriz. E er matris elemanlar tamsay ise bu durum sonuçta bir de i iklik yapmayacakt r. Bunun için a a daki komutlar kullanmak gerekmektedir : format short format long x = [1/3 0.00002]; x x = 0.3333 0.0000 format short; x x = 0.3333 0.0000 format long; x x = 0.3333333333333333 0.00002000000000000 11

-- 1 den 5 e kadar say lar 0.5 lik aral klarla yazd rmak istersek iki nokta y (:) kullanmak yeterli olacakt r : t = 1 2 3 4 5 t = 1:0.5:3 t = 1.0000 1.50000 2.0000 2.50000 3.0000 Düzgün azalan biçimde yazd r rsak : t = 5:-1:2 t = 5 4 3 2 -- Bir matrisin i. sat r n veya j. sütununu görüntülemek için a a da tan mlanan A matrisini komutlar yla inceleyelim : A a daki A matrisinin 2. sat r görüntülemek için : A(i, :) A = [0 1 0;0 0 1;-6-11 -6] A(2, :) 0 0 1 A matrisinin 3. sütununu görüntülemek için : A(:, 3) 0 1-6 -- Bir matrisin (i,j) ninci eleman n bulmak için : k = A(3,3) k = -6 12

-- Bir matrisin boyutlar n ö renmek için size(a) komutu, rank n bulmak için rank(a) kullan l r. A= 2 3 2 5 4 1 2 6 8 size(a) 3 3 rank(a) 3 -- Bir matrisin determinant n bulmak için det(a) komutu kullan l r. A= 2 3 2 5 4 1 2 6 8 det(a) -18 -- Bir matrisin normunu bulmak için ise norm(x) yazmak gerekmektedir. Matematiksel norm ifadesini verecek olursak : norm(x) = sum(abs(x).^2)^0.5 x = [2 3 6] norm(x) 7 13

-- Bir matrisin özde erlerini bulmak için eig(a) komutu kullan l r : A = [0 1 ; -1 0] eig(a) 0+1.0000i 0-1.0000i -- Öz vektörleri bulmak da tek sat rl k bir i lem gerektirmektedir. Asl nda özvektörleri bulmak için verilen [X,D] = eig(a) komutu ayn zamanda öz de erleri de buldu u için her iki bilgiye ayn anda ula ma imkan olmaktad r : A = [0 1 0 ; 0 0 1 ; -6-11 -6] [X,D] = eig(a) X = D = -0.5774 0.2182-0.1048 0.5774-0.4364 0.3145-0.5774 0.8729-0.9435-1.0000 0 0 0-2.0000 0 0 0-3.0000 Burada X sonuç matrisinin her bir sütunu verilen A matrisinin bir öz de erini göstermektedir. D sonuç matrisinin diyagonalindeki (kö egenindeki) elemanlar n her biri de verilen A matrisinin özde erlerini göstermektedir. Verilen e boyutlu farkl iki A ve B gibi matrisin genelle tirilmi öz de erlerini ve öz vektörlerini bulmak için ise [X,D] = eig(a,b) komutu yaz lmal d r. -- Karakteristik denklemi bulmak için poly(a) komutu kullan l r. A = [0 1 0 ; 0 0 1 ; -6-11 -6] p = poly(a) p = 1.0000 6.0000 11.0000 6.0000 14

Burada görülen sonuç katsay lar karakteristik denklemin katsay lar d r. Yani : s 3 + 6s 2 + 11s + 6 = 0 -- Bir polinomun köklerini bulmak için roots(a) komutu yaz lmal d r. Yukar daki karakteristik denklemin köklerini bulmak istersek : r = roots(p) r = -3.0000-2.0000-1.0000 -- Polinomlar n çarp m için conv(a,b) komutu kullan l r. a(s) = s 2 20.6 b(s) = s 2 + 19.6s + 151.2 a(s) ve b(s) polinomlar n çarpmak için : a = [1 0-0.26]; b = [1 1.96 151.2] c = conv(a,b) c = 1.0e+003 0.0010 0.0196 0.1306-0.4038-3.1147 Dolay s yla çarp m sonucu u ekilde yaz labilir : c(s) = s 4 + 19.6s 3 + 130.6s 2 403.8s 3114.7 -- Bir polinomda herhangi bir tamsay de erini hesaplatmak için polyval(c) komutu kullan l r : p(s) = 3s 2 + 2s + 1 p = [3 2 1]; polyval(p,5) 86 -- 1 ve 0 say lar n n istenilen matrisel boyutta çabuk olarak üretilebilmesi için ones(m,n) ve zeros(m,n) komutlar kullan labilir : 15

ones(2,2) 1 1 1 1 zeros(3,3) 0 0 0 0 0 0 0 0 0 -- Birim matris de eye(n) komutuyla istenilen boyutta olu turulabilir : eye(5) 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 -- Bir matrisin kö egenindeki elemanlar listelemek için diag(a) komutu kullan l r : A = [1 2 3 ; 4 5 6 ; 7 8 9] ; diag(a) 1 5 9 Kö egenin elemanlar haricindeki matris bile enleri 0 olarak göstermek istersek : diag(diag(a)) 1 0 0 0 5 0 0 0 9 16

Kö egen matrisi olu turmayla alakal a a daki di er örnekler de incelenebilir : diag(1:5) 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 5 diag(0:4) 0 0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 4 [diag(1:5) diag(0:4)] 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 -- Bir matrisi rastgele olarak olu turmak için rand(n) komutu kullan l r.0 ile 1 aras ndaki say lar al r. rand(4) 0.3654 0.6739 0.3603 0.0493 0.1400 0.9994 0.5485 0.5711 0.5668 0.9616 0.2618 0.7009 0.8230 0.0589 0.5973 0.9623 17

ALI TIRMALAR 1- Sin(x) i ilk 10 terim kullanarak bulan bir Matlab program yaz n z. X aç de erinin derece olarak kullan c dan al p sin(x) i bulunuz? Sin(x) = x x 3 /3! + x 5 /5! x 7 /7! + x 9 /9!... 2- Yerden V 0 h z yla ve aç s yla f rlat lan bir bir topun t = 0,1,2,...10 saniye boyunca hareket bilgilerini veren. ema T, Vx, Vy bilgilerini her saniyede görüntüleyebilmelidir. Not1: Gerekli formüller a a da s ralanm t r.(g =10 m/s 2, Yer çekimi ivmesi) V x = V 0 cos( ) ; V y = V 0 sin( ) gt ; V = (V x 2 + V y 2 ) 1/2 Not2: Topun tüm harketi boyunca yerden yeterince yüksekte oldu unu varsay n z. 18

BÖLÜM 2 : GRAF K ve E R Ç Z MLER -- x ve y vektörleri ayn boyutta ise bu vektörleri ekrana çizdirmek için plot(x,y) komutu kullan l r. A =[ 7 2 5]; B =[ 5 4 8 ]; plot(a,b); grid Bu durumda grafik ekrana a a da gösterildi i gibi otomatik olarak çizilecektir : Ayr ca plot(x,y, x ) komutu çizilen e riyi x karakterini kullanarak çizmektedir. -- A a da grafik çizimiyle ilgili baz özellikler s ralanm t r : x=3:0.5:10 Seçilen bir parametreye göre (burada x parametresi seçilmi ) çizdirilmesi planlanan e rinin s n rlar yukar daki gibi yaz l r. 3 ve 10 de erleri çizdirilmek istenen aral, ortadaki 0.5 de eri art miktar n göstermektedir. grid Grafik arka yüzünün ölçekli olarak gösterilmesini sa lar. title(... ) Çizilen grafi e ba l k yazmak için kullan l r. xlabel(... ) Çizilen grafi in x-eksenine istenilen aç klamay yazmak için kullan l r. 19

ylabel(... ) Çizilen grafi in y-eksenine istenilen aç klamay yazmak için kullan l r. text( X,Y, text ) Grafik ekran üzerine istenilen koordinatlar dahilinde herhangi aç klama yazmak için kullan l r.. + * o x r g b w i stenildi i takdirde çizilen e rinin düz çizgi olarak de il de farkl karakterlerle çizdirilebilir. Bunlar için ise yukar da gösterilen nokta, art, y ld z, yuvarlak ve x karakterleri kullan l r. Bu karakterleri plot() komutu içerisinde + eklinde yazmak yeterli olacakt r. Çizilen e rinin rengi de yukar da gösterilen k saltmalarla de i tirilebilir. Burada r k rm z renk (red), g ye il renk (green), b mavi renk (blue), w beyaz renk (white) ve i ise (invisible) olarak k salt m t r. Not : Bu özellikler ve daha farkl görüntü özellikleri grafik ekran üzerindeki Insert ve Tools menüleri arac l yla komut sat r n kullanmadan da yap labilmektedir. -- A a daki örnekte ise y = x 2 e risini 0 ve 3 aral nda çizdirelim : x = 0:0.1:3; y = x.^2; plot(x,y, r ); title( y=x 2 egrisi ); xlabel( x ); grid; ylabel( y ) bir 20

-- Birden fazla e riyi tek bir grafik ekran üzerinde görmek için çizdirilmesi istenen e riler ayn plot(...) komutu içinde yaz lmal d r. -- Birden fazla e riyi üst üste çizme uygulamas olarak a a daki örnekte sin(x) ve cos(x) e rileri tek bir grafik ekran üzerinde çizdirilmi tir : t = 0:0.05:10; x = sin(t); y = cos(t); plot(t,x, x,t,y, o ); grid; title( Sin ve Cos E rileri ); xlabel( Saniye ); ylabel( x=sint ; y=cost ); text(3,0.45, sint ); text(0.8,-0.3, cost ) 21

-- A a daki örnekte ise 3 farkl e ri çizdirilmi tir : t=0:0.5:10; x=t^2+5*t-3; y=t.^2+3; z=t; plot(x,t,'r',y,t,'g',z,t,'b'); grid; title( 3 Farkl Grafigin Cizimi ); xlabel( Giris Degerleri ); ylabel( Cikis Degerleri ); text(x,t, x ); text(y,t,'y'); text(z,t,'z') 22

-- Kompleks vektörlerin çiziminde plot(z) ifadesi kullan l r. Çizim i leminde ise reel ve imajiner k s mlar ayr ayr ikili noktalar olarak kabul edilir : C=[2+6i 5-3i 4i 6-i ] plot(c) grid Not : loglog(x) komutu hem x eksenini hem de y eksenini logaritmik ölçeklendirmeyi kullanarak X in grafi ini çizdirir 23

-- Bir A vektörünü bar grafiklerini kullanarak çizdirmek için bar(a) komutu kullan l r. Basamak fonksiyonu eklinde çizilecek ise stairs(a) komutu kullan l r. Her iki çizime ait örnek grafikler a a da ayr ayr verilmi tir : A = [ 2 5-5 6 1 ] bar(a); grid; xlabel( bar ); stairs(a); xlabel( stairs ) 24

-- Ayr ca grafik ekran ndaki menülerden yararlanarak çe itli görüntü de i iklikleri yap labilir. Örnek olarak Tools menüsünde Rotate-3D seçene i kullan larak mouse yard m yla iki üstteki bar grafi inin görüntüsü a a daki gibi elde edilebilir. -- Grafik çiziminde grafik çizgi tipleri, i aretler ve renkler a a daki tabloda s ralanm t r : Sembol Renk(RGB) Çizgi stili Sembol Nokta stili Y sar (110). nokta - Çizgi M magenta(101) O yuvarlak : Noktal C cyan(011) X çarp i areti -. çizgili ve noktal R k rm z (100) + art i areti - - kesik çizgili G ye il(010) * y ld z B mavi(001) S karekök W beyaz(111) D baklava 25

-- 3-D Line (3 Boyutlu düz çizgi) çizimi için plot3(...) komutu kullan l r.a a da heliks çizimi program verilmi tir : t=0.01:0.01:20*pi; x=cos(t); y=sin(t); z=t.^3; plot3(x,y,z); xlabel('helix'); grid 26

-- 3 boyutlu a ve yüzey çizimlerinde kullan lan komutlardan biri mesh(...) komutudur. Bu komut verilen giri i z bile eni olarak alg lar ve dikdörtgen x-y düzlemi üzerinde z ekseni boyunca çizim yapar. surf(...) komutu ise ayn i i yüzey olarak yapar.a a daki komut sat rlar n n çizim görüntüleri yine alt taraf nda verilmi tir. mesh(eye(10)); grid surf(eye(10)); grid 27

-- z=exp(-x2-y2) fonksiyon yüzeyini [-2,2]x[-2,2] tan m aral nda 3 boyutlu olarak çizdirelim : x=-2:0.2:2; y=x; [x,y]=meshgrid(x,y); z=exp(-x.^2-y.^2); mesh(z) -- Ayr ca view komutu yard m yla da küresel ve kartezyen koordinatlar ekranda görüntülenebilir. view 0.7934-0.6088 0-0.0923 0.3044 0.3967 0.8660-0.7835 0.5272 0.6871-0.5000 8.3031 0 0 0 1.0000 28

-- Örnek olarak z=x 2 +y 2 +xy yüzeyini -2<x<2 ve -2<y<2 aral nda çizdirelim : [X,Y]=meshgrid(-2:0.5:2,-2:0.5:2); Z=X.^2+Y.^2+X.*Y; mesh(x,y,z) -- Yukar daki örnekte çizim fonksiyonu olarak mesh(x,y,z) yerine surf(x,y,z) çizim fonksiyonu kullan l rsa grafik yüzeyi ayn fakat her bir karesi farkl renklere boyanm ekilde çizilecektir: surf(x,y,z) 29

-- Herhangi bir yüzey grafi inde tepe ve alt tepe (minimum ve maximum) de erlerini göstererek yap lan çizimlerde peaks(...) komutu kullan l r : [X,Y]=meshgrid(-3:0.125:3); peaks(x,y) 30

ALI TIRMALAR 1- x = t 3-2t+9, y = 6t 5 -t, z = t 2 +7 e rilerini tek bir grafik ekran nda çizdiriniz. 2- A = [ 5 8-2 6 4 0 7 ] giri verilerini bar grafik ekran nda çizdiriniz. 3- z=2x 2 +y yüzeyini, 0.2 art m de eriyle x = (-2,2) ve y = (-2,2) aral n kullanarak çizdiriniz. 4- z = e -2x +4x 3 grafi ini (2,50) aral nda çizdiriniz. 5- x=9sin(t), y = 2tan(3t) + cos(t) grafiklerini (0,10) aral nda 0.05 art mla çizdiriniz. 31

BÖLÜM 3 : MATLAB ile PROGRAMLAMA Bu bölümde MATLAB yaz l m n ba lang çta kolayl kla kullanabilmek için gerekli olan komut ve fonksiyonlar verilecektir. u ana kadar MATLAB ile yapt m z uygulamalarda, belirli bir i lemi gerçekle tirmek üzere gerekli olan komut ya da fonksiyonlar komut sat r ndan, >> sembollerinden sonra tek tek girerek icra ediyorduk. Oysa, MATLAB komut ya da fonksiyonlar ndan gerçekle tirmek istedi imiz bir i le ilgili özel bir grubu, bir dosyaya kaydederek, bu dosya isminin ça r lmas yla icra ettirebiliriz. Bir deyimler ya da komutlar grubunu içeren bu tip bir dosyaya MATLAB de M-dosyas (M-File) ad verilir. Bir komut grubu içerdi i için tan m itibariyle bir program dosyas d r. Dolay s yla programlama M-dosyalar olu turularak yap l r. -- Komut sat r na helpwin komutu girilirse veya MATLAB in Help menüsünden Help Window seçene i seçilirse kar m za gelecek yard m seçeneklerinden istenilen konu hakk nda bilgi al nabilmektedir. -- M-File Olu turma : Programlama i lemi M-File (Program Dosyas ) dosyalar nda yap l r. Bu nedenle program yazarken en çok kullan lacak olan i lem M-File olu turma i lemidir. Bunun için File menüsünden New seçilir ve daha sonra M-File seçene i seçilir. Böylece yeni bir programlama ekran elde edilir. Programlama i lemi bittikten sonra M-File dosyas n n File menüsünden Save As seçene i seçilir. Yaz lan program buradaki work çal ma dosyas n n içine istenilen isimle kaydedilir. Kaydedilen dosyalar n uzant s.m olarak kaydedilir. (Örnek: sonuc.m) stenen dosyay çal t rmak için ise komut sat r nda dosya ismini yaz p Enter tu una basmak yeterlidir. Ayr ca work menüsüne girilip oradan da çal t r labilir. lk etapta örnek olarak olu turulmu olan bo bir M-File dosyas a a da gösterilmi tir: 32

A) GENEL AMAÇLI KOMUTLAR -- workspace komutu : Çal ma esnas nda çal ma alan nda (belle in kullan c ya ayr lan k sm ) mevcut de i kenler hakk ndaki ayr nt l bilgi a a da gösterildi i gibi bir pencere içinde verilir. Pencere içindeki de i kenlerin üzerine çift t klayarak o de i kenle ilgili bilgilere ula l p de i iklikler yap labilir. -- clear komutu : Bellekte o anda mevcut bulunan de i kenleri bellekten siler. -- save komutu : M-file dosyas n n kaydedilmesi yukar da da anlat ld gibi File menüsünden yap l r. MATLAB komut sat r nda ise save komutu kullan l rsa o esnada bellekte bulunan de i kenleri, istenilen dosya ismiyle ve uzant s.mat olacak ekilde kaydedilir.(örnek: sayilar.mat) >> a=1 a = 1 >> b=2 b = 2 >> save sayilar Yukar da a ve b say lar say lar.mat dosyas olarak kaydedilmi tir. -- load komutu : Diskte sakl bir dosya içindeki de i kenleri tekrar belle e yükler. >> load sayilar >> who Your variables are: a b Yukar da sayilar dosyas load komutuyla belle e tekrar yüklenmi ve who komutuyla bu dosyan n de i kenleri görüntülenmi tir. 33

-- dir komutu : Bellekte kay tl olan dosyalar listeler. (Not: Bir program do ru olarak çal t rmak için, icra ettirmeden önce clear komutuyla mevcut de i kenler silinebilir.) >> dir. Oy.m sayilar.mat simple-report.sgml.. diary simple-report.html -- type komutu : Bir.m uzant l dosyan n içeri ini komut sat r nda görüntüler. -- edit komutu : Bir M-dosyas n n içeri inde de i iklik yapma imkan sa lar. -- open komutu : Uzant s ile belirtilen dosyay açar. -- Her yaz l m türünde oldu u gibi MATLAB de de, i letim sistemi kontrolüne geçmeden i letim sisteminin görevi olan baz i lemleri gerçekle tirebilmek mümkündür. Bu tür i lemler a a daki tabloda özetlenmi tir. Komutun Ad cd dir ls delete type Komutun levi Aktif dizini de i tirir. Aktif dizinin içindekileri listeler. Aktif dizinin içindekileri listeler. Belirtilen dosyay siler. Belirtilen dosyan n içeri ini listeler. -- clc komutu : Komut sat r n tamamen siler. 34

B) DE KEN ATAMA C ve PASCAL gibi programlama dillerinde, program n ana gövdesinin olu turulmas na ba lamadan hemen önce, programdaki tüm de i kenlerin hangi tip de i ken olduklar n belirtmek ve program n bilgisayar belle inden uygun miktarda alan bu de i kenler için tahsis etmesini sa lamak gerekir. MATLAB de de i kenler, kendilerine ait bir isim ve onlara atanacak de erler yard m yla olu turulurlar. Önceden de i ken tipini belirtmeksizin, de i kene verilen de ere ba l olarak MATLAB, uygun de i ken tipini belirler ve bilgisayar belle inden yeteri kadar yeri bu de i kene tahsis eder. Birinci bölümde temel atamalarla ilgili baz bilgiler (sabit, de i ken, matris, dizi, vektör tan mlama...) verilmi ti. -- Mant k ve li ki Operatörleri : == E ittir & and Ve ~= E it de il & and Ve < Küçük ~ not De il <= Küçük e it > Büyük >= Büyük e it -- global( ) komutu : Farkl M-dosyalar için ayn de i ken tan mlanacaksa o de i ken global(x) olarak tan mlanabilir. -- disp( ) komutu : stenen aç klamay görüntüler. >> disp('programlamaya Giris') Programlamaya Giris -- input( ) komutu : Kullan c dan klavye arac l yla programc taraf ndan girilmesi istenen de i ken istenir ve ilgili de i kene atan r. >> Yas=input('Yasinizi giriniz :') Yasinizi giriniz :23 Yas = 23 -- fprintf komutu : Bir aç klama ifadesiyle birlikte bir veya birden fazla de erin görüntülenebilmesini sa lar. >> a=231565465; >> fprintf('hesap = %d ',a) Hesap = 231565465.000000 35

Not : fprintf fonksiyonu, kompleks say lar n sadece reel k sm n gösterir. Bu nedenle kompleks say uygulamalar nda disp fonksiyonunu kullan lmal d r. fprintf fonksiyonunda kullan lan çe itli biçim tipleri a a da gösterilmi tir : %d : Virgüllü say lar 10 un kuvvetleri eklinde gösterir. %f : Kayan noktal ekilde gösterir, aksi belirtilmedikçe virgülden sonra 6 basamak gösterir. %e : Say y üstel ekilde gösterir. -- linspace ve logspace komutlar : lk de eri ve son de eri belirtilen bir diziyi lineer veya logaritmik olarak belirtilen say daki eleman kullanarak yap land r r. Belirtilen aral otomatik olarak verilen eleman say s na göre böler ve her böldü ü say y görüntüler. fonksiyon(ilk_de er, son_de er, eleman_say s ) >> B=linspace(0,10,6) B = 0 2 4 6 8 10 -- Ba lang ç, son de er ve art miktar belli dizilerin atanmas : >> dizi=10:5:30 dizi = 10 15 20 25 30 --Haz r fonksiyon özelliklerini kullanarak olu turulan diziler için kullan lan komutlar : zeros(n,m) : nxm boyutunda 0 lardan olu an matris üretir. ones(n,m) : nxm boyutunda 1 lerden olu an matris üretir. eye(n,m) : nxm boyutunda birim matris üretir. length(x) : x dizisinin sat r say s n verir. size(x) : x matrisinin boyutlar n (sat r ve sütun) verir. format short : lem sonuçlar n virgülden sonra 4 basamakl olarak gösterir. format long : lem sonuçlar n virgülden sonra 14 basamakl olarak gösterir. Not: MATLAB in yap s nda önceden tan mlanm baz özel sabit veya aç klama de erler : pi (Pi say s ) ; i,j (Kompleks i say s ) ; eps (Epsilon: ki say aras ndaki en küçük fark) ; Inf (Say /S f r belirsizli i ve di er belirsizlikler kar s nda üretilen tan ms zl k cevab : Infinite) 36

-- Vektör ve matrislerin tan mlanmas : >> A=[ 2 3 5 9-2 ] A = 2 3 5 9-2 3x3 boyutunda bir matrisi tan mlamak için : >> C=[3 6 9 ; 8 2 4 ; 0 8 3 ] C = 3 6 9 8 2 4 0 8 3 -- who komutu : Çal ma alan ndaki o esnada mevcut olan de i kenlerin isimlerini listeler. Ayr ca whos komutu de i kenler hakk nda daha ayr nt l bilgi verir. >> who Your variables are: A B C V -- length( ) komutu : Girilen bir vektörün uzunlu unu (eleman say s n ) görüntüler. >> A=[ 5 8 7 2 5 9 6 ] A = 5 8 7 2 5 9 6 >> length(a) 7 C) FONKS YON OLU TURMA VE D ER KOMUTLAR: -- sum( ), min( ), max( ), mean( ) komutlar : Yandaki komutlar s ras yla bir vektörün elemanlar n n toplam n, en küçük eleman n, en büyük eleman n ve ortalamas n bulur. -- function komutu : Fonksiyon tan mlamak için kullan l r. Bu özellik a a da örnek üzerinde aç klanm t r : Örnek olarak kullan c taraf ndan girilen n adet rakam n (Bu rakamlar n MATLAB de vektör formunda girilmesi gerekmektedir) ortalamas n, en küçük eleman n, en büyük eleman n ve standart sapmas n bulacak bir fonksiyonu ist(a) ad yla olu tural m : 37

Not: Herhangi bir.m dosyas penceresinde f butonuna mouse ile bir defa dokunuldu unda (yukar daki ekilde de görülmektedir) work dizini alt nda kay tl olan bütün fonksiyonlar listelenir. imdi de program komut sat r ndan icra ettirelim : >> A=[5 3 6 9 73 6 5]; >> ist(a) enk = 3 enb = 73 n = 7 ort = 15.2857 stsapma = 23.6203 15.2857 38

-- type komutu : Bir.m uzant l dosyan n içeri ini komut sat r nda görüntüler. Örnek olarak 2 say n n toplam n yapan toplam isimli basit bir program yazal m. A a da M-File görüntüsünde gösterilmi tir : MATLAB komut sat r na type toplam yaz l rsa : >> type toplam clear disp('---------iki sayinin toplamini bulan program--------------') a=input('birinci sayiyi giriniz: '); b=input('ikinci sayiyi giriniz: '); toplam=a+b; disp('toplam = '); disp(toplam); end >> Örnek Program: ki noktas bilinen do runun çizimi program a a da gösterildi i gibi dogru.m dosyas ad alt nda yaz lm t r. Çizilmesi istenen do runun iki noktas kullan c dan istenmekte ve grafik otomatik olarak çizdirilmektedir. 39

Bu program komut sat r nda çal t r l rsa a a da gösterildi i gibi icra edilir ve grafik de otomatik olarak yine a a da gösterildi i gibi çizdirilir. >> dogru *********Iki Noktasi Bilinen Dogrunun Cizimi********* 1. Noktanin apsisini giriniz :3 1. Noktanin ordinatini giriniz :9 2. Noktanin apsisini giriniz :-5 2. Noktanin ordinatini giriniz :7 >> Örnek Program: 3 farkl partinin yap lan genel seçimler sonucu ald klar oy oranlar n pasta grafik dilimi üzerinde gösteren grafi in çizimi program a a da gösterildi i gibi Oy.m dosyas ad alt nda yaz lm t r. Çizilmesi istenen pasta dilimi grafi i için kullan c dan bu üç partiye ait yüzdelik oy oran rakam olarak istenmekte ve grafik otomatik olarak çizdirilmektedir. 40

Bu program komut sat r nda çal t r l rsa a a da gösterildi i gibi icra edilir ve grafik de otomatik olarak yine a a da gösterildi i gibi çizdirilir. >> Oy <><><><><><><><><><><><><><><><><><> Partilerin Oy Oranlari Grafigi <><><><><><><><><><><><><><><><><><> A Partisinin aldigi oyun yuzdelik dilimdeki rakamini giriniz: 50 B Partisinin aldigi oyun yuzdelik dilimdeki rakamini giriniz: 20 C Partisinin aldigi oyun yuzdelik dilimdeki rakamini giriniz: 30 -- keyboard komutu : letilen programlar n kodlar na ve içeriklerine d ar dan müdahale edebilmek için kullan l r. Böylece program n i letilmesi durdurulur, fonksiyonun kontrol edilebilmesini sa lar, de i kenler üzerinde inceleme ve de i iklik yap labilir. Bu komutun aktif oldu u K>> eklindeki özel bir komut istem sembolü ile belirtilir. Bu özellikten ç k p program n ak na devam edebilmek için, return komutu girilir ve enter tu una bas l r. Bu özellik sayesinde çal ma alan nda üretilen sonuçlara an nda ula abilmek mümkün olmaktad r. A a daki örnekte M-File ve komut icra sat rlar verilmi tir 41

Bu program komut sat r nda çal t r l rsa a a da gösterildi i gibi icra edilir Birinci sayiyi giriniz: 4 Ikinci sayiyi giriniz: 2 K>> c=10 c = 10 K>> return d = 80 K>> return >> Örnek Program: ki nokta aras ndaki uzakl bulan basit bir program, önce fonksiyon yap s n kullanarak sonra da ayn program bu fonksiyon yap s n bellekten ça rma i lemini uygulayarak icra ettirelim : a) Fonksiyon yap s n kullanarak : Komut sat r ndan icra edilirse : >> f_uzaklik(2,6,3,0) x = 6.0828 6.0828 42

b) Fonksiyon yap s n bellekten ça rarak : Komut sat r ndan icra edilirse : >> uzaklik ------- Iki nokta arasindaki uzaklik ------- 1.noktanin x degerini giriniz : 2 1.noktanin y degerini giriniz : 5 2.noktanin x degerini giriniz : 4 2.noktanin y degerini giriniz : 3 x = 2.8284 Iki nokta arasindaki uzaklik:2.828427 D) DÖNGÜ ve ARTLI FADE UYGULAMALARI : 1. ARTLI FADELER : -- if yap s : if komutunun MATLAB de 3 farkl ekli mevcuttur : a) if ko ul deyim1 deyim 2 deyim_n end Ko ul do ru ise deyim1, deyim1,..., deyim_n, ile belirtilen deyimler grubu icra edilir ve program n kontrolü end i izleyen deyime geçer; ko ul yanl ise bu durumda deyim1, deyim2,..., deyim_n ile belirtilen deyimler grubu icra edilmeden kontrol end i izleyen deyime geçecektir. 43

b) if ko ul deyim1 deyim 2 deyim_n else deyim_n+1 deyim_n+2 deyim_m end Ko ul do ru ise deyim1, deyim1,..., deyim_n, ile belirtilen deyimler grubu icra edilir ve program n kontrolü end i izleyen deyime geçer; ko ul yanl ise bu durumda da sadece else i izleyen, deyim1_n+1, deyim_n+2,..., deyim_m ile belirtilen deyimler grubu icra edilecek ve kontrol end i izleyen deyime geçecektir. c) if ko ul1 deyim1 elseif ko ul2 deyim2 elseif ko ul3 deyim3... elseif ko ul_n deyim_n else deyim_n+1 end Bu yap içerisinde kontrol edilen ko ullardan herhangi biri do ru ise onunla ili kili deyim icra edilir ve kontrol end i izleyen deyime geçer. Ko ullar n hepsi de yanl sa, kontrol else i izleyen deyim_n+1 e geçer ve bu deyim de icra edildikten sonra kontrol end i izleyen deyime geçecektir. Örnek Program: Kullan c taraf ndan bir say istenip bu say n n pozitif, negatif veya 0 m oldu unu sorgulayan ve ekrana yazd ran program a a da incelenebilir : 44

Komut sat r ndan icra edilirse : Bir sayi giriniz: 55 Sayiniz pozitiftir... >> if_1 Bir sayi giriniz: -9 Sayiniz negatiftir... >> if_1 Bir sayi giriniz: 0 Sayiniz sifirdir... -- switch - case yap s : kiden fazla durumu kontrol etmek için, if elseif else end yap s na alternatif olarak kullan lan bir kontrol yap s d r. fadenin de eri kontrol edilir ve buna göre farkl bir deyim veya deyimler grubu icra edilir. Örne in, ifadenin de eri de er1 ise, deyim1 icra edilir ve kontrol end i izleyen deyime geçer. fadenin de eri, de er2, de er3 ya da de er4 e e itse bu durumd deyim2 icra edilir ve kontol end i izleyen deyime geçer. fadenin de eri, case lerle kontrol edilen de erlerden hiç birine e it de ilse bu durumda da otherwise sözcü ünü izleyen deyim_n+1 icr edilecektir. switch(ifade) case de er1 deyim1 case de er2,de er3,de er4 deyim2... case de er_n deyim_n otherwise deyim_n+1 end 45

Örnek Program: Haftan n kaç nc gününün ne oldu unu bulan basit bir program a a da incelenebilir : >> gun Haftanin kacinci gunu? : 5 gun = Cuma 2.DÖNGÜ FADELER : -- for döngüsü : Parametre de eri ba lang ç de erinden ba layarak ve her seferinde art m de eri kadar artt r larak son de ere eri ene kadar de i tirilir. Parametrenin her de eri için, deyim1, deyim2, deyim_n eklinde belirtilen ve for-end sözcükleri aras nda yer alan deyimler grubu icra edilir. Parametrenin de eri son de eri a nca, program n kontrolü end i izleyen deyime yani çevrimin d na ç kacakt r. for parametre=ba lang ç:art m:son_de er deyim1 deyim2... deyim_n end 46

Örnek Program: Arka arkaya bölme i lemlerinin yap ld a a daki for döngüsü program n incelenebilir : Komut sat r ndan icra edilirse : 0/2 = 0 0/4 = 0 ic cevrim sonu 20/2 = 10 20/4 = 5 ic cevrim sonu 40/2 = 20 40/4 = 10 ic cevrim sonu 60/2 = 30 60/4 = 15 ic cevrim sonu 80/2 = 40 80/4 = 20 ic cevrim sonu dis cevrim sonu -- while döngüsü : Belirli bir üst s n ra kadar istenilen i lemleri tekrarlayarak yapar. Ko ul do ru oldu u sürece, deyim1, deyim2,..., deyim_n eklinde belirtilen deyimler grubunu icra eder. Ko ul yanl oldu u anda, end i izleyen deyime yani çevrim d na ç kar. while ko ul deyim1 deyim2... deyim_n end 47

Örnek Program: A=5 ilk de erinden ba layarak A<8 oldu u sürece A ya 1 eklemek için a a daki program incelenebilir : Komut sat r ndan icra ettirilirse : A = 5 A = 6 A = 7 A = 8 48

ALI TIRMALAR 1- Kenarlar kullan c taraf ndan istenen bir üçgenin çe itkenar, ikizkenar veya e kenar üçgen mi oldu unu bulan MATLAB program n yaz n z. 2- ax 2 +bx+c ikinci dereceden denkleminin köklerini bulduran MATLAB proram n yaz n z. 3- Bir otomobil, durgun halden harekete ba layarak 10 dakika boyunca h zlan yor, h z 60 km/saat oluyor. Sonra 15 dakika boyunca sabit h zla hareketine devam ediyor ve 10 dakika boyunca yava layarak h z 0 oluyor. D ar dan girilen herhangi bir t an nda otomobilin h z n veren bir MATLAB program yaz n z. 4- Kullan c dan do um gününü soran ve bu kullan c n kaç y l, kaç ay ve kaç y l ya ad n bulan bir MATLAB program yaz n z. 49