MATLAB’ de Programlama

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 11 Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama
Advertisements

String fonksiyonları:
Matlab’da Diziler; Vektörler ve Matrisler
Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama Güz 2011
EKRAN ÇIKTISI.
Bilgisayar Programlama Güz 2011
MATLAB MATLAB İLE GRAFİK.
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
Ayrık Yapılar Matlab Notları
Bilgisayar Programlama Güz 2011
2) Sayısal Hesaplamalarda Gerek Duyulabilecek Matlab İşlemleri
MATLAB’de Diziler; Vektörler ve MAtrisler
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
Fonksiyonlar ve Alt Programlar
Çoklu Denklem Sistemleri
MATLAB’ de Programlama XII Hafta 12 Matlab Ders Notları.
12. HAFTA Mayıs 2010.
MATLAB’ de Programlama
PHP-Dosya ve Dizinler Internet Tabanlı Programlama Dr. Erman Yukselturk.
DOSYA İŞLEMLERİ.
Makine Müh. & Jeoloji Müh.
Erişim Denetimi, Fonksiyon
Fonksiyonlar.
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
Bilgisayar Programlama Güz 2011
8. VİSUAL BASİC İLE TEMEL DOSYALAMA İŞLEMLERİ
MATLAB’ de Programlama
DOSYA İŞLEMLERİ.
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
MATLAB’te Döngüler.
Fscanf fonksiyonu fscanf () : Dosyadan bilgiyi okumak ve değişkenlere aktarmak için kullanılır. int fscanf(FILE *dosya, char* format, değişken adres listesi);
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
Göğüşhan KILIÇ twitter.com/gogushan_kilic PHP’ye Giriş OLMAYA HAZIR MIYIZ?
MATLAB’ de Programlama
Göğüşhan KILIÇ twitter.com/gogushan_kilic OLMAYA HAZIR MIYIZ?
MATLAB’ de Programlama
Bilgisayar Programlama Güz 2011
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
4. Hafta1 4. HAFTA. 4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama.
BİLGİSAYAR programlama II
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Sayısal Analiz / Uygulama
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi.
5. HAFTA Mart Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.
9. HAFTA 25 Nisan2016. Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda “function” kelimesi bulunan “.m” uzantısı bulunan dosyalardır. MATLAB içinde.
DİJİTAL GÖRÜNTÜ İŞLEME Y. Doç. Dr. Esra Tunç Görmüş
BİLGİSAYAR PROGRAMLAMA DERSİ 7. DERS NOTU Konu: Dosya Yönetim.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
Fonksiyonlar ve Diziler
MATLAB R2013’e Giriş.
BİLGİSAYAR PROGRAMLAMA Ders 10: Dosyalama İşlemleri
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Hafta9 Morfolojik işlemler
BM-103 Programlamaya Giriş Güz 2012 (6. Sunu)
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
Bilgisayar Programlamasına ve Veri Analizine Giriş
BM-103 Programlamaya Giriş Güz 2016 (6. Sunu)
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
Discussion: comp.soft-sys.matlab
Sunum transkripti:

MATLAB’ de Programlama IX-X Hafta 9-10 Matlab Ders Notları

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. Hafta 9-10 Matlab Ders Notları

function uzaklik = uzak(x1,y1,x2,y2) 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); Hafta 9-10 Matlab Ders Notları

Adım adım gerçekleştirilen işlemler: Ana program herhangi bir isimle kaydedilir ve koşturulur. Program, function adına (uzak) geldiği zaman 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 alt programda kullaılmakta ana programda aynı değer 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. Hafta 9-10 Matlab Ders Notları

Uygulama: Yukarıdaki örneği ana programdan alt programa parametre 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 Hafta 9-10 Matlab Ders Notları

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; kiyasla % kiyasla.m ana programını çağırır Alt program (sonuckiyasla.m) if d>e sonuc=‘d, e den büyüktür’ elseif d>f sonuc=‘d, f den büyüktür’ else sonuc=‘d, en küçüktür’ end Ana program (kiyasla.m) Hafta 9-10 Matlab Ders Notları

ÖDEV: Dışarıdan girilen x ve y değerlerine göre aşağıdaki fonksiyonun değerini hesaplayan bir program yazınız (M-fonksiyonu kullanınız) Hafta 9-10 Matlab Ders Notları

DOSYA YÖNETİMİ Şu ana kadar bir programda hesaplanan veya elde edilen veriler RAM’de saklanacak şekilde tanımlanmıştı. Yani, bilgisayar kapatıldığında veya MATLAB programı sona erdirildiğinde veriler de kaybolmaktaydı. Oysa pek çok uygulamada elde edilen veriler daha sonra kullanılmak üzere saklanması gerekir. Bunun için verilerin bir dosyaya yazılması gerekmektedir. Hafta 9-10 Matlab Ders Notları

MATLAB ’de VERİ GİRİŞ-ÇIKIŞ FONKSİYONLARI Dosya açma: fopen fopen komutu bilgi kaydetmek için veri dosyası açar veya oluşturur. Yazım formatı: İfade = fopen(‘dosya adı’,’izin’) Burada: ifade-> dosya değişkeni dosya adı->verilerin kaydedileceği dosyanın adı izin-> dosyanın kullanım izni : r,w,.., vs. Hafta 9-10 Matlab Ders Notları

İzin Tipleri: Tipler Açıklama ‘r’ Dosyayı sadece okumaya açar (yazmaya izin vermez) ‘r+’ Dosyayı yazmaya ve okumaya açar ‘w’ Varolan bir veri dosyasının içindekini siler, dosya yoksa oluşturur ve dosyayı yazmaya açar ‘w+’ Varolan bir veri dosyasını yazmak için açar, dosya yoksa oluşturur ve dosyayı okumaya ve yazmaya açar ‘a’ Varolan bir veri dosyasını yazmak için açar, dosya yoksa oluşturur ve girilecek bilgileri dosya sonuna ekler ‘a+’ Varolan bir veri dosyasını okumak ve yazmak için açar, dosya yoksa oluşturur ve girilecek bilgileri dosya sonuna ekler Hafta 9-10 Matlab Ders Notları

Dosya kapama: fclose Dosya yazma ve/veya okumaya açılan dosyanın MATLAB ’den ilişkisini kesmeye (dosyayı kapamaya) yarayan komuttur. Kullanımı: Sonuc=fclose(ifade) Hafta 9-10 Matlab Ders Notları

Dosyaya bilgilerin kaydedilmesi: fprintf Verilerin ekrana yazılmasında kullanılan fprintf fonksiyonu, aynı zamanda fopen komutuyla açılmış dosyaya yazmakta da kullanılır. Kullanımı: fprintf (ifade=‘%format%format%format….%format’,değişken1, değişken2,değişken3, …….) Hafta 9-10 Matlab Ders Notları

Örnek M=[1 2 3 4]; a=fopen('veri.dat','w'); Aşağıda verilen M dizisini (vektörünü) bir dosyaya kaydeden bir MATLAB programı yazınız For döngüsü ile: M=[1 2 3 4]; a=fopen('veri.dat','w'); fprintf (a,'%d %d %d %d',M); fclose(a); M=[1 2 3 4]; a=fopen('veri.dat','w'); for i=1:4 fprintf(a,'%d ',M(i)); end fclose(a); Hafta 9-10 Matlab Ders Notları

Örnek A=[1 5 11 ; 2 4 5]; a=fopen('veri.dat','w+'); for i=1:2 Aşağıda verilen matrisi “veri.dat” dosyasına kaydeden bir MATLAB programı yazınız. A=[1 5 11 ; 2 4 5]; a=fopen('veri.dat','w+'); for i=1:2 for j=1:3 fprintf(a,'%d ',A(i,j)); end fclose(a); veri.dat isimli dosyayı silmeden A dizisini bu sonuna eklemek için hangi ‘izin’ kulanılmalıdır? Hafta 9-10 Matlab Ders Notları

Örnek Dosyadan bilgilerin okunması: fscanf fscanf: Formatlanmış verileri içeren dosyadan değerleri okuma komutudur ve yazılımı: [değişken, sayi] = fscanf (ifade,’format’,alan) Burada; değişken: okunan değerlerin atandığı değişken sayi : okunan data sayısı alan : inf ile verilerin tamamını okunması sağlanır Örnek clear all clc a=fopen ('veri.dat', 'r' ); [b,sayi]=fscanf(a,'%d ',inf); fclose(a); b Aşağıda verilen vektörü bir dosyadan okuyup b değişkenine atayan MATLAB programı veri.dat 1 5 11 2 4 5 Hafta 9-10 Matlab Ders Notları

uygulama Dışardan girilen öğrenci no ve döneme ait aldığı ders isimlerini ve notunu kaydeden bir MATLAB programı yazınız Hafta 9-10 Matlab Ders Notları