folder Tahribat.com Forumları
linefolder Yazılımlar / Diğer Programlar
linefolder Matlab Real Time Data İşleme(Yardım)



Matlab Real Time Data İşleme(Yardım)

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

    hocalar bir sıkıntı ile karşı karşıyayım. seri port üzerinden matlab ile veri çekip gerçek zamanlı olarak grafik çizdiriyorum. fakat grafik tablosu gelen veri ile dolduğunda yeni veri geldikçe grafik sıkışıyor.

    benim istediğim yeni bilgi geldikçe grafiğin sola doğru kayması. yani x eksenim ilk açılışta 1 ile 10 arasında olucak(zaman) ve 10 sn sonra bu gittikce 2-11 , 3-12 gibi değerlerle değişecek.

    matlab forumlarında arandım google da biraz zaman geçirdim. ya benim odunluğumdan yada bana lazım olan olmadığından bulamadım.

    böyle bir şeyle çalışmış var mı? ille de matlab olmasına gerek yok. başka diller de olur bana yol  göstericek bişeyler lazım. şu noktada tıkandım hocalar :(

    Şimdiden Teşekkürler.


    punto cero
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    grafiği tekrar çizdirmiyor musun, o zaman verdiğin aralık 0 ile gelen X verisinin sırası kadar olabilir. (zaman çizgisi)

    Yani (0,10)

    10. veri geldikten sonra

    (0,11)

    (0,12)

    (0,13)

     

    bir tane sayaç koyup her veri geldiğinde arttırabilirsin, sayaç 10 dan büyük olduğu zaman (0,11) (0,12) şeklinde grafiğini yeniden oluşturabilirsin..

    ancak bu tarz bir şey yapılabilir diye düşünüyorum

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

    hocam x ekseni zaman olarak tanımlı. grafiği çizdiriyorum. üst sınır kullanıcı tarafından giriliyor ve 0-1 ile başlıyor 0-2 0-3 diye üst limite kadar gidiyor. 

    benim istediğim ise 0-5 oldu diyelim 1sn veri geldikten sonra 1-6 , 1 sn daha veri geldi 2-7, 1sn daha 3-8 olması.

    5 sn veri geldikten sonra birer sn aralıklarla grafiği kaydırmak istiyorum. ve ekranda bunu akıyor gibi göstermem lazım.

    döngü kullanarak veri akışını da etkilemek istemiyorum gerçel zamanlı veri olduğu için.


    punto cero
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    yazdığın kodları paylaşırsan belki biraz daha fazla yardımcı olabiliriz.. 

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

    while true

    ...veri alınıyor...

    ... buralarda veri işleniyor..

    plot(EKGplot,t(1:cur-1),a(1:cur-1));

    ..

    ....

    end

     

    t zaman için açılan registery. figure olarak çıktıntan sonra çizime başlıyor. günecellenerek çizim devam ediyor ve gerçek zamanlı olarak grafiği alıyorum.

    bir önceki denemelerde ilk önce veriyi kaydedip daha sonradan axes[xmin xmax ymin ymax] ayarını yaparak ekseni kaydırabiliyordum ama şimdi gerçek zamanlıya geçince bu özelliği kullanamıyorum. ne kadar uğraştıysamda bişey yapamadım.

    set(gca,...) ile de denedim limiti değiştirmeye çalıştım ama olmadı.

     

    daha önce böyle bir şey denemiş olan var mı matlabda. varsa bi el atıverin sıkıştım kaldım burada

     

    edit: Takılıp da arayan olursa ; olayı halletmiştim kendi imkanlarımla :D

    plot daki dizinin yada line 'ın büyüklüğüne göre yapıcakmışız.

    bizimplot=handles.axes1; //axes1 axes2 artık neyse plot alanı.

    [m n]=size(dizi); yada y=size(line); hangisi size uygunsa

    en sonunda da set(bizimplot,'Xlim',[mindeger maxdeger]); // min ile maxı da n yada y hangisini yaptıysanız o değişkene bağlı olarak artırcaksınız.

     edit2: tabi bu eklediklerimizin başına 

    hold on;

    ve sonuna

    drawnow;

    yapıyoruz ki plot önce dursun sonra devam etsin

     

    tuncaxxz tarafından 15/Ara/12 03:22 tarihinde düzenlenmiştir

    punto cero
Toplam Hit: 1279 Toplam Mesaj: 5