Dosya, bilgisayar datalarının ASCII kodunda yada text formatında sabit veya hareketli disklerde toplanması ile oluşur. Dosyanın formatı, sırası, büyüklüğü, datanın dosya içindeki yerleşimi disk üzerine yazılan program ile bulunur. Dosya sistemi yazılım ve donanım ile birlikte dosyaların yazılmasını, okunmasını ve yönetimini sağlar. MATLAB’ta programlarda hesaplanan veriler RAM de saklanır ve böylece program kapatıldığında elde ettiğimiz verilerde silinir. Bu verilerin daha sonrada kullanılmak üzere depolanması için bir dosyaya yazdırılma ihtiyacı doğmuştur. MATLAB’ta bunun için bazı komutlar kullanarak dosya oluşumu gerçekleştirmiştir.
- fopen ile dosyayı açma
- fscanf, fprintf ile dosyayı okuma veya yazma
- fclose ile dosyayı kapatma komutları kullanılmaktadır.
MATLAB’ta, fopen komutu bilgiyi okumak veya kaydetmek için varolan bir veri dosyasını açmaya yarar. Bu komutun kullanımı;
dosya_degiskeni=fopen(‘dosya_adi‘,’mod‘)
dosya_degiskeni: dosya kontrolünde kullanılan değişken
dosya_adi: verilerin kaydedileceği dosyanın adı
mod: dosya işleme kodu; r,w,…, gibi.
MATLAB’ta fclose komutu ise dosyanın kapatılacağını ifade etmektedir. Kullanımı;
fclose(dosya_degiskeni)
Verilerin ekrana yazdırılmasında kullanılan fprintf komutu aynı zamanda fopen komutuyla açılmış olan dosyaya veri yazmak için de kullanılır. Kullanımı;
fprintf(dosya_degiskeni,’%format %format’,degisken1,degisken2);
1 2 3 4 |
M=[3 5 8 13]; komhedos=fopen('veri.txt','w'); fprintf(komhedos,'%d %d %d %d',M); fclose(komhedos); %dosyayi kapat |
Yukarıdaki programı çalıştırdığınızda MATLAB’ta Current Folder kısmına veri.txt dosyası oluşacaktır ve açtığınızda istediğiniz verilerin orada olduğunu görebileceksiniz.
1 2 3 4 5 6 7 8 9 |
M=[3 5 34 ; 8 4 25]; komhedos=fopen('veri.txt','w'); for i=1:2 %satir vektörü for j=1:3 %sutun vektörü fprintf(komhedos,'%d ',M(i,j)); end fprintf(komhedos,'\n'); end fclose(komhedos); %dosyayi kapat |
Formatlanmış verileri dosyadan okumaya yarayan MATLAB komutu ise fscanf dir. Kullanımı;
[degisken,sayi]=fscanf(dosya_degiskeni,’format’,alan);
degisken: okunan değerlerin atandığı ifade,
sayi: okunan veri sayısı,
alan: inf ile verilerin tamamının okunması sağlanır.
Örnek olarak 1. programda veri.txt dosyasına yazdırmış olduğumuz M vektörünü bu sefer okuyalım.
1 2 3 4 5 6 |
clc; komhedos=fopen('veri.txt','r'); [a,sayi]=fscanf(komhedos,'%d',inf); fclose(komhedos); %dosyayi kapat a sayi |
Matlab programlama ile ilgili diğer bilgileri aşağıdaki adresten bulabilirsiniz.
https://komhedos.com/category/programlar/matlab-programlar/