Merhaba, matlab excelden veri okuma işlemini anlatacağım yeni yazımıza başlıyoruz.

Bu yazımda sizlere, matlab excelden veri okuma yöntemini ayrıntılı bir şekilde yazacağım.

Editörün Önerisi: Katsayılar MatrisiMatlab ile Excel dosyası okuma ( matlab import data from excel ) ile ilgili fonksiyonumuz olan xlsread fonksiyonumuzun özelliklerini açıklamalı ve örnekli olarak inceleyeceğiz.

Hiç vakit kaybetmeden işe başlayalım.

Yazıya oy vermek isteyebilirsiniz. Oy vermek için yorum  yapınız lütfen. Mevcut puan şu şekildedir.

0 0 oy
Ortalama Puan

Matlab Excelden Veri Okuma

Öncelikle excelden veri okuma fonksiyonumuzun söz dizimi yani syntax’ına bakalım.

Syntax ( Söz Dizimi )
num = xlsread(filename)
num = xlsread(filename,sheet)
num = xlsread(filename,xlRange)
num = xlsread(filename,sheet,xlRange)
num = xlsread(filename,sheet,xlRange,'basic')
[num,txt,raw] = xlsread(___)
___ = xlsread(filename,-1)
[num,txt,raw,custom] = xlsread(filename,sheet,xlRange,'',processFcn)

Şimdi satır satır bu kullanımların ne işe yaradığından bahsedelim.

 1.  Satır:   filename, yani okunacak olan excel dosyasının adını(yolunu) girmelisiniz. Eğer .m file ile excel dosyanız aynı klasörde bulunuyorsa yalnızca ismini girmeniz yeterli olacaktır.

 2.  Satır:   sheet, özel olarak bir çalışma kitabının içerisinde ki bölümleri ifade eder. Sayfa1 (0) Sayfa2 (1) için parantez içerisinde geçerli numaraları verilmiştir. Örnek görsel aşağıdadır.

excel-sheet-1

 

 

 3.  Satır:   xlRange, bir bölgeyi belirlemek için kullandığımız parametredir. Mesela A sütununun ilk 3 satırını almak istediğimizde (A1:A3) yazmamış gerekiyor. Tüm sütün için (A:A) gibi bir yazım kullanıyoruz.

 5.  Satır:   ‘basic’, eğer bilgisayarınızda excel yoksa bu parametre sayesinde basit bir şekilde tüm veriyi alabilirsiniz.

 6.  Satır:   Excel içerisinde bulunan verilerin num ( number-sayı) txt (text – metin) gibi ayrılarak ayrı ayrı dizilere atandığı yazım şeklidir.

 7.  Satır:   ___ = xlsread (filename, -1)  kullanımı sizin için güzel bir seçenek olabilir. Eğer bilgisayarınızda windows işletim sistemi ve excel programı kurulu ise bu seçenek ile interaktif olarak okuyacağınız veriyi seçebilirsiniz. Bilgisayarınız excel programını başlatacak ve sizden okumak istediğiniz bölgeyi seçmenizi isteyecektir.

 8.  Satır:   Tüm parametreleri açıkladığımız için bu satırı açıklamış olduk.

Örnekler

degerler = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
baslik = {'Sutun1','Sutun2','Sutun3'};
xlswrite('ornek.xlsx',[baslik; deger]);
   Sutun1     Sutun2    Sutun3
       1         2        3
       4         5        x    
       7         8        9

Şimdi oluşturduğumuz ‘ornek.xlsx’ isimli excel dosyasından veri okuma işlemini yapalım.

filename = 'ornek.xlsx';
A = xlsread(filename)

% Burada filename bir değişkendir ve istediğiniz ismi kullanabilirsiniz.
% Bu kod ile elde edilecek matris aşağıdaki gibi olacaktır.

A =
     1     2     3
     4     5   NaN
     7     8     9
Sınırlı bir bölgeden veri okuyalım
filename = 'ornek.xlsx';
sheet = 1;
xlRange = 'B2:C3';

subsetA = xlsread(filename,sheet,xlRange)
subsetA =
     2     3
     5   NaN

Tek bir sutunun tüm verilerini okuyalım

filename = 'ornek.xlsx';

columnB = xlsread(filename,'B:B')
columnB =
     2
     5
     8

‘B1:B3’ gibi bir aralık belirlerseniz eğer performans açısından daha iyi sonuçlar alırsınız.

Eğer sayı, metin ve raw verilerini ayırmak isterseniz.

[num,txt,raw] = xlsread('ornek.xlsx')
num =
     1     2     3
     4     5   NaN
     7     8     9

txt = 
    'First'    'Second'    'Third'
    ''         ''          ''     
    ''         ''          'x'    

raw = 
    'First'    'Second'    'Third'
    [    1]    [     2]    [    3]
    [    4]    [     5]    'x'    
    [    7]    [     8]    [    9]

Gördüğünüz gibi xlsread fonksiyonunun kullanımları bu şekilde. Şimdi gelelim özel örneğimize.  Bu örnekte sizlere dosyanızı seçmeniz için bir arayüz açılacak ve dosya(excel) seçimini yaptıktan sonra verilerinizi alacaksınız.

[tdosyaAdi,PathName] = uigetfile({'*.xls;*.xlsx;'},'Dosya Seçiniz');
dosyaAdi=[PathName tdosyaAdi];

%Veriler okunuyor.
veriOku=xlsread(dosyaAdi,1,'A:A');

%Örneği kendinize göre düzenleyebilirsiniz.

Bu makalem burada bitiyor. Umarım faydalı olmuştur. Eğer faydalı bulduysanız bunu söylemekten çekinmeyin. 🙂 Paylaşmak ve yorum yapmak gibi aktiviteler beni yeni paylaşımlar yapmak adına tetikleyecektir. Okuduğunuz için teşekkür ederim.

Abone Ol
Bildirim Al
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

21 Yorum
En Yeniler
Eskiler Beğenilenler
Satıriçi Geribildirimi
Tüm yorumları göster.
Okan
Okan
26 Mayıs 2020 19:09

Hocam Merhaba, excelde bist100 verilerim var ve bunu matlab’e aktarmak istiyorum. bistdata=xlsread(‘bistveri.xlsx’) komutunu deniyorum ancak matlabte [] şeklinde alıyor ve vektör içerisinde veriler yok. excelde yer alan verilerim tek sütunluk 255 veriden oluşmakta bu sorun neden kaynaklanıyor ve nasıl çözebilirim bilgi verebilir misiniz.

Gülfem
Gülfem
10 Mayıs 2020 14:02

Merhaba Hocam,
Elimde 3 sütundan oluşan; 1. sütununda yanca açısı değerlerinin, 2. sütunda yükseliş açısı değerlerinin ve 3. sütunda yanca ve yükselişçe açısına göre karşılık gelen genlik değerlerinin olduğu dosyam var. (Excel ya da notepad olabilir.) Bazı işlemler ile bulduğum yanca ve yükselişçe değerine karşılık gelen genlik değerini çekecek bir kod yazmam gerekiyor. Fakat bulduğum yanca ve yükselişçe açıları aynı satırda olmayabilir, her sütunu kendi içinde kontrol ettikten sonra genliği çekmem gerekli. Hangi fonksiyonu kullanmam gerekir. Yardımcı olabilirseniz çok memnun olurum.

Gülfem
Gülfem
Cevap verilen:   Burak Can KARA
10 Mayıs 2020 18:59

Öncelikle cevap verdiğiniz için gerçekten çok teşekkür ederim. Sütunlar arasındaki bağıntı benim elimde yok. Basit bir şekilde aşağıya daha iyi anlaşılması için bir örnek yazdım hocam. Daha önce bulduğum 1. sütun değeri 4 , 2. sütun değeri 1 olduğunda bu değerlere karşılık gelen 3. sütun değerini dosyadan matlab koduna çekmeye çalışıyorum. 1.sütun 2.sütun 3.sütun 1 0 20 2 0 25 3 0 -28 4 0 -7 5 0 13 1 1 38 2 1 26 3 1 -27 4 1 -30 (Örnek: 1. ve 2. sütun değerlerine göre bu satırdaki -30’u çekmem gerekiyor.) 5 1 45 1 2 90 2… Devamını oku »

Gülfem
Gülfem
Cevap verilen:   Burak Can KARA
10 Mayıs 2020 22:13

Kodu anladım hocam gerçekten çok teşekkür ederim fakat bir sorum olacak; excel deki verileri kodda array olarak yazmam mı gerekir. Benim dosyamda 64 bin küsür satır olacak, bu şekilde kodda array yazmadan dosyadan okumamın bir yöntemi var mıdır?

Gülfem
Gülfem
Cevap verilen:   Burak Can KARA
11 Mayıs 2020 21:16

Evet hocam veri seti excel olduğunda problemim çözüldü, 3. sütun değerini verdi. Çok teşekkür ederim ilginiz ve alkanız için, çok mutlu oldum.
Fakat bir soru daha sormak istiyorum hocam size müsadeniz olursa, çokta mahçubum fazla rahatsız ediyorum diye, benim datam notepad’te binary formatta olursa nasıl yapmam gerekir? Binary formatta olmasa en kötü ihtimalle excel doyasına aktarıp yine bu kodu kullanabilirim fakat binary olması problem olur mu diye düşünüyorum.

Gülfem
Gülfem
Cevap verilen:   Burak Can KARA
11 Mayıs 2020 21:43

Çok teşekkürler hocam ayrıca hemen inceliyorum, elbette uğrarım siteyi favorilere aldım 🙂

Sizede iyi çalışmalar, saygılarımla.

Ali Rızık
Ali Rızık
9 Nisan 2020 00:43

Merhaba hocam
Elimde 5100 satırlı 2 sütunlu excel dosyası var bu verileri matlab üzerinde nasıl grafiksel şekilde gösterebilirim ?

faruk özdemir
faruk özdemir
18 Kasım 2019 18:47

hocam merhabalar elimde 92709 satırlık excel bilgileri var bu bilgiler atıyorum 40 42 şer şekilde grup halinde.Yani aynı rakama sahip olan satırlar bi grubun verisi. Zaten sıralı bir şekildeler ben her grubu excelden matlabde mat file olarak elde etmek istiyorum ama tek tek raw sayılarını yazmamın imkanı yok nasıl yapabilirim acaba? (aklıma gelen şu ilk satırdan başla bu satır değişene kadar olan aralığıo belirle ve kaydet sonra bu verileri yazdır mat file yap ama bu döngüyü nasıl yapabilirim)

Oğuzhan Paçacı
Oğuzhan Paçacı
3 Nisan 2019 13:25

6 kolonlu bir veri grubum var fakat sadece 5 kolonunu alıyor 🙁

selin akkız
selin akkız
6 Ağustos 2018 09:49

Merhaba,
Excelden Matlab’a almak istediğim verilerin içinde – işareti olan sayı dizileri var ve Matlab bu sayıları görmüyor NaN olarak aktarıyor. Yardımcı olabilirseniz çok sevinirim.

baha
baha
13 Nisan 2017 15:23

uzakliklar=xlsread(‘ilmesafe.xls’)

Error using xlsread (line 251)
File could not be read by biffparse. Invalid record ID.
hatası alıyorum:( çözümünü bilen?
macbook excel sürüm15.21 matlab sürüm R2015b