You are on page 1of 15

MATLAB’ de

Programlama

DOSYA YÖNETİMİ

Hafta: 8
1
Ayrık Yapılar Matlab 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.

2
Ayrık Yapılar Matlab Notları
help iofun Dosya yönetiminde de kullanılan
komutlar hakkında bilgi verir
diary dosya_adi Komut yazıldıktan sonra ortamda
bulunan tüm textleri belirtilen
dosyaya kaydeder.
diary off Diary işlemini askıya alır.
diary on Diary işlemine geri döner.

type dosya_adi Dosyayı ekranda gösterir.

save dosya_adi Değişkenleri dosyaya kaydeder.

load dosya_adi Dosyayı matlab ortamına getirir.

3
Ayrık Yapılar Matlab Notları
A=csvread(‘dosya_adi’,c,r)

Dosya içinde birbirlerinden virgülle ayrılmış olan


sayıların A matrisine atanması sağlanır.
c: Aktarılmayacak satır sayısı
r: Aktarılmayacak sütun sayısı

A=csvwrite(‘dosya_adi’,A)

A matrisindeki değerler aralarına virgül


yerleştirilerek dosyaya kaydedilr

4
Ayrık Yapılar Matlab Notları
MATLAB ’de DOSYA

YÖNETİMİ

FONKSİYONLARI

5
Ayrık Yapılar Matlab Notları
Dosya açma: fopen
fopen komutu bilgi kaydetmek için veri
dosyası açar veya oluşturur.
Yazım formatı:
dosya değişkeni= fopen(‘dosya adı’,’izin’)

izin: dosyanın kullanım izni : r,w,.., vs.

6
Ayrık Yapılar Matlab 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

7
Ayrık Yapılar Matlab Notları
Dosya kapama: fclose
fclose komutu dosya yazma ve/veya
okumaya açılan dosyanın MATLAB ’den
ilişkisini kesmeye (dosyayı kapamaya)
yarar.
Yazım formatı:
sonuc=fclose (dosya değişkeni)

8
Ayrık Yapılar Matlab Notları
Dosyaya bilgilerin
kaydedilmesi: fprintf
Verilerin ekrana yazılmasın da kullanılan
fprintf fonksiyonu, aynı zamanda fopen
komutuyla açılmış dosyaya yazmakta da
kullanılır.
Yazım formatı:
fprintf (dosya değişkeni = ‘%format
%format %format … %format’, değişken1,
değişken2,değişken3,…değişken_n)
9
Ayrık Yapılar Matlab Notları
fprintf komutunda kullanılan
karakterler
fprintf.htm

10
Ayrık Yapılar Matlab Notları
Örnek: Aşağıda verilen M dizisini
(vektörünü) bir dosyaya kaydeden
MATLAB programı yazınız.
For döngüsü ile:

M=[1 2 3 4]; M=[1 2 3 4];


a=fopen('veri.dat','w'); a=fopen('veri.dat','w');
fprintf (a,'%d %d %d for i=1:4
%d',M); fprintf(a,'%d ',M(i));
fclose(a); end
fprintf1.m I fprintf2.m
fclose(a);
11
Ayrık Yapılar Matlab Notları
Örnek: Aşağıda verilen matrisi
“veri.dat” dosyasına kaydeden bir
MATLAB programı yazınız.(fprintf3.m)
A=[1 5 11 ; 2 4 5]; veri.dat isimli
a=fopen('veri.dat','w+'); dosyayı
for i=1:2 silmeden A
dizisini bu
for j=1:3
sonuna eklemek
fprintf(a,'%d ',A(i,j)); için hangi ‘izin’
end kulanılmalıdır?
end (fprintf4.m)
fclose(a);
12
Ayrık Yapılar Matlab Notları
Dosyadan bilgilerin okunması:
fscanf
fscanf komutu formatlanmış verileri içeren
dosyadan değerleri okuma komutudur.
Yazım formatı:
[değişken, sayi] = fscanf (ifade,’format’,alan)
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. 13
Ayrık Yapılar Matlab Notları
Örnek: Bir dosyadan verilerin tamamını
okuyup b değişkenine atayan MATLAB
programı.(fscanf1.m)
clear all
clc
a=fopen ('veri.dat', 'r' );
[b,sayi]=fscanf(a,'%d ',inf);
fclose(a);
b
sayi 14
Ayrık Yapılar Matlab Notları
Dosyadan bilgilerin okunması:
textread
textread komutu sütun yapısı formatlı
ASCII kodlu verileri dosyadan okuma
komutudur.
Yazım formatı:
[deg1,deg2] = textread(‘dosya_adi’,’%s %s’)

15
Ayrık Yapılar Matlab Notları

You might also like