2. HAFTA DERS KONULARI



Benzer belgeler
Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB

Bilgisayar Programlama

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ

MATLAB de. Programlama. akifceviz/matlab/ Doç. Dr. M. Akif CEVĠZ. Matlab Ders Notları

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

MATLAB MATLAB MAT LAB MAT LAB MATLAB

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

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

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ü

BM202 SAYISAL ÇÖZÜMLEME

Bilgisayar Programlama MATLAB

2.3. MATRİSLER Matris Tanımlama

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

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

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

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

Matlab da Dizi ve Matrisler. Mustafa Coşar

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

DENEY 1: Matlab de Temel Uygulamalar

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

MatLab. Mustafa Coşar

BİLGİSAYAR PROGRAMLAMA DERSİ

Fen ve Mühendislik Uygulamalarında MATLAB

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

Fen ve Mühendislik Uygulamaları ile MATLAB

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

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

FONKSİYONLAR. Giriş argümanlarına karşılık gelen çözümü çıkış argümanları olarak sonuçlandırır. Fonksiyondosyalarıkendiçalışmaalanındaki

14 Şubat 2011 Pazartesi günü uygulamada çözdüğümüz 2. Soruyu, aynı sıra ile bu defa MATLAB kullanarak çözelim.

Program akıģı sırasında belirtilen satır numaralı yere gitmek için kullanılır. Genel formu: [<satır numarası>] GOTO <satır numarası 1> GOTO n

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

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

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

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

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

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

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

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

BİLGİSAYAR PROGRAMLAMA VE FİZİKTE PROGRAMLAMA DERSLERİ İÇİN MATLAB ÇALIŞMA NOTLARI. Mehmet ÖZKAN

CONTROL LAB1 MATLAB GİRİŞ

Bilgisayar Programlama MATLAB

1- Temel MATLAB Fonksiyonları ve Programlama

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan;

MATLAB

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

BİLGİSAYAR PROGRAMLAMA DERSİ

İleri Diferansiyel Denklemler

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

Fen ve Mühendislik Uygulamaları ile MATLAB

3. ARİTMETİK FONKSİYONLAR ~ (~ tamsayı)

Fortran komut satırı toplam 80 kolon ve 5 bölgeden oluģur. Komut satırının yapısı aģağıdaki gibidir:

Uzaktan Algılama Teknolojileri

Fonksiyonlar (Altprogram)

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

HSancak Nesne Tabanlı Programlama I Ders Notları

Bilgisayar Programlama MATLAB

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

MATLAB DE 2 BOYUTLU GRAFİK TÜRLERİ

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

MATLAB ve Simulink Kullanımına Giriş

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

KUADRATİK FORM. Tanım: Kuadratik Form. Bir q(x 1,x 2,,x n ) fonksiyonu

MATLAB de GRAFİK İŞLEMLERİ

PROGRAMINIZI ANĠ SONLANDIRMAK ĠSTEDĠĞĠNĠZ YER BĠR DÖNGÜNÜN ĠÇĠ ĠSE NE OLUR?????????

Algoritma ve Programlama II Dersi 3.ÖDEVĠ

Ders 1 : MATLAB Programlama Ortamı

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

m=n şeklindeki matrislere kare matris adı verilir. şeklindeki matrislere ise sütun matrisi denir. şeklindeki A matrisi bir kare matristir.

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

MATLAB. Grafikler DOÇ. DR. ERSAN KABALCI

Program AkıĢ Kontrol Yapıları

Algoritma ve Akış Diyagramları

GÖRÜNTÜ İŞLEME MATLAB DERS-4


BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

R ile Programlamaya Giriş ve Uygulamalar

Bölüm 3: Vektörler. Kavrama Soruları. Konu İçeriği. Sunuş. 3-1 Koordinat Sistemleri

KONTROL SİSTEMLERİ-1 LABORATUVARI FİNAL PROJELERİ

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

MatLab. Mustafa Coşar

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

AMASYA ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Elektrik Elektronik Mühendisliği Bölümü

BİLGİSAYAR PROGRAMLAMA DERSİ

FORMÜLLER VE FONKSİYONLAR

BİL-142 Bilgisayar Programlama II

ENF182 Temel Bilgisayar Bilimleri Ö Ğ R. G Ö R. G Ö K H A N K U T L U A N A

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

AST415 Astronomide Sayısal Çözümleme - I. 7. Grafik Çizimi

Transkript:

. HAFTA DERS KONULARI AġAĞIDAKI KONULAR VERILECEKTIR 1- MAtlab programının çağrılması - Matlab hakkında tarihi bilgi ve genel özellikleri 3- Matlab ortamının tanıtımı a. Help ortamının tanıtımı b. Workspace c. History d. Genel grafik özellikleri (çok kısa) e. M dosyaları 4- Değişkenler, vector, matrisler 5- Aritmetik işlemler 6- atama deyimleri 7- örnekler ve dersde ödevler 8-1

a. Matlab Yrd. Doç. Dr. Ömer Gündoğdu Yrd. Doç. Dr. İrfan Kaymaz MATLAB, bilim adamları ve mühislere, Fortran ve C gibi gelenekselleģmiģ dillerde program yazmaksızın, matrislere dayalı problemleri çözmede kullanılmak üzere bir sayısal hesaplama kütüphanesi sunmak amacıyla, MATris LABoratuvarı (MATrix LABoratory) programı olarak tasarlanmıģtır. Fakat daha sonra, Optimization Toolbox ve Control System Toolbox gibi bazı toolbox lar eklenerek geliģtirilmiģtir. MATLAB bir yorumlayıcıdır (interpreter); yani sonuç, daha ziyade el tipi hesap makinelerine benzer tarzda ekranda yazılı bir metin olarak alınabilir. Neticede diğer dillerde olduğu gibi derleme ye (compilation) ihtiyaç yoktur; fakat programlamaya izin vermesi cihetiyle de güçlü bir paket programdır. 1. Temel Bilgiler MATLAB hem yeni baģlayanlara hem de uzmanlaģmıģ olanlara çok pratik bir yardım da sağlamaktadır. Özel bir komut hakkında bilgi edinmek için ekrandan help komut adı komutu girilir; burada komut adı ilgiliğiniz MATLAB komutunu temsil eden kelimedir. Kullanıcı, belirli bir konuda hangi komutları kullanabileceğini bilmek isterse lookfor kavram adı komutunu girmesi yeter. Mesela, lookfor exponential yazılıp enter tuģuna basıldığında; MATLAB her biri için kısa açıklamalarıyla birlikte üs almaya iliģkin tüm komutları sıralar. ġayet ilave bilgi gerekliyse help exp komutunun girilmesi ilgili komuta ait ayrıntılı bir yardımla neticelenir.. Hesap Makinesi Olarak MATLAB Ekrana bir ifade yazılıp giriģ (enter) tuģuna basıldığında MATLAB bu komutu hemen icra eder ve sonucu komut penceresinde basar. Eğer kullanıcı özel bir komutun sonucu olan çıktıyı görmek istemiyorsa komut bittikten sonra basitçe bir ; iģareti, yani noktalı virgül (semicolon) koymak yeterlidir. Açıklamalar yazılmak istiğinde bunların her satırının önüne % (yüzde) iģareti konmalıdır. MATLAB taki temel aritmetik işlemler aģağıda Tablo 1 de artan öncelik sırasına göre özetlenmiģtir. Tablo 1. MATLAB ta aritmetik iģlemler. İşlem Sembol Misal Toplama, a+b + +3 Çıkarma, a-b - 5- Çarpma, a*b * 3*4 Bölme, a/b / 14/7 Üs alma, a b ^ ^3 Ömer Gündoğdu, 00, Yayın hakkı saklıdır, yazarın yazılı izni olmadan hiçbir Ģekilde basılıp çoğaltılamaz ve iktibas yapılamaz.

MATLAB aynı zamanda pek çok hazır (built-in) matematik ve nümerik fonksiyonlara sahiptir. Bu fonksiyonların bazıları Tablo 1.4 te listelenmiģtir. Tablo. MATLAB taki hazır matematik fonksiyonlar. Fonksiyon Sembol Misal Sinüs, sin( ) sin sin(pi) Cosinüs, cos( ) cos cos(pi) Tanjant, tan( ) tan tan(pi) Arksinüs, arcsin( ) asin asin(0) Arkkosinüs, arccos( ) acos acos(0) Arktanjant, arctan( ) atan atan(1) Eksponensiyal, e x exp exp() Tabii logaritme log log(10) 10 tabanlı logaritma log10 log10(10) Kare kök, x sqrt sqrt(5) Mutlak değer, x abs abs(3) 3. Değişkenler MATLAB, kullanıcıların değiģkenlere değer atamasına müsaade etmektedir. Böyle bir atama yapabilmek için eģit iģaretinin sol tarafına bir değiģken ismi girilmelidir. AĢağıdaki misaller değiģkenlere değer ve ifadelerin nasıl atanacağını, keza MATLAB ın verdiği cevapları göstermektedirler.» a = 3, b = % Virgülle ayırmak kaydıyla bir satırda birden fazla atama yapılabilir. a = 3 b =» c = a + b c = 5» d = a ^ b d = 9 Bir değiģkenin değerini görmek için değiģkenin adını girmek yeterlidir.» d d = 9 MATLAB ın sayısı ve çok küçük sayıları için pi and eps gibi hazır değiģkenleri vardır.» pi 3.1416» eps.04e-016 3

4. Vektörler MATLAB ta vektörleri üretmek için kullanılabilen bir dizi yöntem vardır. Bunların bir kaçı burada sunulacaktır. Bir vektör oluģturmanın yollarından biri bunun elemanlarını (bileģenlerini) bir köģeli parantez içinde sıralamak ve bunu bir değiģkene eģitlemektir. Elemanların bir virgülle ayrılması veya aralarında boģluk bırakılması gerektiğini kaydedelim. Mesela, A=[1 3] Ģeklindeki bir satır vektör aģağıda verilen yollardan biriyle gösterilebilir.» A = [1 3] A = 1 3» A = [1,,3] A = 1 3 Bir satır vektörün transpozunu almak onun elemanlarını sütun tarzında yazmaktır. Keza sütun vektörün transpozu da onun elemanları satır tarzında yazılarak elde edilir. MATLAB ta bir vektörün transpozunu almak için kesme (apostrof) iģareti kullanılır. Mesela A vektörünün transpozunu almak için aģağıdaki gibi yapılır:» A' 1 3 Keza bir sütun vektör elemanların arası noktalı virgülle ayrılarak yahut her elemandan sonra giriģ (enter veya return) tuģuna basılarak da elde edilebilir. Mesela:» B = [1;;3] % Noktalı virgül kullanılmıģ B = 1 3» Return tuģu kullanılmaktadır» B = [1 3] B = 1 3 Elemanları sabit bir artım kadar fark eden bir vektör oluģturmak için iki nokta üstüste yazım tarzı (Colon notation) da kullanılabilir. Bu notasyonun kullanımıyla elemanları belli bir aralıkta yer alan bir vektörün temsili onun tüm elemanlarını açık açık yazmaktan daha kolaydır. 4

Mesela, bir A=[1 3 4 5 6] vektörü elemanları 1 den 6 ya 1 er artımla sıralanan bir küme olarak aģağıdaki tarzda ifade edilebilir:» A = 1:1:6 % 1 den 6 ya 1 er artımla baģla! A = 1 3 4 5 6 Bu komutun genel biçimi X=X min : X:X max ile verilmektedir. Bu komut, X ile gösterilen elemanları X min den baģlayan ve X artımlarıyla X max ile biten bir vektörle aynı Ģeydir. Negatif artımlar, yani azalımlara da müsaade olunmuģtur:» B = 8:-:0 B = 8 6 4 0 Artım olarak 1 kullanılacaksa, artım değerinin verilmesi gerekmez ve bu durumda birer birer artan sayılar üretilir.» A = 1:6 % Bu halde 1 artımı atlanmıģtır. A = 1 3 4 5 6 MATLAB ta diğer faydalı bir komut length komutudur. Bu komutun cevabı ilgilenilen bir vektörün uzunluğu (elemanlarının sayısı) olarak döner.» a = :3:45; length(a) 15 Toplama ve çarpma gibi cebir kuralları MATLAB taki vektör iģlemlerine tatbik olunmaktadırlar; mamafih vektörler aynı boyutta olmalıdırlar. Vektörler üzerinde iģlem yapan diğer iki mühim fonksiyon nokta (skaler) ve vektörel çarpımlardır. a ve b iki vektör olmak üzere bu iki iģlem için genel form sırasıyla dot(a,b) ve cross(a,b) dir. Bir vektörün Ģiddeti norm fonksiyonuyla hesaplanabilir.» a = [1 3]; b = [0,1,-1];» dot(a,b) -1» norm(a,) 3.7417 5

5. Matrisler Matrislere elemanları iki indisle tanımlanan iki boyutlu diziler olarak bakılabilir. MATLAB ta bir matrisin elemanları, bir köģeli parantez içinde her satırı noktalı virgüllerle ayrılarak veya satır satır yazılarak girilebilir veya saklanabilir. Bir A matrisinin i ninci satır ve j ninci sütunundaki eleman A(i,j) Ģeklinde gösterilir. Mesela x3 lük ( yani, satır and 3 sütunlu) 1 A 4 7 5 8 3 6 9 Ģeklindeki bir A matrisi MATLAB a aģağıdaki gibi girilebilir:» A = [1 3;4 5 6;7 8 9] A = 1 3 4 5 6 7 8 9» % Her satırdan sonra giriģ tuģuna basarak girmek de aynı ölçüde kolaydır.» A = [1 3 4 5 6 7 8 9] A = 1 3 4 5 6 7 8 9» A(,3) % Ġkinci satır ve üçüncü sütundaki eleman. 6» A(:,1) % A(:,1)deki ":" birinci sütundaki tüm elemanlar anlamına gelmektedir. 1 4 7» A(,:) % Ġkinci satır 4 5 6 MATLAB ta matris üretmeye yarayan ve bir kısmı aģağıda Tablo 1.5 te listelenen bir dizi hazır fonksiyon vardır. Tablo 3. Matris oluģturan bazı MATLAB hazır fonksiyonları. Fonksiyon Sembol Misal Birim matris eye eye(m,n) Birler matrisi ones ones(m,n) Sıfırlar matrisi zeros zeros(m,n) Tesadüfi sayılar matrisi rand rand(m,n) 6

MATLAB ta matris aritmetiği kolay ve sade bir iģtir. Temel matris iģlemlerinden bazıları aģağıda Tablo 1.6 da sıralanmıģtır. Tablo 4. MATLAB ta temel matris iģlemleri. İşlem Sembol Misal Toplama + A+B Çıkarma - A-B Çarpma * A*B Eleman eleman çarpma.* A.*B Sağdan bölme / A/B (=A*B -1 ) Eleman eleman bölme./ A./B (=A*B -1 ) Soldan bölme \ A\B (=A -1 *B) Transpozunu alma A Burada açıkça ifade edilmemekle beraber yapılan iģlemin anlamlı olması için, iģleme tabi tutulan bütün niceliklerin uygun (tutarlı) boyutlarda olması gerekmektedir. Aksi halde hata meydana gelecektir. AĢağıda matris iģlemlerine dair bazı misaller sunulmaktadır. A ve B 1 0 A ve B 3 1 3 Ģeklinde x lik matrisler olsun.» A = [1 ;3 -]; B = [0 ;1 3];» A+B % Matrislerin toplanması 1 4 4 1» A*B % Matrislerin çarpımı 8-0» A.*B % eleman eleman çarpımın nasıl olduğuna dikkat edilsin! 0 4 3-6» A*B' 4 7-4 -3» A^ % Bu bir matrisin karesini almaktır; yani A^=A*A. 7 - -3 10» A.^ % Bu eleman eleman kare almaktır. 1 4 9 4 7

» A/B % A/B=A*inv(B);inv(B) B nin ters matrisi demektir. -0.5000 1.0000-5.5000 3.0000» B/A % B/A=B*inv(A) 0.7500-0.500 1.3750-0.150» A./B % Bu eleman eleman bölmedir. Warning: Divide by zero. Inf 1.0000 3.0000-0.6667» A\B %A\B=inv(A)*B 0.500 1.500-0.150 0.3750 MATLAB taki eleman eleman iģlemler bir çok öğrencinin zihninde karıģıklığa yol açmaktadır. Matrislerde eleman eleman iģleme niçin ihtiyaç duyulduğunu göstermek üzere bir parçacığın konumunun zamana göre değiģimini belirleyen aģağıdaki fonksiyonun oluģturulmasını göz önüne alalım: x (t ) t 3 t 3. Burada t saniye ve x metre cinsindir. Bu süreç MATLAB ta aģağıdaki gibi gerçekleģtirilebilir:» t=linspace(0,10,50); % zaman vektörünü üret» x=t^3+*t^+3; % Noktalar atlanmıģ!??? Error using ==> ^ Matrix must be square.» x=t.^3+*t.^+3; % Eleman eleman iģlem için noktalar kullanılmıģ. Ġlkin 0-10 saniye aralığında eģit aralıklarla yer alan 50 adet zaman noktasını eleman kabul eden bir zaman vektörü üretilir. Bilahare bu zaman değerleri vektörü yukarıdaki formül vasıtasıyla konum vektörünü oluģturmakta kullanılır. ġayet t^3 ve t^ ibareleri girilirse, MATLAB ın komut penceresinde matrix must be square (matris kare matris olmalıdır) Ģeklinde hata mesajı görülür; çünkü, mesela t^ = t*t anlamına gelmekte olup gerçekte 1x50 bir matris 1x50 matrisle çarpılmak istenmektedir ki, bu tanımsızdır. Bunun yerine t.^ veya t.*t yazmak eleman eleman iģleme sevkedecek ve problem doğru tanımlanmıģ olacaktır. MATLAB ta bir matrisin determinantını hesaplama, tersini bulma gibi özel matris iģlemlerine mahsus ve Tablo 5 de kısmen verilen hazır fonksiyonlar da vardır Tablo 5. MATLAB taki Matris Fonksiyonları Fonksiyon Sembol Misal Bir matrisin determinantı det det(a) Bir matrisin tersi inv inv(a) Bir matrisin özdeğerleri ve özvektörleri eig eig(a) [v,d]=eig(a) 8

6. MATLAB ta Grafik Çizme MATLAB iki ve üç boyutlu verileri istenen formatta göstermeye yarayan bir dizi fonksiyon ihtiva etmektedir. MATLAB ın fonksiyon çizimlerine mahsus zengin koleksiyonu, kullanıcılara bilimsel ve mühislik uygulamalara ait çizimleri kolayca ve etkin biçimde çime imkanı sağlamaktadır. MATLAB ta bu amaçla yer alan komutların kısa açıklamaları için Tablo 6 e bakılabilir. Tablo 6. MATLAB taki çizim fonksiyonları Fonksiyon Açıklaması Misal plot Ġki boyutlu doğru ve sembollerle çizim için plot(xdata,ydata) temel komut polar Kutupsal (polar) koordinatlardaki çizimler polar(theta,rho) plot3 Üç boyutlu (3-D) çizimler plot3(x,y,z) title Grafiğin üstüne adını yazmak için title( my plot ) xlabel ylabel x eksenine ait etiket y eksenine ait etiket xlabel( xdata ) ylabel( ydata ) grid Grafiği doğru ağlarıyla örer. grid subplot Grafik penceresini bölmelere ayırır. subplot(mnk) mxn Ģekil, k aktif olandır text Grafikte istenen yere bir metin yerleģtirir. text(x,y, a plot ) x and y associated to plot scale gtext Grafikte istenen noktaya bir metin yerleģtirir. gtext( my plot ) ginput Ekran üzerinde istenilen koordinatlardaki noktaları belirtmede kullanılır ginput axis X ve y eksenlerini dıģarıdan müdahaleyle axis([x min,x max,y min,y max ]) ölçeklirir leg Birkaç grafik birden çizildiğinde farklı leg( name1,name ) grafikleri etiketler hold Mevcut çizimi alıkor. hold / hold on / hold off Bu komutlar ancak misaller vasıtasıyla en iyi tarzda anlaģılacağından temel çizim özelliklerini göstermek için çeģitli haller aģağıda sunulmaktadır. Okuyucunun çizim ve etiketleme fonksiyonlarına aģinalık kazanması için hem komutlar hem de bunlara karģılık yapılan iģler verilmiģtir.» t=0:0.01:*pi;» x=sin(t);y=cos(t);» plot(t,x) % t ye göre x i çizer» grid % Taksimat çizgilerini yerleģtirir» xlabel('t') % Yatay eksene t etiketini koyar» hold % Çizimi alıkor; yani yeni çizim mevcutun üzerine yapılır Current plot held» plot(t,y) % t ye göre y yi çizer» ylabel('x and y') % DüĢet eksene x ve y yazar» title('sine and Cosine Curves') % Grafiğe bir ad basar 9

x and y Net Akademi Kulübü Ücretsiz MATLAB Kursu- Ders Notları 1 Sine and Cosine Curves 0.8 0.6 0.4 0. 0-0. -0.4-0.6-0.8-1 0 1 3 4 5 6 7 t ġekil 1. Sinüs ve kosinüs eğrilerinin grafikleri Birbiri üzerine farklı eğriler çizmenin karıģıklığa yol açması mümkündür. Aynı Ģekilde yer alan farklı çizimleri ayırt edebilmenin basit bir yolu her eğri için farklı renkler veya farklı veri noktası sembolleri kullanmaktır. Diğer bir çare kesikli çizgi gibi farklı çizgi tipleri kullanmaktır. Keza bu imkanlar da aģağıdaki tabloda özetlenmiģtir (Tablo 7). Tablo 7. Çizimde farklı renk ve çizgi alternatifleri. Renk ve çizgi tiplerinin kullanılması çizimlerin farklı görünmesine ve birbirlerinden ayırt edilmesine yardımcı olacaktır. ġimdi aynı çizimleri tamamen yeni bir tarzda elde edelim:» plot(t,x,'b',t,y,'k:') % Bir komutla aynı Ģekil üzerinde mavi sürekli çizgiyle x in t ye % göre ve yine siyah kesikli çizgiyle y nin t ye göre değiģiminin çizdirilmesi 10

x and y Net Akademi Kulübü Ücretsiz MATLAB Kursu- Ders Notları» grid» xlabel('t')» ylabel('x and y')» title('sine and Cosine Curves')» leg('sine','cosine') 1 Sine and Cosine Curves 0.8 0.6 0.4 Sine Cosine 0. 0-0. -0.4-0.6-0.8-1 0 1 3 4 5 6 7 t ġekil. Farklı çizgi tipleriyle sinüs ve kosinüs eğrilerinin bir arada çizimi 7. Düz Yazı dosyaları (Script files) Bir senaryo dosyası (script file) özel bir görevi ifa için gerekli MATLAB komutlarının saklandığı bir metin programıdır. BaĢka bir ifadeyle bir komutlar dizisi bir dosyada saklanır ve daha sonra bunları komut penceresinden tek tek girmek yerine bu dosya çalıģtırılarak bu komutlar icra edilir. Bu dosyaların MATLAB ın çalıģtığı birimde (directory).m uzantısıyla saklanmaları gerekir. MATLAB senaryo dosyalarının oluģturulması ve yazılması için bir metin hazırlayıcısı (text editor) sunmaktadır. Bu senaryo dosyaları Windows da Notepad veya Unix de vi-editor gibi herhangi bir metin hazırlayıcısında da yazılabilirler. MATLAB metin hazırlayıcısı ya komut penceresinin üst kısmında yer alan New M-file düğmesi tıklanarak veya kısaca File menüsünden New/M-file ibaresini seçerek etkin hale getirilebilir. Misal olarak ArĢimet spiralinin çizmek üzere küçük bir dosya oluģturulmuģ ve Archimedes.m adıyla saklanmıģtır. Bu dosya aģağıda verilmektedir. % Bu, Arşimet spirlini çizen bir M-dosyasıdır (m-file dır) % (Rho=c*theta burada c>0) [0,*pi] aralığında % c=1 kabul edelim theta=linspace(0,*pi,100); % [0,*pi]aralığında 100 nokta üretir c=1; Rho=c*theta; polar(theta,rho,'k') 11

Bu M-dosyasının adı komut penceresinde uzantısız biçimde yazılır (yani: >> Archimedes) ve enter tuģuna basılırsa aģağıdaki grafik elde olunur: 10 90 8 60 6 150 4 30 180 0 10 330 40 70 300 ġekil 3. Polar koordinatlarda ArĢimet spirali. 8. Fonksiyonlar (Functions) Kullanıcılar ki fonksiyonlarını yazmak için M-dosyalarından yararlanmak da isteyebilirler. Aslında, MATLAB fonksiyonları Mathworks tarafından yazılmıģ bir takım senaryo dosyalarıdır. Senaryo dosyalarıyla (script files) fonksiyonları (functions) tanımlayan M-dosyaları arasındaki farklardan biri fonksiyon dosyalarının baģlangıçlarında function ibaresini ihtiva etmeleridir. Bu ibare, mesela giriģ ve çıkıģ parametrelerinin ne olacağı gibi, fonksiyonun formatını tanımlamaktadır. Dolayısıyla biri giriģ (input), diğeri çıkıģ (output) olmak üzere iki parametre listesine sahiptirler.bir fonksiyon dosyası daha ilk satırında aģağıdaki biçimde bir ifade ihtiva etmelidir: function [çıkış parametreleri listesi]= fonksiyon-adı(giriş parametreleri listesi) Buradaki fonksion-adı M-dosyasına verilen isimle aynı olmalıdır. Mesela raddeg adında bir fonksiyon oluģturulmuģsa M-dosyasının adı raddeg.m olmalıdır. GiriĢ ve çıkıģ parametreleri skalerler, vektörler ve/veya çok indisli diziler olabilir. Fonksiyon dosyalarında kullanılan değiģkenler senaryo dosyalarda kullanılan global değiģkenlerin aksine lokal niteliktedirler. Mamafih bu dahili fonksiyon değiģkenleri global olarak tanımlanabilirler. Fonksiyonlardaki ilave bir kısıtlama da açıklama satırlarının function sözcüğüyle baģlayan birinci satırdan sonra önlerine birer % iģareti konarak yazılmak zorunda olmasıdır. Misal olarak aģağıda verilen program radyan cinsinden verilen bir açıyı dereceye çeviren bir fonksiyonu teģkil etmektedir. Bu M-dosyası is raddeg.m olarak saklanmaktadır. function [deg]=raddeg(rad) % raddeg(rad) radyan cinsinden verilen bir açıyı dereceye çevirir. rad*180/pi 1

Mesela / radyanlık bir açı dereceye çevrilmek istenirse komut penceresinde raddeg(pi/) yazılarak girilir. Neticede sonuç aģağıdaki gibi olacaktır:» raddeg(pi/) 90 9. MATLAB ile Programlama MATLAB, FORTRAN and C gibi diğer programlama dillerindekine benzer bazı temel programlama yapıları sunmaktadır. Bu yapılar kullanıcıların, iliģki ve mantık iģlemcileriyle birlikte döngüler ve Ģart ifadeleri oluģturmasına izin verir ki, bunların mühislik hesaplamalarında geniģ uygulama alanı vardır. MATLAB ın sağladığı tekrarlı ve Ģartlı kontrol yapılarına kısa bir bakıģ aģağıda verilmiģtir: For Döngüleri (For-loops) Bir ifadeyi mükerreren icra etme yollarından biri MATLAB ın sağladığı for-döngüsü yapısını kullanmaktır. Bunun sentaksı for döngü_değişkeni=döngü_ifadesi deyimler olarak verilmektedir. Burada döngü_değişkeni bir değiģkene verilen uygun bir addır ve döngü_ifadesi genel olarak kullanılacak indis değiģkenine iģaret eder. (mesela sayaç baģlangıç değeri, artım ve ulģıldıktan sonra for döngüsü nden çıkılacak olan sayaç(indis=index) değeri, i=başlangıç değeri:artım:bitiş değeri gibi). Bu yapıya, 1 den n ye kadar tam sayıların toplamını hesaplayan (sum1.m) adlı aģağıdaki program misal verilebilir: function [sum]=sum1(n) % 1 den verilen bir n ye kadar tamsayıların toplamını %hesaplayan (sum1.m) programı sum=0; for i=1:n sum=sum+i; % 1 en n ye 1 er artımla değişen i indisi % üzerinde for döngüsü 1 den 15 e kadar tamsayıların toplamı bu takdirde komut penceresinde sum1(15) ifadesi girilerek aģağıdaki gibi elde edilebilir:» sum1(15) 10 Tekrarlı deyimleri elde etmenin bir baģka yolu while deyimini kullanmaktır. Bu durumda önceden verilen bir Ģart sağlanmadığı sürece bir iterasyon süreci devam eder. while cümlesi while şart deyimler 13

Ģeklinde bir yapıya sahiptir. Mesela, yukarıdaki (sum1.m) fonksiyonunu while deyimiyle yeniden yazmak mümkündür: function [sum]=sum(n) % 1 den verilen bir n ye kadar tamsayıların toplamını % hesaplamaya mahsus(sum.m) programı sum=0; i=0; while i <= n sum=sum+i; i=i+1; Bu program komut penceresinde aynı tarzda icra edildiğinde aynı sonuç elde olunur.» sum1(15)-sum(15) 0 Şart Deyimleri Bütün programlama dillerinin en hayati özelliklerinden biri deyimlerin muayyen Ģartlara tabi tutularak icra edildikleri dallanmalardır. MATLAB aģağıdaki genel Ģekilleri haiz if deyimleri ni kullanmaktadır: If şart deyimler veya alternatif olarak if şart deyimler else deyimler veya ikinci bir alternatif de if şart deyimler elseif şart deyimler AĢağıdaki misal, a, b, ve c sabitleri verilmiģ olmak kaydıyla ax bx c 0 Ģeklinde bir ikinci derece denklemini köklerini bulmak için Ģart deyimleriyle kurulmuģ bir programdır: 14

function [kokler]=quadrt(a,b,c); % a, b, ve c sabitleri verildiğinde a^+bx+c=0 denkleminin köklerini % bulan program d=b^-4*a*c; if d==0 kokler=-b/(*a); disp('katlı kok:') disp(kokler) elseif d>0 kokler=[-b-sqrt(d),-b+sqrt(d)]./(*a); disp('iki farklı kok:') disp(kokler) else kokler=[-b-i*sqrt(abs(d)),-b+i*sqrt(abs(d))]./(*a); disp('iki kompleks kok:') disp(kokler) Bu program kökleri bulur ve komut penceresinde basar. Genel olarak programlarda iç içe döngüler ve Ģart deyimleri kullanmak mümkündür. 15