vehbiakdogan

Senior Sofware Developer

Matlab

Matlab ile Dosyaya veri yazma ve okuma işlemleri

bu yazımda sizlere matlab ile basitçe dosyaya veri yazma, dosyadan veri okuma gibi işlemlerin mantığımı göstereceğim.
öncelikle kullanacağımız fonksiyonları anlatayım:

fopen() Fonksiyonu

Bu fonksiyonumuz adındanda anlaşılacağı gibi dosyayı açar. fonksiyonumuz iki parametre alır. Birinci paramatremiz dosyamızın yolu ikinci parametremiz ise dosyanın ne için açılacağıdır. açma konusunda: r –> Dosyayı okumak için açar. örn: fopen(‘dosya.txt’,’r’); r+ –> Dosyayı Hem okumak hemde yazmak için açar örn: fopen(‘dosya’,’r+’); w,w+,a,a+ –> Dosyayı yazmak için açar. Neder 4 tane farklı şekilde açma yöntemi var derseniz birisi dosyanın içindeki verileri siler tekrar yeni veriyi yazar diğeri mevcut yazının sonuna ekler falan deneyerek bulabilirsiniz.
hiç ezberlemeye vaktim olmadı 🙂

fscanf() Fonksiyonu

Bu fonksiyonumuz dosyadan veri okumak için kullanılır Ve 3 parametre alır. birinci parametremiz dosyayı açmak için kullandığımız değişkenin adı ikinci parametremiz dosya içindeki verinin tipi 3. parametremiz ise ne kadar okunacağı bilgisidir. örnek verecek olursak:

oku=fopen('dosya.txt','r');
fscanf(oku,'%s',inf);% veri tipimiz string olsun

Yukarıdaki örneğimizde inf komutu ile tüm dosyayı okuduk. bu inf yerine [x,y] şeklinde bir matriste okuyabiliriz tamamen size kalmış.

fprintf() Fonksiyonu

fprintf bildiğiniz üzere ekrana bilgi yazdırmak için kullanılır. ve 1 veya 2 parametre olarak çalışır.Dosya veri yazdırırken 3.parametre olarakta dosyayı açtığımız değişkenin adını alır. örnek:

yaz=fopen('dosya','w+');
fprintf(yaz,'vehbi Akdoğan'); % içine vehbi Akdoğan yazdık

fclose() Fonksiyonu

Adındanda anlaşılacağı gibi açılan bir dosyayı kapatmak için kulllanılır, 1 parametre alır aldığı parametre bizim dosyamızı açmak için kullandığımız değişkendir.

Dosyaya veri yazma ve okuma örneği

yaz=fopen('dosya','w+'); % dosyayı açtık
fprintf(yaz,'vehbi Akdoğan'); % içine verimizi yazdık
fcolse(yaz); % dosya ile işimiz bitti kapattık

% şimdi dosyayı okumak için açalım.
%içindeki bilgiyi ekrna yazdıralım
oku=fopen('dosya.txt','r'); % Dosyayı okumak için açtık
yazdir=fscanf(oku,'%s',inf);% veri tipimiz string. ve tümünü okuduk
% yazdir adlı değişkenimize dosyadaki verilerimizi ekledik.
fclose(oku); % dosya ile işimiz bitti kapattık
%ekrana yazdırmada pek bi farklılık yoktur arkadaşlar
disp(yazdir); % disp ile ekrana yazdırdık

Birdahaki yazımızda görüşmek dileğiyle hoşçakalın … 🙂

Matlab

Matlab ile matrisi küçükten büyüğe sıralayan fonksiyon

İyi günler arkadaşlar bu soruyu herkesin sorması üzerine blogumda paylaşmak istedim . Bu konumda sizlere matlab programlama dilinde bir matrisi sıralamayı göstereceğim .
bütün yayınlarımda olduğu gibi bu yayınımdada yazdığım kodların açıklamasını açıklama satırında yazacağım evet başlayalım 🙂

% Bu fonksiyon matris elemanlarını sıralalar.
%Algoritma:
%öncelikle matrisi vektöre cevireceğiz vektörü sıralayıp tekrar matrise cevireceğiz.
function M=MatrisiSirala(M) % M adında bir matris alıp geriye M nin Sıralanmış şeklini göndereceğiz
depoVektor=[]; % öncelikle Boş bir depo vektör oluşturdum.
for i=1:size(M,1)
  for j=1:size(M,2)
      depoVektor=[depoVektor M(i,j)];
  end
end
% Matrisi vektöre çevirdik.sıralama yapacağız

for i=1:length(depoVektor)
  enKucuk=depoVektor(i); % en küçüğü kabul edelim
  indis=i; % en kucugun indisi
  for j=i:length(depoVektor)
      if(enKucuk>depoVektor(j))
        enKucuk=depoVektor(j);
        indis=j;
      end
  end
  gecici=depoVektor(i); % Geçiçi değişken
  depoVektor(i)=enKucuk;
  depoVektor(indis)=gecici;
end


%Sıralama Yaptık  vektörü tekrar matris e çevirelim 

index=1;
for i=1:size(M,1)
  for j=1:size(M,2)  
    M(i,j)=depoVektor(index);
        index=index+1;
    end
end

Yazdığımız Fonksiyon Dosyasını Buradan indirebilirsiniz.

Matlab