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



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

Matlab da Dizi ve Matrisler. Mustafa Coşar

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

FADELER (EXPRESSIONS)

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

2.3. MATRİSLER Matris Tanımlama

DENEY 1: Matlab de Temel Uygulamalar

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

Bilgisayar Programlama MATLAB

MatLab. Mustafa Coşar

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

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA DERSİ

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

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

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

MATLAB MATLAB MAT LAB MAT LAB MATLAB

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

MATLAB ile ANALİZ (MIA)

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

Ders 1 : MATLAB Programlama Ortamı

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

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

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

MATLAB DE 2 BOYUTLU GRAFİK TÜRLERİ

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

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB

GNUPLOT ÇİZİM PROGRAMI

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ü

MATLAB/Diziler (Karakter Dizileri)

Matlab. Vektör ve Matris İşlemleri

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

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

BM202 SAYISAL ÇÖZÜMLEME

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

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

MATLAB de GRAFİK İŞLEMLERİ

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

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

İleri Diferansiyel Denklemler

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

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

ALGORİTMALAR VE PROGRAMLAMA

1- Temel MATLAB Fonksiyonları ve Programlama

Bilgisayar Programlama MATLAB

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.

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

MATLAB PROGRAMLAMAYA GİRİŞ

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

MAK3002 OTOMATİK KONTROL MATLAB UYGULAMALARI 1


FORMÜLLER VE FONKSİYONLAR

8.Konu Vektör uzayları, Alt Uzaylar

MATLAB Kullanımı. [ sqrt(-6)] a = [ ; ; 1 sqrt(-6)] a=[] clear a. a=[ 3, , 9, 10 ] a= [a ] a=[ 1 2 a ]

MatLab. Mustafa Coşar

GÖRÜNTÜ İŞLEME DERS-2

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

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'A GİRİŞ. Contents

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

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

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

CONTROL LAB1 MATLAB GİRİŞ

R ile Programlamaya Giriş ve Uygulamalar

Ders 5 : MATLAB ile Grafik Uygulamaları

DENİZ HARP OKULU TEMEL BİLİMLER BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

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

MATLAB/Değişkene Değer Atamak

Pascal Programlama Dili (2. hafta)

EXCEL 2007 ELEKTRONİK ÇİZELGE

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

Karakter Değişkenlere İlişkin Komutlar

SEÇİM İŞLEMLERİ. Yüzde Hesaplamaları HÜCRE KOPYALAMA & TAŞIMA FORMÜL GİRİŞİ FORMULLER 3) DÖRT İŞLEM. a) Bugün: b) Şimdi: c) Topla: d) Çarpım:

Bölüm: Matlab e Giriş.

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

MATEMATĠKSEL ĠġLEMLER

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

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR

İleri Diferansiyel Denklemler

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

Dr. Fatih AY Tel:

Bilgisayar Programlama

MATLAB DA 2 BOYUTLU GRAFİK İŞLEMLERİ

7.2 Fonksiyon ve Fonksiyon Tanımları (I) Fonksiyon ve Fonksiyon Tanımları (II)

T.C. KOCAELİ ÜNİVERSİTESİ MEKATRONİK MÜHENDİSLİĞİ OTOMATİK KONTROL SİSTEMLERİ DERSİ MATLAB UYGULAMA NOTLARI-1

TEMEL BİLGİTEKNOLOJİLERİ

Internet Programming II

Microsoft Office Excel 2007

Algoritma ve Akış Diyagramları

VEKTÖR UZAYLARI 1.GİRİŞ

1. LabVIEW ile Programlama

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler

Transkript:

MAK4083 PAKET PROGRAMLARLA ANALİZ VE ÇÖZÜM Dersin Adı Paket Programlar ile Analiz ve Çözüm Dersin Dili Dersin Türü Dersin Ön Koşulu Dersin Koordinatörleri Dersin Kodu MAK 4083 Türkçe II. Grup Teknik Seçmeli Yok Dersin Yarıyılı 7. yarıyıl Dersin Kredisi Ders Uygulama Laboratuar (Saat/Hafta) 0 0 Dersin İçeriği Dersin Amacı Günümüzde Makine mühendisliği alanında kullanılan paket programlar ve kapasiteleri hakkında bilgi sahibi olabilmesi. Makine Mühendisliğinde MATLAB ve toolbox larının tasarım aşamasında kullanılması. Yapılan deneylerden elde edilen verilerin değerlendirilmesi, işlenmesi ve analizinin yapılması. Sistemin modellemesi ve elde edilen matematiksel ifadelerin çözümünün bilgisayar ortamında hızla gerçekleştirilmesi. Makine Mühendisliği problemleri çözümünde SIMULINK programının kullanılması. Grafiksel Kullanıcı Arayüz yapısı ile kullanıcıya kolaylık sağlayan özel paketlerin hazırlanması Makine Mühendisliği problemlerinin belirlemesi, formüle edilmesi, modellemesi, analiz edilmesi ve çözümlenmesinde paket programların etkin bir şekilde kullanma ve sonuçları yorumlayarak sunma becerisini kazandırmak. Dersin Kazandıracağı Bilgi ve Beceriler. Günümüz Makine Mühendisliği alanında kullanılan paket programlar ve kapasiteleri hakkında bilgi sahibi olur.. Makine Mühendisliğinde MATLAB ve toolbox larını tasarım aşamasında kullanır. 3. Yapılan deneylerden elde edilen verilerin değerlendirir, işler ve analizinin yapar. 4. Sistem modelinden elde edilen matematiksel ifadelerin çözümünü bilgisayar ortamında hızla gerçekleştirir. 5. Elde edilen sonuçları grafiğe döker, genel formülleri çıkarır ve yorumlayıp sunar. 6. Makine Mühendisliği problemlerinin çözümünde SIMULINK programını kullanır. 7. Grafiksel Kullanıcı Arayüz yapısı ile kullanıcıya kolaylık sağlayan özel paket programlar hazırlar. 3 4

Ders Kitabı (Ders Notu) Yararlanılacak Diğer Kaynaklar.Yüksel İ., MATLAB ile Mühendislik Sistemlerinin Analizi ve Çözümü- 3. Baskı, Nobel Yayın Dağıtım, 004.Şefkat G., Mühendis ve Akademisyenler için MATLAB, Ders Notu, 003 3.Magrab E.B., An Engineering Guide to MATLAB, Prentice-Hall, Inc., ISBN 0-3-0335-, 000 Ödev ve Projeler Laboratuvar Deneyleri Üç adet ödev yapılır.. 5. Hafta, Verilen problemlerin düz yazı dosyalarının ve fonksiyon dosyalarının hazırlanması ve grafiklerin oluşturulması.. 0. Hafta, Yapılan bir deneyin, sonuçların değerlendirilmesi ve grafiklerinin oluşturulması. Verilen bir sistemin hareket denklemlerinin çıkarılması ve diferansiyel denklemlerin çözümü. 3. 3. Hafta, Problemin Simulink modelinin oluşturulması ve çözüm sonuçlarının elde edilmesi. 5 6 Çalışmalar Ara Sınavlar Kısa Sınavlar Ödevler Projeler Dönem Ödevi Laboratuar Diğer Derse Devam Yarıyıl Sonu Sınavı Yarıyıl Sonu Sınavına Girebilmek İçin Asgari Şartlar Mutlaka Teslim Edilmeli %70 Sayı 4 Başarı Notuna Toplam Katkısı(%) 5 5 0 50 Hafta 3 4 5 6 7 8 9 0 3 4 Konular Giriş MATLAB ile Çalışmak MATLAB ta Program Hazırlanması: Düz Yazı Dosyaları MATLAB ta Program Hazırlanması: Fonksiyon Dosyaları MATLAB ta Grafik İşlemleri Verilerin Değerlendirilmesi, İşlenmesi ve Analizi Denklem Takımları ve Matematiksel Fonksiyonların Çözümü Matematiksel Fonksiyonların Grafikleri, Sayısal İntegrasyon ve Türev İşlemleri MATLAB ta Diferansiyel Denklemlerin Çözümü Ara Sınav MATLAB ta Denetim Sistemlerinin Tasarımı ve Analizi SIMULINK e Giriş SIMULINK ile Çalışmak Grafiksel Kullanıcı Arabirimi (GUI) kullanarak Özel yazılımlar Oluşturmak 7 8

Matematica, Maple, Macsyma programları öncelikli olarak sembolik cebir işlemleri yapan paket programlardır. Elbette sayısal hesaplama da yaparlar. Bu paket programlardan herhangi birini iyi biliyorsanız, bu yazılımı kullanarak MATLAB da yapılan herhangi bir hesaplamayı da yapabilirsiniz Amacı ve kapsadığı 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 Bilgisayar cebir sistemleri dik öğrenme eğrisine sahip olduğu halde, MATLAB yüzeysel öğrenme eğrisine (az çaba ile çok öğrenme) sahiptir. MATLAB sayısal hesaplamalarda C ve FORTRAN kadar hızlıdır. Diğer paketlere nazaran daha kısa programlama MATLAB NEDİR? MATLAB, temel olarak nümerik hesaplama, grafiksel veri gösterimi ve programlamayı içeren teknik ve bilimsel hesaplamalar için yazılmış yüksek performansa sahip bir yazılımdır. Matlab programının tipik kullanım alanları: şeklinde özetlenebilir. Matematik ve hesaplama işlemleri Algoritma geliştirme Modelleme, simülasyon (benzetim) ve önprototipleme Veri analizi ve görsel efektlerle destekli gösterim Bilimsel ve mühendislik grafikleri Uygulama Geliştirme MATLAB adı, MATrix LABoratory (Matrix Laboratuarı) kelimelerinden gelir. 9 0 Grafikler D Grafik 3D Grafik Renk ve Çizgi Animasyon MATLAB MATLAB Programlama Dili Kullanıcının Yazdığı Fonksiyonlar Hazır (gömülü) Fonksiyonlar E k s t r a F o n k s i y o n l a r Hesaplamalar Liner Cebir Veri Analizi Sinyal İşleme Polinomlar & Enterpolasyon Dört İşlem ODEs in Çözümü Toolboxes Sinyal İşleme Görüntü işleme İstatistik Eğri Uydurma Kontrol Sistem Gürbüz Kontrol Sistem Tanılama m-analiz & Sentez Neural Ağlar Optimizasyon İletişim Finanssal Sembolik Matematik E k s t r a F o n k s i y o n l a r Dış Arayüz C ve Fortram Programları ile arayüz MATLAB, ilk olarak Fortran Linpack ve Eispack projeleriyle geliştirilen ve bu programlara daha etkin ve kolay erişim sağlamak amacıyla 970 lerin sonlarında yazılmıştır. İlk başlarda bilim adamlarına problemlerin çözümüne matris temelli teknikleri kullanarak yardımcı olmaktaydı. Bugün ise geliştirilen yerleşik kütüphanesi ve uygulama ve programlama özellikleri ile gerek üniversite ortamlarında (başta matematik ve mühendislik olmak üzere tüm bilim dallarında) gerekse sanayi çevresinde yüksek 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, sinir 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 sağlamış ve sağlamaya da devam etmektedir. Web adresi: "http://www.mathworks.com" Email: info@mathworks.com Matlab, komut temelli bir programdır. Komut penceresinde (Command Window)» işareti Matlab in komut İstemcisi ni (prompt unu) gösterir ve bu işaret bulunduğu satır komut satırı olarak adlandırılır. Bu işaretin hemen yanında yanıp sönen I şeklinde ki işaret komut ve metin yazma cursor u yani imlecidir. Bu işaretin olduğu yerde klavyeden giriş yapılabilir demektir 3

Çift Tıklama MATLAB Dosyaların Yüklendiği veya Kaydedildiği Dizin Çift Tıklayarak A nın nasıl Kaydedildiğini görülebilir Kaydedilen Değişkenler Buradan Görülür Komutların Yazıldığı Alan Komut Geçmişi 3 4 İFADELER (EXPRESSIONS) Matlab diğer programlama dillerinde olduğu gibi bir giriş (input) olarak çeşitli matematiksel ve metinsel ifadeler sağlar. İfadeleri 4 ana madde altında inceleyebiliriz: Sayılar (Numbers) Değişkenler (Variables) İşleçler (Operators) Fonksiyonlar (Functions) Matlab de ifadeler genellikle değişken = ifade veya basitçe sadece formundadır.» b=4*5 b = Bir ifade = işareti ile bir değişkene atanmamış 0 ise Matlab otomatik olarak sonucu, ans adı» log() verilen özel bir değişkende saklar. 0.693 ifade Normalde ifadeler, tek bir satırda yer alırlar. Ancak bir kaç ifade aralarına virgül konarak yazılabilir ve işleme konabilir. Virgülden sonraki boşluk sayısında bır sınırlama yoktur. Komut veya değişken bildirimli ifadelerde ; noktalı virgül işaretini de kullanılabilirsiniz.» 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 5 6 4

MATLAB TEMEL YAZIM NOTASYONU (SYNTAX) Matlab de her şey bir dizi (array) olarak işleme konur. Bir dizi, skaler, vektör, matris veya metinsel dizge (karakter dizisi) olabilir. x dizisi skaler (scaler) veya metin dizgesi (string) gösterir. a=3 b=-0.56 c=3e-4 d=+5*i e= Bir tamsayı giriniz: gibi. Metin dizgeleri (text string), arasında verilir. nx veya xn dizisi bir vektör (vector) gösterir. x=[0,, 4, 6] ifadesinde x, x4 boyutunda bir vektördür. [ ] köşeli parantezler içindeki sayıların arasında virgül (,) veya en az bir veya daha fazla boşluk olmalıdır. nxm veya mxn dizisi bir matris (matrix) gösterir. [ ] köşeli parantezler içindeki sayı grupları arasında noktalı virgül (;) olmalıdır. ; işareti matrisin sütunlarını ayırır. Sayı gruplarında virgül (,) veya en az bir veya daha fazla boşluk olabilir. MATLAB DE KULLANILAN ÖZEL DEĞERLER VE SABİTLER Değişken Adı Açıklama ans Bir işlemin son cevabı (answer) veya bir ifadenin değeri pi pi sabiti: =3.4596535897... i veya j imajiner birim, - eps (epsilon yani ) Kayan-nokta bağıl doğruluğu (relative precision), e-5 realmin En küçük kayan-nokta (floating-point) sayısı, e-0 realmax En büyük kayan-nokta (floating-point) sayısı, (-)e04 yani e04 den çok az küçük inf Sonsuz (infinity) yani realmax dan daha büyük bir sayı NaN Sayı değil (Not-a-Number)0 7 8 KOMUT SATIRINDA KLAVYE KISAYOLLARI ctrl- ctrl- home end esc del backspace 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 satırı çağırır (Recall previous line) Bir sonraki satırı çağırır (Recall next line) Imleç bir karakter sola hareket eder (Move back one character) Imleç bir karakter sağa hareket eder (Move forward one character) Bir kelime sağa hareket eder (Move right one word) Bir kelime sola hareket eder (Move left one word) Satrın basına gider (Move to beginning of line) Satrın sonuna gider (Move to end of line) Geçerli satırı iptal eder yani tamamen siler (Clear line) Bir karakter sola doğru siler (Delete character at cursor) Imlecten satırın başına kadar olan kısmı siler (Delete character before cursor) Imlecten satırın sonuna kadar olan kısmı siler (Delete to end of line) Format Komutu: Matlab, değerlerin sayısal formatını format komutu ile kontrol eder. Bu komut sayıların kaç hane yani kaç ondalıkla veya diğer bir deyişle kaç digit gösterileceğini belirler. Matlab de tüm hesaplamalar, double precision da yapılır. Komut format format short format long format short e format long e format short g format long g format bank format rat Açıklama Varsayılan format (format short ile aynıdır) 5 rakamlı sabit nokta skala formatı 5 rakamlı sabit nokta skala formatı 5 rakamlı kayan nokta formatı 5 rakamlı kayan nokta formatı 5 rakamlı en uygun sabit veya kayan nokta formatı 5 rakamlı en uygun sabit veya kayan nokta formatı Dolar ve sent için sabit format (İki ondalıklı gösterimler için kullanabilirsiniz) En küçük tamsayı oranı yaklaşımıyla sayıyı ondalıklı olarak gösterir 9 0 5

TRİGONOMETRİK FONKSİYONLAR Fonksiyon Adı sinus cosinüs tanjant kotanjant sekant kosekant Fonksiyon formatı sin(x) cos(x) tan(x) cot(x) sec(x) csc(x) Trigonometrik Ters Fonksiyon formatı asin(x) acos(x) atan(x) acot(x) asec(x) acsc(x) Fonksiyon formatı sinh(x) cosh(x) tanh(x) coth(x) sech(x) csch(x) Hiperbolik Ters Fonksiyon formatı asinh(x) acosh(x) atanh(x) acoth(x) asech(x) acsch(x) Matlab da trigonometrik TRİGONOMETRİK fonksiyonlarda derece FONKSİYONLAR yerine radian kullanılır. Bu nokta çok önemlidir. Kısaca =360 o veya =80 o derecedir. Örneğin derece cinsinden sin(30)=0.5 tir. Oysa Matlab bu işlemin sonucunu(» sin(30) -0.99) şeklinde verir. Genel kullanım derece cinsinden olduğundan ya radian (pi değişkenini kullanarak) cinsinden belirtmeniz ya da /80 ile çarpanız gereklidir. Programlama bölümünde örneğin direkt girilen sayının derece olarak algılanıp değerini veren bir fonksiyonda yazılabilir. Örneğimize devam edersek;» sin(pi/6) 0.50 Ancak bu yöntemde yani pi ye çevirmek (örneğin 6.47 açısı gibi) her zaman bu kadar kolay olmayacağından» sin(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 (sin4x)-(cosx) 3 ifadesinin değerini bulunuz.. yol:» x = pi/4;» sin(4*x)-(*cos(x))^3 -.83.yol:» x = 45;» sin(4*x*pi/80)-(*cos(x*pi/80))^3 -.83 LOGARITMIK VE ÜSTEL FONKSIYONLAR - Matlab da matematikten bildiğimiz doğal logaritma gösterimi ln olarak değil doğrudan log olarak gösterilmektedir. 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. Ln» log() 0 ln0» log(0).306 ln» log() 0.693 Fonksiyon Adı 0 tabanında logaritma (log 0 x) tabanında logaritma (log x) doğal logaritma (lnx) üstel (e x ) karekök ( x ) üsalma (x n, n herhangibir sayı)» exp().783 Fonksiyon formatı log0(x) log(x) log(x) exp(x) sqrt(x) Matlab da e sabit sayısı yani e=.788 veya kısaca e=.7 sayısı e olarak tanımlanmamıştır. Bunun yerine bir sonraki konuda göreceğimiz exp() fonksiyonu kullanılabilir. Biliyoruz ki lne= dir ve bunu Matlab de sağlayalım: x^n LOGARITMIK VE ÜSTEL FONKSIYONLAR (Devam) - Matlab de matematikten bildiğimiz normal logaritma 0 tabanındadır ve bir x değeri için genel yazım formatı log0(x) şeklindedir. Ayrıca Matlab, tabanındaki logaritma içinde hazır bir fonksiyon sağlar. Bir x değeri için genel yazım formatı log(x) şeklindedir. şeklindedir. Doğal logaritma da olduğu gibi negatif sayıların logaritmaları reel sayı değildir ve sıfır için değeri sonsuzdur. 0 ile arasındaki (0 ve dahil değil) değerleri negatiftir. Şimdi sırasıyla log, log0, log00 ve log 000, sonra log, log5, log3/5 ve sonra da log0 ve log(-4) değerlerini bulalım. Log» log0() 0 log0» log0(0) Log5» log0(5) 0.6990 Bilimsel notasyondan bildiğimiz gibi.0966e+003=.0966.03 demektir. Şimdi de aşağıdaki üstel yazılımlı ifadelerin değerleri bulalım : 3, (/) -4, 0 /5, 0 3/5, 5.6.0-5,» 3^, (/)^(-4), 0^(/5), 0^(3/5), 5.6*0^(-5) 3 4 6

LOGARITMIK VE ÜSTEL FONKSIYONLAR (Devam) 3- Bu konu başlığı altında çok kullanılan bir diğer fonksiyonumuz karekök alma işlemini gerçekleştiren sqrt fonksiyonudur. Genel yazım formatı bir x değeri için sqrt(x) şeklindedir. sqrt fonksiyonunu kullanarak sırasıyla, 3, 44, (3+) işlemlerini yapalım. >> sqrt(), sqrt(3).44 4.7958 >> sqrt(44), sqrt(3+sqrt()).00 KARMASIK (KOMPLEKS) SAYI İSLEMLERI Bilindiği gibi kompleks sayıların tipik genel formatı a + bi, a+bj veya a + ib, a+jb şeklindedir. Matlab dilinde bu notasyon a + bi, a + bj veya a+i*b, a+j*b şeklinde ifade edilir. Bu gösterim şekli aynı zamanda kartezyen gösterim olarak da adlandırılır. Sayılarda ı veya j kullanımı arasında fark yoktur her ikisi de aynı şeyi ifade ederler. Örnek olarak -3j karmaşık sayısını ele alalım.» -3j.0000-3.0000i» -i3??? Undefined function or variable 'i3' Temel kompleks sayı işlemleri: real Kompleks reel kısım (Complex real part) imag Kompleks imajiner kısım (Complex imaginary part) Abs Mutlak değer (Absolute value) angle Faz açısı (Phase angle) conj Kompleks eşlenik (Complex conjugate)» -i*3.0000-3.0000i x=3+4j sayısı için özetlersek Komut real(x) imag(x) abs(x) angle(x) conj(x) Sonuç 3 4 (3 +4 )=5 tan - (4/3)=0.973 3-j*4 5 6 KARMASIK (KOMPLEKS) SAYI İSLEMLERI! abs (absolute) komutu sadece karmaşık sayı işlemlerinde değil diğer tüm mutlak değer alma x işlemlerinde kullanılabilir. Fonksiyon adı abs olup genel formatı bir x değeri için abs(x) şeklindedir. Ör:» abs(sqrt(3)-) 0.73 ) x=(+4j)» x=*(+4*i) x =.0000 + 8.0000i ) k=(.+.5i) 3 3) a=--j j ve b=3+ olmak üzere s) -5a+b s) a/b» k=(. +.5*i)^3 k =» a=--j; b=3+sqrt sqrt();» s=-5*a+b -0.770-4.850i s = 8.44 +.0000i» s=a/b s = -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 tamsayıya yuvarlatma yapar -5 ceil : + a doğru en yakın tamsayıya yuvarlatma yapar round : En yakın tamsayıya yuvarlatma yapar» round(-5.) -5 KALAN BULMA İŞLEMLERİ Matlab da bölme işlemi sonucu kalan bulma işlemi iki şekilde yapılır: mod rem - Modül (Bölme işleminde işaretli kalan) - Bölme işleminde kalan rem(x,y), eğer y ~= 0 (y0) ise x - y.*fix(x./y) demektir. rem(x,0) değeri NaN dır. mod(x,y), eğer y ~= 0 (y0) ise x - y.*floor(x./y) demektir. mod(x,0) değeri x dir. rem fonksiyonu örnekleri:» rem(5,) mod fonksiyonu örnekleri:» mod(5,) 7 8 7

TEMEL İSTATİKSEL İŞLEMLER max min length sum prod median std mean geomean harmmean sort : Verilerin en büyük değerini bulur : Verilerin en küçük değerini bulur : Veri sayısını bulur : Verilerin toplamını hesaplar : Verilerin çarpımını hesaplar : Verilerin ortanca değeri hesaplar : Verilerin standart sapmasını hesaplar : Verilerin ortalama değerini hesaplar yani aritmetik ortalama alır : Verilerin geometrik ortasını hesaplar : Verilerin harmonik ortasını hesaplar : Verilerin azalan sırada sıralar» d=[0.5 0.34.5.5.4 3.0 3.4 5 6.5 4.3 5.5] ; max(d) 6.5000» min(d) 0.3400» length(d)» sum(d) 35.6900 İstatiksel işlemler matrislerde sütün sütun işlem yapar. A bir matris ise sum(a) A matrisinin sütularını ayrı ayrı toplar. DİZİLER Matlab in en temel işlem elemanı ve veri tipi dizilerdir (array). Dizi, en genel matematiksel tanımı ile nümerik ve metinsel değerler topluluğudur. Matlab da her şey bir dizi olarak işleme konur. Matlab da üç tip dizi ifadesi bulunmaktadır: Reel ile kompleks sayıları ifade eden çift kat veya nümerik diziler (double veya numeric array) Nesneleri ve metinsel dizgeleri ifade eden hücre diziler (cell array) Genelleştirme ve çeşitli tipleri ifade eden n-boyutlu diziler (n-dimensional array) VEKTÖR İŞLEMLERİ Vektörler, mx veya xn boyutlu dizilerdir. mx boyutlu diziye sütun vektörü denir ve eleman sayısı m tanedir; xn boyutlu diziye satır vektörü denir ve eleman sayısı 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 linspace, logspace komutlarıyla) Utility fonksiyonlar kullanarak (rand, randn, ones, zeros komutlariyla) 9 30 VEKTÖR İŞLEMLERİ (Devam) Temel Vektör İşlem Notasyonları İşlem Toplama Çıkarma Çarpma Sağa Bölme Sola Bölme Üs alma Transpoze 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 dizisinin her bir elemanı, sırasıyla b dizisinin her bir elemanına bölünür. b dizisinin her bir elemanı, sırasıyla a dizisinin her bir elemanına bölünür. a dizisindeki her bir elemanın, sırasıyla b dizisindeki elemanlarla üsleri alınır.. Satır vektörünü sütun vektörüne çeviri veya tersini yapar. * Matlab dilinde nokta işaretli işlemler (dot işlemleri) vektörde eleman eleman (elemanter) işlem yapacağını gösterir. Çarpma:.* Bölme:. / veya. \ ve Üsalma:.^ 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, sabit miktarda artan veya azalan bir değerle (step size) takip ederler. : işleci (colon operator) bu tür bir işlem için en temel bir yöntemdir. Genel sözdizimi formatı: f = İlkDeger : DeğişimMiktarı : SonDeger şeklindedir. Değişim miktarı belirtilmezse IlkDeger den sonra er er artım olacağını ifade eder. : işaretinden önce veya sonra görüntü netliği için boşluk verebilirsiniz. Ö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 tamsayılarını üretir diğer bir deyişle elemanları [ 3 4 5 6 7 8 9 0] olan bir n satır vektörü gösterir. Görüldüğü gibi artım miktarı belirtilmezse Matlab bunu birim olarak kabul eder. p değişkeni 0. ile arasında 0.5 artımla [0. 0.45 0.7 0.95] satır vektörünü üretir. 3 3 8

33 VEKTÖR İŞLEMLERİ (Devam) - linspace ve logspace komutlarını kullanmak. Bu durumda başlangıc ve bitiş noktaları arasında kaç nokta olacağını siz belirtirsiniz. linspace komutunun genel sözdizimi formatı: linspace(x, x, n) şeklindedir. x, aralığın IlkDeger ile x, SonDeger değerleridir. n, IlkDeger ile SonDeger arasındaki nokta sayısıdır. Eğer n belirtilmezse iki nokta arası lineer olarak 00 eşit parçaya ayrılır. linspace, lineer aralıklı bir vektör üretir. linspace özellikle eğri çizimlerinde ve eğri uydurma ilerinde çok yararlıdır. logspace komutunun genel sözdizimi formatı: logspace(x, x, n) şeklindedir. n, IlkDeger (x) ile SonDeger (x) arasındaki nokta sayısıdır. Eğer n belirtilmezse 0x ile 0x arası logaritmik olarak eşita aralıklı 50 satır vektörü üretir. logspace, logaritmik aralıklı bir vektör üretir ve aslında logaritmik ölçekte linspace komutunun rolunu oynar. Bir vektörde logaritmik aralıklı elemanlar özellikle üstel fonksiyonlarla (log-log ve semilog grafikler gibi) ilgili iseniz çok yararlıdır. Sistem frekans cevabı, Bode diyagramları vb gibi logaritmik ölçek gerektiren grafik çizimlerinde kullanabilirsiniz.» p = 0.:0.5: p = 0.000 0.4500 0.7000 0.9500 34 VEKTÖR İŞLEMLERİ (Devam) Utility fonksiyonlarla üretilen utility vektörler - rand fonksiyonunu kullanmak. Bazen sadece bir özelliği veya bir şeyi denemek ve durumunu gözlemek için bir sayı vektörü oluşturmak isteyebilirsiniz. İşte rand uniform olarak dağılmış rastgele sayılı vektörler üretir. rand fonksiyonu için genel sözdizimi formatı: f = a + (b-a)*rand(m,n) şeklindedir. Burada f vektörü, a ile b sayıları arasında uniform olarak dağılmış rastgele sayılardan oluşur. m ve n vektör boyutunu belirler, tabiki en az biri m= veya n= olmalıdır. m= ise n sütun sayıda satır vektörü, n= ise m satır sayıda sütun vektörü üretilir. Sadece rand komutunun kullanımı ile 0 ile arasında rastgele sayılar üretirsiniz. Örneğin a= ile b=5 arasında yani ile 5 arasında rasgele 7 sayı üretmek istiyorsanız» r = + 4*rand(,7) r =.0470 4.5756.7966.949 3.6458.376.8769 VEKTÖR İŞLEMLERİ (Devam) - ones ve zeros fonksiyonlarını kullanmak. Bu fonksiyonlardan ones ile elemanları sadece lerden oluşan, zeros ile elemanları sadece 0 lardan oluşan bir vektör üretilir. Genellikle ones, aynı değerli bir vektör oluşturmak için; zeros ise script ve fonksiyon işletimini hızlandırmak için kullanılır. ones fonksiyonu için genel sözdizimi formatı: f = k*ones(m,n) veya f = k*ones[m,n] şeklindedir. Burada m ve n vektör boyutunu belirler, tabiki en az biri m= veya n= olmalıdır. m= ise n sütun sayıda satır vektörü, n= ise m satır sayıda sütun vektörü üretilir. k= için elemanları sadece olan vektör, kve 0 için elemanları k olan bir vektör elde edilir. zeros fonksiyonu için genel sözdizimi formatı: f = zeros(m,n) veya f = zeros[m,n] şeklindedir. Burada m ve n vektör boyutunu belirler, tabiki en az biri m= veya n= olmalıdır. m= ise n sütun sayıda sıfırlardan oluşan satır vektörü, n= ise m satır sayıda sıfırlardan oluşan sütun vektörü üretilir.» dortler = 4*ones(,4) dortler = 4.00 4.00 4.00 4.00» V_sıfır = zeros(,4) V_sifir = 0 0 0 0 VEKTÖR İŞLEMLERİ (Devam) Vektör Bilgilerini Elde Etmek (bir f vektörü için) size(f): komutu vektörün xn veya nx olarak kaç n boyutunda olduğunu verir. Size komutunun ilk değeri satır sayısını son değeri sutun sayısı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österir. Bu komut yerine max(size(a)) komutu da kullanılabilir. f(n): komutu vektörün n. elemanını (n=,,3,...) gösterir. f(5), f vektörünün 5. elemanını gösterir. f(:5): komutu vektörün ilk beş elemanını gösterir. Bir vektörün ilk elemanı örneğimizdeki f vektörü için f() ile ve son terimi f(length(f)) ile bulunur. >> f=[ 3 5 0-8] f = 3 5 0-8 >> size(f) 6 >> length(f) 6 >> f(3) >> f(,4) 5 35 36 9

MATRİSLER Matlab de matrisleri oluşturmanın üç temel yolu vardır:. Direkt olarak (köşeli parantez [ ] kullanma). Utility fonksiyonlar kullanarak (eye, ones, zeros, rand, randn komutlarıyla) 3. Özel matrisler (pascal, hilbert vb fonksiyonlarla). 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 fonksiyonlar kullanarak (rand, ones, zeros, eye komutlarıyla) matris oluşturma a) rand fonksiyonunu kullanmak. Bazen sadece bir özelliği veya bir şeyi denemek ve durumunu gözlemek için rastgele sayılardan oluşmus bir matris oluşturabilirsiniz. İşte rand uniform olarak dağılmış rastgele sayılı matrisler üretir. rand fonksiyonu için genel sözdizimi formatı: F = a + (b-a)*rand(m,n) şeklindedir. Burada F matrisi, a ile b sayıları arasında uniform olarak dağılmış rastgele sayılardan oluşur ve mxn, matris boyutunu belirler. Sadece rand(k) komutunun kullanımı ile kxk boyutunda 0 ile arasında rastgele sayılı matris üretirsiniz. Diğer bir ifade ile rand(k) ile rand(k,k) aynı işleve sahiptir. Örneğin a=-5 ile b=5 arasında yani -5 ile +5 arasında rasgele sayılı x4 (iki satır 4 sütunlu) bir matris üretmek istiyorsanız >> a = -5 + 0*rand(,4) a = 4.503.0684 3.930-0.4353 -.6886-0.40.60-4.850 37 38 MATRİSLER (Devam). Utility fonksiyonlar kullanarak (rand, ones, zeros, eye komutlarıyla) matris oluşturma b) ones ve zeros fonksiyonlarını kullanmak. Bu fonksiyonlardan ones ile elemanları sadece lerden oluşan, zeros ile elemanları sadece 0 lardan oluşan matrisler üretilir. ones fonksiyonu için genel sözdizimi formatı: F = k*ones(m,n) veya F = k*ones([m,n]) şeklindedir. Burada mxn matris boyutunu belirler. F matrisi, k= için elemanları sadece olan vektör, k ve k0 için elemanları k olan mxn boyutunda bir matris gösterir. ones(t), tüm elemanları olan boyutu txt olan kare matris üretir. >> e=ones(3) e = >> e=ones(,3) e = 3x3 boyutunda her bir elemanı olan kare matris üretir. x3 boyutunda her bir elemanı olan bir matris üretir.. MATRİSLER (Devam). Utility fonksiyonlar kullanarak (rand, ones, zeros, eye komutlarıyla) matris oluşturma zeros fonksiyonu için genel sözdizimi formatı: F = zeros(m,n) veya F = zeros([m,n]) şeklindedir. Burada mxn matris boyutunu belirler ve F, elemanları sadece 0 olan mxn boyutunda bir matris gösterir. ones(t), tüm elemanları olan boyutu txt olan kare matris üretir. zeros(t), tüm elemanları 0 olan boyutu txt olan kare matris üretir. Genellikle ones, aynı değerli bir matris oluşturmak ve bazı işlemlerde yardımcı bir araç olarak ; zeros ise script ve fonksiyon işletimini hızlandırmak, mühendislik işlemlerinde sparce matris oluşturmak ve yine bazı işlemlerde yardımcı araç olarak kullanılır.. >> g=zeros(3) g = 0 0 0 0 0 0 0 0 0 >> g=zeros(,3) g = 0 0 0 0 0 0 3x3 boyutunda her bir elemanı 0 olan kare matris üretir. x3 boyutunda her bir elemanı 0 olan bir matris üretir.. 39 40 0

MATRİSLER (Devam). Utility fonksiyonlar kullanarak (rand, ones, zeros, eye komutlarıyla) matris oluşturma c) eye fonksiyonunu kullanmak. Bu fonksiyon ile birim matris oluşturulur. Bilindiği gibi birim matris, birinci köşegeni olan diğer tüm elemanları 0 olan bir matristir. Genelde büyük I harfi ile temsil edilir. eye fonksiyonu için genel sözdizimi formatı: F = eye(m,n) veya F = eye([m,n]) şeklindedir. Burada mxn matris boyutunu belirler. eye(t), boyutu txt olan kare matris üretir. Birim matris genelde kare matris olarak kullanılır. >> I=eye(3) >> I=eye(,3) I = 0 0 0 0 0 0 I = 0 0 0 0 MATRİSLER (Devam) 3. Özel matrisler (pascal, magic, hilbert, spiral, meshgrid vb fonksiyonlarla) oluşturma a) pascal(k) fonksiyonu: Pascal üçgeni elemanlarından oluşur. b) magic(k) fonksiyonu: kxk boyutunda den k ye kadar sayılardan oluşan k= hariç eşit satır, sütun ve diagonal toplamına sahip bir kare matris oluşturur. c) hilb(k) fonksiyonu kxk boyutunda her bir elemanı /(i+j-) ile belirlenen hilbert matrisi olarak adlandırılan bir kare matris oluşturur. Matrisin genel elemanı hilb(ij) olup i satır,j sütun numarasını gösterir. >> pascal(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 4 4 MATRİS BİLGİ ALMA FONKSİYONLARI Matlab da yerleşik bazı matrisler ilgili fonksiyonlar ile matrisler hakkında bilgi alabiliriz. Bu bilgiler arasında matrisin determinat ı, rank ı, matrisin boyutu, matrisin veri özellikleri, diagonel elemanları vb. sayılabilir. A 3 matrisi üzerinde bazı işlemler yapalım. 4 5 6 7 8 >> A=[ 4 7; 5 8;3 6 ] A = 4 7 5 8 3 6 MATRİS BİLGİ ALMA FONKSİYONLARI Matrisin transpozesi : Bir A matrisinin transpozesi A' ile bulunur. ' transpoze operatörü ile matrisin satır ve sütunları yer değiştirir. (A')'=A dır yani transpozenin transpozesi matrisin kendisidir. Ayrıca transpose(a) komutu ilede bulunur. >> TranspozeA=A' TranspozeA = 3 4 5 6 7 8 Matrisin determinantı: Bir A matrisinin determinantı det(a) fonksiyonu ile bulunur. Matris, kare matris olmalıdır.. >> DeterminantA=det(A) DeterminantA = 4 43 44

MATRİS BİLGİ ALMA FONKSİYONLARI (Devam) Matrisin tersi: Bir A matrisinin tersi inv(a) fonksiyonu ile bulunur. Matris, tekil (singular) ve kare (square) matris olmalıdır. Konu dışı olmakla beraber karesel olmayan matrislerin tersini alabilmek için pinv komutu kullanılır. MATRİS BİLGİ ALMA FONKSİYONLARI (Devam) Matrisin tersi: Bir A matrisinin tersi inv(a) fonksiyonu ile bulunur. Matris, tekil (singular) ve kare (square) matris olmalıdır. Konu dışı olmakla beraber karesel olmayan matrislerin tersini alabilmek için pinv komutu kullanılır. >> A=[ 4 7; 5 8;3 6 ] A = 4 7 5 8 3 6 >> TersA=inv(A) TersA = -.797.5833-0.50 0.967-0.8333 0.500-0.50 0.500-0.50 >> A=[ 4 7; 5 8;3 6 ] A = 4 7 5 8 3 6 >> TersA=inv(A) TersA = -.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 is singular to working precision. (Type "warning off MATLAB:singularMatrix" to suppress this warning.) Inf Inf Inf Inf Inf Inf Inf Inf Inf >> det(b) 0 45 46 MATRİS BİLGİ ALMA FONKSİYONLARI (Devam) Matrisin rankı: Bir A matrisinin rankı rank(a) fonksiyonu ile bulunur. >> A=[ 4 7;- 5-8;3 6 ]; >> ranka=rank(a) ranka = 3 Matrisin boyutu: Bir A matrisinin boyutu yani kaça kaç olduğu size(a) fonksiyonu ile bulunur. Verilen cevapta yan yana iki sayıdan birincisi satır sayısını, ikincisi sütun sayısını gösterir.» A = [ 4 7; - 5-8; 3 6 ];» boyuta=size(a) boyuta = 3 3 MATRİS BİLGİ ALMA FONKSİYONLARI (Devam) Matrisin diagonel elemanları: Matrisin özdeğerleri ve özvektörleri: Bir A matrisinin ana diagonel Matrisin öz değerleri ve özvektörleri eig(a) elemanları diag(a) fonksiyonu ile fonksiyonu 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 47 48

MATRİS İNDEKSLEME VE KOLON (:) NOTASYONU Bir A matrisini düşünürsek A(k) gösterimi k=,... olmak üzere k. elemanını verir. Eleman sırası ilk sütun elemanlarından başlar ikinci sütun elemanları vb şeklinde devam eder. A(i,j) gösterimi i. satır j. sütun elemanını verir. A(i:j) gösterimi eleman sırası ilk sütun elemanlarından başlayarak i. eleman ile j. eleman arasındaki elemanları verir yani [A(i) A(i+)... A(j)] şeklinde bir vektör oluşturur. A(:,j) gösterimi A matrisinin j. sütununu verir. A(:,i:j) gösterimi [A(:,i);A(:,i+);...;A(:,j)] şeklinde i. sütundan j. sütuna kadar sütunlardan oluşan bir alt matris verir. A(i,:) gösterimi A matrisinin i. satırını verir. A(i:j,:) gösterimi [A(i,:);A(i+,:);...;A(j,:)] şeklinde i. satırdan j. satıra kadar satırlardan oluşan bir alt matris verir. MATRİS İNDEKSLEME VE KOLON (:) NOTASYONU Örnek olarak yandaki 5x5 boyutlu yani 5 elemanlı A matrisi ü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 49 50 İKİ BOYUTLU GRAFİKLER Matlab da en basit 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 sayılar x-ekseni (absis) üzerinde Y deki sayılar y-ekseni (ordinat) üzerinde olsun. Plot komutu X in her noktası 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 sonra da tüm bu noktalar birleştirilecektir. Plot komutunun nasıl bir işlem yaptığını bir örnek üzerinde görelim. Önce iki basit vektör oluşturalım: >> 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-eksenini adlandırır. Genelde text, data adı ve/veya birimi olur. Grafiğin y-eksenini 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 İKİ BOYUTLU GRAFİKLER (Devam) Matlab da en basit 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 sayılar x-ekseni (absis) üzerinde Y deki sayılar y-ekseni (ordinat) üzerinde olsun. Plot komutu X in her noktası 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 sonra da tüm bu noktalar birleştirilecektir. Plot komutunun nasıl bir işlem yaptığını bir örnek üzerinde görelim. Önce iki basit vektör oluşturalım: >> 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 ) Grafiğin x-eksenini adlandırır. Genelde text, data adı ve/veya birimi olur. ylabel ( text ) Grafiğin y-eksenini adlandırır. Genelde text, data adı ve/veya title ( text ) Grafiği adlandırır yani grafiğe başlık verir. grid Klavuz çizgilerini görüntüler 5 5 3

ÇİZGİ ve İŞARETLEME SEÇENEKLERİ ÇİZGİ ve İŞARETLEME SEÇENEKLERİ (Devam) Çizimin görünümünü değiştirmek isterseniz Matlab da bir çok çeşitli seçenekler vardır. Çizimin rengini, işaretleyici sembolu ve çizgi tipini kendiniz belirleyebilirsiniz. Bu işlemin genel komutu plot(x,y, s ) şeklindedir. Burada x ve y veri vektörlerinden sonra gelen üçüncü argüman olan kesme işaretleri arasında yer alan s, Aşağıda verilen tablolardaki sütundan (renk, işaretleyici sembolü, çizgi tipi) herhangi biri ya da hepsinin bir kombinasyonu olabilir. Bu üçüncü argümanın kullanımı sadece isteğ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 istediğinizde işaretleyiciler iyi bir seçenek olabilir. Ayrıca birden fazla grafiği aynı düzlemde göstermek istediğinizde de bazı s kombinasyonlarını kullanmak zorunlu olabilir. Color (Renk) Blue (Mavi) Green (Yesil) Red (Kirmizi) Cyan (Turkuaz) Magenta (Mor) Yellow (sari) Black (Siyah) White (Beyaz) Line style (Cizgi tipi) Solid (Duz cizgi) Dashed (Kesikli cizgi) Dotted (Noktali cizgi) Dash-dot (Kesikli-niktalicizgi) plot(x,y, s ) Indicator b g r c m y k w Indicator - -- : -. Marker symbol (Isaretleyici sembolu) Point (Nokta) Plus (Arti) Star (Yildiz) Circle (Daire) x-mark (x isareti) Square (Kare) Diamond (Elmas) triangle (down) (Asagi bakan ucgen) triangle (up) (Yukari bakan ucgen) triangle (left) (Sola bakan ucgen) triangle (right) (saga bakan ucgen) Pentagram (Besgen) Hexagram (Altigen) Indicator. + * o x s d v ^ < > p h 53 54 GRAFİĞE YENİ GRAFİK EKLEMEK Bazı zamanlar varolan çizilmiş bir grafiğin üzerine başka bir grafik eklemek isteyebilirsiniz. Üst üste 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) serbest bırakır Grafik başlıkları, eksen adlandırmaları ve göstergeler için hold on komutunu kullanmaya gerek yoktur. Hold on komutu bir önceki grafiği dondurur ve aynı düzlemde diğer grafiklerin çizilmesine izin verir ve plot komutu ile çizilecek olan ikinci grafik bir önceki geçerli eksenleri kullanır. Ancak eğer çizilecek ikinci grafiğin eksen scalası daha geniş ise ona göre otomatik olarak ayarlama yapar. GRAFİĞE GÖSTERGE EKLEME (LEGEND KOMUTU) İŞLEMLERİ Gösterge eklemek için kullanılan komut legend komutudur. Genel format dizimi: legend(string,string,string3,..., Pos) şeklindedir. legend(string, string, string3,... ) komut dizimi gösterge kutusunu, varsayılan olarak grafiğin sağ üst köşesine yerleştirir. Genel komut dizimindeki Pos (Position demektir) ifadesi, gösterge kutusunu belirlenmiş bir konuma yerleştirir. Pos ifadesinin alacağı değerler şunlardır: t = 0:pi/00:*pi; y = sin(t); y = sin(t-0.5); y3 = sin(t+0.5); plot(t,y,t,y,t,y3) xlabel('t'); title('ötelenmis Sinüs Fonksiyonlari'); legend('sin(t)','sin(t-0.5)','sin(t+0.5)',0) 0 = Otomatik en iyi yer = Sağ üst köşe (varsayılan değer) = Sol üst köşe 3 = Sol alt köşe 4 = Sol sağ köşe - = Grafiğin sağına yerleştirir Bunların dışında gösterge kutusunun üzerinde iken fare işaretcisinin sol tuşuna basarak ki bu durumda dört yönlü bir ok çıkar- elle istediğiniz yere taşıyabilir. Ayrıca gösterge kutusunu çift tıklayarak etiket düzenlemesi de yapabilirsiniz. legend off: komutu ise gösterge kutusunu yerleştirilen yerden kaldırır. 55 56 4

GRAFİĞE GÖSTERGE EKLEME (LEGEND KOMUTU) İŞLEMLERİ (Devam) t = 0:pi/00:*pi; y = sin(t); y = sin(t-0.5); y3 = sin(t+0.5); plot(t,y,t,y,t,y3) xlabel('t'); title('ötelenmis Sinüs Fonksiyonlari'); legend('sin(t)','sin(t-0.5)','sin(t+0.5)',0) 57 5