BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi
Bu hafta? Dosya Yönetimi Veri Giriş-Çıkış İşlemleri fopen fclose fprintf fscanf
Dosya Yönetimi Ş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.
Veri Giriş-Çıkış İşlemleri-Dosya Açma(fopen) fopen komutu bilgi kaydetmek için veri dosyası açar veya oluşturur. Yazım formatı: Burada: ifade = fopen( dosya adı, izin ) ifade-> dosya değişkeni dosya adı ->verilerin kaydedileceği dosyanın adı izin-> dosyanın kullanım izni : r,w,.., vs.
Veri Giriş-Çıkış İşlemleri-Dosya Açma(fopen) İzin Tipleri 'r' 'w' 'a' 'r+' 'w+' 'a+' Okuma için dosya açar (default). Yazma için yeni dosya açar veya oluşturur. Varsa mevcut verileri siler. Yazma için yeni dosya açar veya oluşturur. Mevcut verilere ilave eder. Okuma ve yazma için dosya açar. Okuma ve yazma için yeni dosya açar veya oluşturur. Varsa mevcut verileri siler. Okuma ve yazma için yeni dosya açar veya oluşturur. Mevcut verilere ilave eder.
Veri Giriş-Çıkış İşlemleri-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) Sonuc başarılı ise 1, değilse 0 değerini alır.
Veri Giriş-Çıkış İşlemleri-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,.)
Veri Giriş-Çıkış İşlemleri-Dosyaya Bilgilerin Kaydedilmesi(fprintf) Örnek 1: Aşağıda verilen M dizisini (vektörünü) bir dosyaya kaydeden bir MATLAB programı yazınız. for döngüsü ile:
Veri Giriş-Çıkış İşlemleri-Dosyaya Bilgilerin Kaydedilmesi(fprintf) Örnek 2: Aşağıda verilen matrisi veri.dat dosyasına kaydeden bir MATLAB programı yazınız. veri.dat isimli dosyayı silmeden, A dizisini bu dosyanın sonuna eklemek için hangi izin kullanılmalıdır?
Veri Giriş-Çıkış İşlemleri-Dosyadan Bilgilerin Okunması(fscanf) Formatlanmış verileri içeren dosyadan değerleri okuma komutudur ve yazılımı: Kullanı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
Veri Giriş-Çıkış İşlemleri-Dosyadan Bilgilerin Okunması(fscanf) Örnek 3: Aşağıda verilen vektörü bir dosyadan okuyup b değişkenine atayan MATLAB programı yazınız.
Veri Giriş-Çıkış İşlemleri-Dosyadan Belirli Sayıda 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)
Veri Giriş-Çıkış İşlemleri-Dosyadan Belirli Sayıda Bilgilerin Okunması Örnek 4: Aşağıda verilen vektörün ilk iki elemanını bir dosyadan okuyup b değişkenine atayan MATLAB programı yazınız.
Veri Giriş-Çıkış İşlemleri-Dosyadan Birden Fazda Değişkene Bilgi Okunması Yanda verilen formattaki bir dosyadan bilgilerin aynı formatta okunması için: a=fopen('veri.dat','r') b=fscanf(a, '%g %g', [2 inf]) fclose(a) b yanda verilen matris formatına sahip olur: Satır vektörlerini faklı değişkenlere atamak için: c=b(1,:) d=b(2,:)
Veri Giriş-Çıkış İşlemleri-Dosyadan Birden Fazda Değişkene Bilgi Okunması Dosyadan bilgilerin direkt olarak farklı değişkenlere okutmak için
Veri Giriş-Çıkış İşlemleri Örnek 5:
Veri Giriş-Çıkış İşlemleri Çözüm 5: işlemler
Veri Giriş-Çıkış İşlemleri Çözüm 5: Dosya Oluşturma
Veri Giriş-Çıkış İşlemleri Çözüm 5: Hepsini Birden Okutma
Veri Giriş-Çıkış İşlemleri Çözüm 5: Birer birer okutma