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

Benzer belgeler
Fen ve Mühendislik Uygulamalarında MATLAB

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Bilgisayar Programlama

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. Vektör ve Matris İşlemleri

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

Bilgisayar Programlama MATLAB

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

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

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

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Ş (

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

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

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

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

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

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

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

Matlab da Dizi ve Matrisler. Mustafa Coşar

BİL-142 Bilgisayar Programlama II

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

Fen ve Mühendislik Uygulamaları ile MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA DERSİ

BM202 SAYISAL ÇÖZÜMLEME

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

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

DENEY 1: Matlab de Temel Uygulamalar

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

Bilgisayar Programlama MATLAB

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Genel Programlama II

MatLab. Mustafa Coşar

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

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Eln 1002 Bilgisayar Programlama II

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

Değişken atama Kullanıcıdan veri girişi istendiğinde kullanılır. 1. Bir değişkene değer atama (örn: a=4 gibi) 2. Klavyeden veri girme

I=[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1] % 4x4 lük birim matris

1- Temel MATLAB Fonksiyonları ve Programlama

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

MatLab. Mustafa Coşar

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Bilgisayar Programlama MATLAB

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

Bölüm: Matlab e Giriş.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Dr. Fatih AY Tel:

Ders 1 : MATLAB Programlama Ortamı

Verimlilik İçin ETKİN BİLGİ YÖNETİMİ KENDİ FONKSİYONUMUZU YAZALIM

ALGORİTMA VE PROGRAMLAMA II

Hafta 13 Fonksiyonlar

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

BİLGİSAYAR PROGRAMLAMA DERSİ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

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

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

R ile Programlamaya Giriş ve Uygulamalar

İşletme Fakültesi Bil. Kullanımı Ders notları 2

2.3. MATRİSLER Matris Tanımlama

MATLAB ile ANALİZ (MIA)

Temel Excel Kullanım Bilgisi

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

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

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

1. GİRİŞ Kılavuzun amacı. Bu bölümde;

MATLAB de Programlama & Dosya Yönetimi. EE-346 Hafta 6 Dr. Ayşe DEMİRHAN

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

Internet Programming II

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

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

Aktif Dizin Logon/Logoff Script Ayarları Versiyon

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

ELEKTRA LOGO AKTARIM PROGRAMI...3

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

fprintf ( Ekranda Görüntülenen Mesaj )

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

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

Özyineleme (Recursion)

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

FONKSİYONLARIN TABLO ŞEKLİNDE HESAPLANMASI

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

C Konsol ve Komut Satırı

HSancak Nesne Tabanlı Programlama I Ders Notları

Yukarıdaki fonksiyonun anlamı: Bulunulan hücreye, B2 hücresinden B17 hücresine kadar olan hücreleri toplam ve yaz.

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

Transkript:

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

3. Hafta Ders İçeriği M Dosyası Oluşturma Fonksiyon Yazma

Fonksiyonlar ve Alt Programlar MATLAB bir çok hazır fonksiyon içermektedir (sqrt, sum vb.) Fonksiyonları oluşturan kodlar yerine bu fonksiyonları çağıran komutlar kullanılmaktadır. Yazdığınız programda bir dizi MATLAB komutu sıklıkla tekrar ediyorsa, bu komutların fonksiyon yapısı altında bir araya getirilip bir isim verilerek kullanılması daha uygundur. 3

M-Dosya Yapısı Senaryo dosyaları (scriptfile) özel görevlerin yerine getirilmesi için gerekli olan MATLAB komutlarının saklandığı metin dosyalarıdır. Belirli bir hesaplamayı gerçekleştirmek için komut penceresinden çok sayıda komut yazmak yerine komutlar script dosyasında saklanır ve daha sonra bu dosya çalıştırılarak komutlar yerine getirilir. Bu dosyalar MATLAB ın çalıştığı dizinde "*.m" dosya uzantısıyla kayıt edilmelidir. M-dosyalarının oluşturulması ve düzenlenmesi için MATLAB metin editörü arabirimi (text editor) ya da Windows Notepad gibi metin düzenleme yazılımı da kullanılabilir. MATLAB metin hazırlayıcısı ya komut penceresinin üst kısmında yer alan NewM-file düğmesi tıklanır ya da File menüsünden New/Mfile komutu seçerek etkin hale getirilebilir. 4

5

Neden M-Dosyalarına İhtiyaç Duyuyoruz? Değişken sayısının fazla olması Akış diyagramlarının uygulanmasında Programda gerekli değişikliklerin kolayca yapılmasında M-Dosyalarının Kullanılmasında Dikkat Edilecek Hususlar M-dosyası çalışma klasörü olarak tanımlanan klasörde bulunmalıdır. MATLAB in Çalışma Dizini (CurrentFolder) altında "DosyaAdi.m" şeklinde saklanmaları gerekir. M-dosyasına isim verilirken kesinlikle Türkçe karakter kullanılmamalıdır. M-dosyasına isim verilirken MATLAB in hazır komutları (pi, exp, sin ve vs.) verilmemelidir. 6

Alt Programlar Alt programları fonksiyonlardan ayıran en önemli özelliği, çağıran programa, parametre listesindeki değişkenler aracılığıyla birden çok sonuç değeri gönderebilmeleri ve bağımsız bir komut ile çalıştırılmalarıdır. Alt programlar, başka bir prosedür içinden Call komutu ile çağrılırlar. 7

M-fonksiyon yapısı function cikis_ifadesi1, 2,, n =fonksiyon_adi (giris_ifadesi1, 2, n) M-Fonksiyonlar kullanılırken dikkat edilecek hususlar: 1- Kullanıcılar kendi fonksiyonlarını yazmak için m-fonksiyonlarını kullanabilirler. 2- Function alt programı ve ana program şeklinde iki program yazılarak bu iki program ayrı ayrı kaydedilir. 3- Alt programdaki fonksiyon_adı, m-dosyasına verilen isimle aynı olmalıdır. 4- Ana programdan alt program, function adı kullanılarak çağrılır. 5- Alt programdan da ana programa geçiş yapılabilir fakat genelde tercih edileni tersidir. 6- Parametre aktarımı olması durumunda alt ve ana programda eşit sayıda parametre ve giriş değişkeni olmalıdır. 8

function cikis_ifadesi1, 2,, n =fonksiyon_adi (giris_ifadesi1, 2, n) Örnek: İki nokta arasındaki uzaklığı bulan programı m-fonksiyon (alt program) kullanarak yazınız. x1=1.noktanın x koordinati; x2=2.noktanın x koordinati y1=1.noktanın y koordinati; y2=2.noktanın y koordinati FUNCTION ALT PROGRAMI (uzak.m): function uzaklik = uzak(x1,y1,x2,y2) uzaklik=sqrt((x2-x1).^2+(y2-y1).^2); Bu function alt programı uzak.m olarak kaydedilir. ANA PROGRAM: ax=3; ay=4; bx=1; by=2; sonuc = uzak(ax,ay,bx,by); % uzak.m alt programını çağırıyor fprintf( iki nokta arasindaki uzaklık=%f,uzaklik); 9

Adım adım gerçekleştirilen işlemler: Ana program herhangi bir isimle kaydedilip çalıştırılır. Program, function adına geldiğinde alt program çağrılır ve ax, ay, bx, by parametreleri sırasıyla x1, y1, x2, y2 giriş değişkenlerine aktarılır. Function alt programında hesaplama gerçekleştirilir. Function daki çıkış değişkeni olan uzaklik ana programda sonuc değişkeninde saklanır. Alt programdan ana programa parametre aktarımı zorunlu değildir. İstenirse değişkenlerin değerleri alt programda da girilebilir ve sonuç alt programda yazdırılabilir. 10

Uygulama: Yukarıdaki örneği ana programdan alt programa parameter aktarımı yapmadan yeniden yazınız. (Değişkenlerin girilmesi, sonucu hesaplama ve yazdırma işlemi alt programda yapılacaktır) FUNCTION ALT PROGRAMI: function uzaklik = uzak x1=3; y1=4; x2=1; y2=2; uzaklik=sqrt((x2-x1).^2+(y2-y1).^2); fprintf( iki nokta arasindaki uzaklık=%f, uzaklik); ANA PROGRAM: uzak; % uzak.m alt programını çağırıyor 11

Alt Programdan Ana Programın Çağrılması Örnek: a, b ve c değişkenlerinin alt programda girilmek suretiyle alt programdan ana programın çağrılmasına dair örnek (Sık kullanılmaz) function sonuc = sonuckiyasla a=input( a = ) ; b=input( b= ) ; c=input( c= ); d=a*b; e=a*c; f=b*c; Alt program (sonuckiyasla.m) kiyasla % kiyasla.m ana programını çağırır 12

MATLAB Bilgilerinin Saklanması Yapılan çalışmaları saklamak için diary, save as komutları, bilgisayar ortamında saklı bir bilgiyi çağırmak için ise load ve import data komutları kullanılır. Komut diary (dosya adı) diary off diary on Açıklama MATLAB ortamında o anda bulunan tüm text leri (>> işaretleri hariç) belirtilen dosyaya (bu dosyanın adı diary komutundan sonra yazılır) kaydeder. Eğer dosya adı belirtilmez ise dosya adı diary olarak kaydedilir. diary işlemini askıya alır. diary işlemine geri döner. 13

diary komutu diary off komutu kullanılmaz ise komut penceresinde kullanılan her satır yamuk_alan.m adlı dosyaya kaydedilmeye devam edecektir. yamuk_alan.m adlı dosya tekrar görüntülenmek istenirse type komutu kullanılır. 14

save komutu save komutundan sonra dosya adı ve boşluk bırakılarak saklanacak değişken adları sırası ile yazılır ve.mat dosya uzantısı ile kayıt edilir. 15

save as komutu 16

Import Data komutu ile MATLAB dosyalarının okunması 17

MATLAB de Vektör ve Matris Gösterimi MATLAB ortamında her değişken ya bir vektör yada bir matristir. Örneğin a=2 yazıldığında, a sayısı MATLAB arka planında 1 1 boyutunda bir matris olarak saklanır. Eğer söz konusu bir sayı değil de sayı dizisi ise satır veya sütun vektörü olarak saklanır. 18

(:) operatörü kullanarak vektör elde edilmesi başlangıç değeri:artış değeri:son değer [başlangıç değeri:artış değeri:son değer] 19

Mevcut bir vektörün elemanlarını kullanarak başka vektör elde edilmesi B vektörünün elemanları; A nın 3 numaralı elemanından 1 er artış ile 7 numaralı elemana kadar yazılması ile elde edilmektedir. linspace komutu kullanarak vektör üretilmesi artış = son değer başlangıç değeri toplam sayı 1 artış= 11 0 9 1 =1.375 20

Özel Vektör Yapıları zeros(1,n) : Tüm elemanları sıfır olan n elemanlı satır vektör. ones(1,n) : Tüm elemanları bir olan n elemanlı satır vektör. eye(n,n) rand(1,n) : n elemanlı birim matris. : 0 ile 1 arasında üniform rastgele üretilmiş n elemanlı vektör randn(1,n) : Ortalaması 0 ve standart sapması 1 olan normal dağılımlı üretilmiş n elemanlı vektör. «21

prod komutu prod(x) : Vektörün elemanlarını birbiriyle çarpar 22

sign komutu sign(x) : Vektörün pozitif elemanlarını 1, negatif elemanları için -1, 0 olan elemanları için 0 sonucunu verir. «23

fix komutu fix(y) : Sıfıra doğru yuvarlama işlemi yapar. «24

floor, ceil, round ve sort komutları floor(y) : sonsuza doğru yuvarlama işlemi yapar. ceil(y) : + sonsuza doğru yuvarlama yapar. round : Kendisine en yakın sayıya yuvarlama işlemi Sort : Vektörün elemanlarını küçükten büyüğe sıralar. «25

Vektör ve Matris Transpozesi Matlab da bir vektörün tranzpozesini alma işlemi satır ve sütunların yer değiştirmesi durumudur. Yani satır vektör olarak tanımlanmış bir x vektörü x ifadesi ile sütun vektöre çevrilmiş olur. xt=x 26

Yararlanılan Kaynaklar İ. Kaymaz, Bilgisayar Programlama MATLAB, Ders Notları, Erzurum, 2010. B. R. Hunt, R. L. Lipsman, J. M. Rosenberg, A Guide to MATLAB for Beginners and Experienced Users. U. Arifoğlu, MATLAB 9.1 Simulink ve Mühendislik Uygulamaları, 1. baskı, 2016. M. Coşar, MATLAB, Ders Notları, Çorum. A. Dumlu, Bilgisayar Programlama, Ders Notları, Erzurum. 27