Fen ve Mühendislik Uygulamalarında MATLAB



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

Bilgisayar Programlama MATLAB

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

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

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

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

Fen ve Mühendislik Uygulamaları ile MATLAB

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

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

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Final Sınavı Soru Toplam Puanlar

Bilgisayar Programlama

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ

MATLAB ile ANALİZ (MIA)

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Genel Programlama II

Fen ve Mühendislik Uygulamaları ile MATLAB

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

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

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

ALGORİTMA VE PROGRAMLAMA II

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

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

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

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

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

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

ALGORİTMA VE PROGRAMLAMA II

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

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

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

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

Temel Bilgisayar Programlama

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB

Eln 1002 Bilgisayar Programlama II

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayar Programlama MATLAB

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

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

BM202 SAYISAL ÇÖZÜMLEME

DOSYA İŞLEMLERİ Programlama dilleri hafta -

Yrd. Doç. Dr. Caner ÖZCAN

Bilgisayar Programlama MATLAB

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

BİLGİSAYAR PROGRAMLAMA MATLAB

Bölüm: Matlab e Giriş.

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

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Matlab da Dizi ve Matrisler. Mustafa Coşar

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

BİLGİSAYAR PROGRAMLAMA DERSİ

BİL-142 Bilgisayar Programlama II

MATLAB/Programı Dallandıran İfadeler

BİLGİSAYAR PROGRAMLAMA DERSİ

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

MatLab. Mustafa Coşar

Fortran da kullanılan giriş çıkış komutları PRINT, WRITE ve READ dir.

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

BİL 810 İnşaat Mühendisliğinde Bilgisayar Uygulamaları

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

Temel Dosya İşlemleri. Kütük Organizasyonu 1

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

BLG 1306 Temel Bilgisayar Programlama

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

pfrintf fonksiyonu: Çıkışın formatlı olması ve bunun bir dosyaya yazdırılması durumlarında kullanılır. fprintf fonksiyonunun genel yazım biçimi,

YZM 2105 Nesneye Yönelik Programlama

Php İle Mysql Veritabanından Bilgi Çekme

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

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

VERİ TABANI ve YÖNETİMİ

Dosyalar 1.1 Dosya Nedir?

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

VTIY DERS-4 YARDIMCI NOTLARI -2018

MATLAB MATLAB MAT LAB MAT LAB MATLAB

Şekil 6.2 Çizgisel interpolasyon

Yrd. Doç. Dr. Caner ÖZCAN

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Pascal Programlama Dili

Nargin - Nargout. Bir fonksiyonda giriş parametrelerinin kontrolü Nargin = number of argument input

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

İnternet Programcılığı Dersi 2.Dönem Ders Notu

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

ALGORİTMA VE PROGRAMLAMA I

MatLab. Mustafa Coşar

Parametrik doğru denklemleri 1

Transkript:

Fen ve Mühendislik Uygulamalarında MATLAB Dosya Yönetimi Fonksiyon Yapısı Doç. Dr. İrfan KAYMAZ 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 verilerde kaybolmaktaydı. Oysa pek çok uygulamada elde edilen veriler daha sonra kullanılmak üzere saklanması gerekir. Bunun için verilerin bir dosyaya yazılması gerekmektedir.

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.

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

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)

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

Örnek 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);

Örnek 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 end fclose(a); veri.dat isimli dosyayı silmeden A dizisini bu sonuna eklemek için hangi izin kulanılmalıdır?

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 Aşağıda verilen vektörü bir dosyadan okuyup b değişkenine atayan MATLAB programı veri.dat 1 5 11 2 4 5 clear all clc a=fopen ('veri.dat', 'r' ); [b,sayi]=fscanf(a,'%d ',inf); fclose(a); b

Dosyadan belirli sayıdaki bilgilerin okunması Bir Dosyadan belirli bir sayıdaki bilgilerin fscanf ile okutulması için fscanf komutu aşağıda verilen formatta kullanılır. [A,count] = fscanf(fid,format,size) Örnek Aşağıda verilen vektörün ilk iki elemanını bir dosyadan okuyup b değişkenine atayan MATLAB programı veri.dat 1 5 11 2 4 5 clear all clc a=fopen ('veri.dat', 'r' ); for i=1:2 b(i)=fscanf(a,'%d ',[1]); end fclose(a); b

Dosyadan birden fazla değişkene bilgi okunması Yanda verilen formattaki bir dosyadan bilgilerin aynı formatta okunması için: b=fopen(a, veri.dat,[2 inf] b aşağıda verilen matris formatına sahip olur: 1 3 4 5 6 7 10 12 14 15 16 18 Veri.dat 1 10 3 12 4 14 5 15 6 16 7 18 Satır vektörlerini faklı değişkenlere atamak için: c=b(1,:) d=b(2,:) Dosyadan bilgilerin direkt olarak farklı değişkenlere okutmak için a=fopen('veri.dat','r') for i=1:6 d(i)=fscanf(a,'%f',[1]); e(i)=fscanf(a,'%f',[1]); end fclose(a)

uygulama Dışardan girilen öğrenci no ve döneme ait aldığı ders isimlerini ve notunu kaydeden bir MATLAB programı yazınız.

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.

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; uzaklik = uzak(ax,ay,bx,by); % uzak.m alt programını çağırıyor fprintf( iki nokta arasindaki uzaklık=%f,uzaklik);

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 hem alt programda hem de ana programda hesaplanan sonuç değerinin aktarıldığı değişkendir. 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.

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

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)

Ö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) F(x, y) x 2 y x.y ln( x) 1 log ( y) 10 x tan( y )

Uygulama Bir data dosyasında verilen sayıları kullanarak aşağıdaki fonksiyonun değerini alt fonksiyonda hesaplayıp sonucu ana programda yazdıran bir MATLAB programı yazınız. F(x, y) x 2 y x.y ln( x) 1 log ( y) 10 x y 1 10 3 13 5 15 8 16 9 18