folder Tahribat.com Forumları
linefolder Programlama Genel
linefolder Excel & MATLAB Peak Noktaları Buldurma?



Excel & MATLAB Peak Noktaları Buldurma?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    snrhsn
    snrhsn's avatar
    Kayıt Tarihi: 21/Nisan/2015
    Erkek

    Merhaba arkadaşlar elimde yaklaşık 900 adet peak point olcak, bu peak pointlerin nasıl oması gerektiğini anlatayım.

    her sütunda belirtilen değerler sağdaki gibi örnek grafiğin y değerleri. bana lazım olan peak noktaları ise 0'dan büyük olan noktalar yani grafiğin x ekseni altındaki alan olmayacak. 

    bana kırmızı ile işaretlediğim noktalar lazım. 

    yaklaşık 90,95 tane yapıo gecen hafta elle bakmıstım. bu hafta 10 tane örnek olunca elle yapmam cok zor olacak. daha bunun formülasyonu ve matematiksel işlemleri var. 

    MATLAB veya Excel'de yaptırabilirim. Farketmez Vba,Matlab,Excel formül her türlü yardıma açığım 

    Excel Dosyası: https://drive.google.com/open?id=0B05TqHrS3z6uLVFRb2s1Nmt1QkE

     edit:matlab findpeaks fonksiyonu işimi görecek gibi ama parametreleri nasıl yazıcam bilemiyorum. direkt findpeaks yapınca heryeri alıyo.

    mesela gereksiz peak noktaları bunlar 

    snrhsn tarafından 18/Ara/16 19:55 tarihinde düzenlenmiştir

    Go Further
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    aercys
    aercys's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

    Hocam MATLAB'de findpeaks fonksiyonu sana peak değerlerden oluşan vektör verecek. Bu değerleri elde ettikten sonra;

    x = findpeaks(data)

    %Daha sonra;

    non_zero = find(x>0) % Bu satır sana değeri 0 dan büyük değerleri verecek.

    %Son olarak;

    positive_peaks = x(non_zero) % Bu satırlar positif eksendeki peak değerlerini elde edeceksin

    Kolay gelsin

     


    0x62 0x75 0x6e 0x75 0x20 0x79 0x61 0x7a 0x61 0x6e 0x20 0x74 0x6f 0x73 0x75 0x6e 0x2c 0x20 0x6f 0x6b 0x75 0x79 0x61 0x6e 0x61 0x20 0x6b 0x6f 0x73 0x75 0x6e
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    snrhsn
    snrhsn's avatar
    Kayıt Tarihi: 21/Nisan/2015
    Erkek
    aercys bunu yazdı

    Hocam MATLAB'de findpeaks fonksiyonu sana peak değerlerden oluşan vektör verecek. Bu değerleri elde ettikten sonra;

    x = findpeaks(data)

    %Daha sonra;

    non_zero = find(x>0) % Bu satır sana değeri 0 dan büyük değerleri verecek.

    %Son olarak;

    positive_peaks = x(non_zero) % Bu satırlar positif eksendeki peak değerlerini elde edeceksin

    Kolay gelsin

     

    dediğinizi zaten yapıyorum fakat; resimde gösterdiğim y değerleri pozitif olan gereksiz peakler cıkıyor. bana bunlarında en büyüğü lazım kırmızıyla belirttiğim gibi


    Go Further
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    aercys
    aercys's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek
    snrhsn bunu yazdı
    aercys bunu yazdı

    Hocam MATLAB'de findpeaks fonksiyonu sana peak değerlerden oluşan vektör verecek. Bu değerleri elde ettikten sonra;

    x = findpeaks(data)

    %Daha sonra;

    non_zero = find(x>0) % Bu satır sana değeri 0 dan büyük değerleri verecek.

    %Son olarak;

    positive_peaks = x(non_zero) % Bu satırlar positif eksendeki peak değerlerini elde edeceksin

    Kolay gelsin

     

    dediğinizi zaten yapıyorum fakat; resimde gösterdiğim y değerleri pozitif olan gereksiz peakler cıkıyor. bana bunlarında en büyüğü lazım kırmızıyla belirttiğim gibi

    En büyük değer lazımsa max() fonksiyonunu kullanabilirsiniz.

    Edit: Size tek bir değer de lazım değil anladığım kadarı ile, bu durumda sınır değeriniz ne bilmiyorum ancak;

    peak noktaları bulduktan sonra find() fonksiyonu ile sınır değerinizden büyük peak noktaların indexlerini bulup, o indexlerle yeni vektör oluşturabilirsiniz. Yukarıdaki örneğin benzeri şekilde. 

     

    aercys tarafından 18/Ara/16 22:59 tarihinde düzenlenmiştir

    0x62 0x75 0x6e 0x75 0x20 0x79 0x61 0x7a 0x61 0x6e 0x20 0x74 0x6f 0x73 0x75 0x6e 0x2c 0x20 0x6f 0x6b 0x75 0x79 0x61 0x6e 0x61 0x20 0x6b 0x6f 0x73 0x75 0x6e
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MaviEkran
    MaviEkran's avatar
    Kayıt Tarihi: 31/Aralık/2009
    Erkek

    Fonksiyon periyodik mi?

    Yani x ekseninde 0'a değdiği noktalar k,2k,3k,4k... şeklinde mi artıyor?

    Eğer öyleyse k ile 2k arasındaki max'imumu bul, 2k ile 3k arasında maximumu bul şeklinde matlabda çalışabilirsin.


    Blue Screen of Death
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tuncaxxz
    tuncaxxz's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek

    findpeaks için 'minpeakheight' ve 'minpeakdistance' özellikleri var. peakheight bu değerin üstündeki tepeleri alır. distance da iki tepe arası minimum mesafe olur işini görür diye düşünüyorum


    punto cero
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    snrhsn
    snrhsn's avatar
    Kayıt Tarihi: 21/Nisan/2015
    Erkek

    konuyu bi güncelleyeyim dedim, belki log decrement metodu ile damping ratio bulmak isteyen olur . 

    aşağıdaki excel iş görüyo.

    https://drive.google.com/open?id=0B4e2PCIvKImzU0s2UWF2SHBzZVk

    (sadece pozitif peakleri verir)


    Go Further
Toplam Hit: 1830 Toplam Mesaj: 7
matlab excel peak peak point