Czy mógłby ktoś na to rzucić okiem ..
- serkriz
- Posty: 70
- Rejestracja: 22 lis 2005 00:00
- Lokalizacja: Białystok,Polska Koblenz , Deutschland
Czy mógłby ktoś na to rzucić okiem ..
i powiedzieć mi jak moge z tej tablicy pobrać tylko co np.:10 próbke??
W pamięci wewnętrznej mikrokontrolera mam tylko miejsce na 100 bajtów. Jak ustawie 100 próbek (czyli będę miał 100 kolumn=100bajtów) w labview to nie ma z tym problemu ale jest problem z odwzorowaniem przebiegów. Najlepiej jest jak ustawiam np.:60000 próbek (60000 kolumn=60000bajtów) i mam wtedy dobrze odworowane przebiegi. Ale moge tylko co 600-setną kolumne wysłać do mikrokontrolera.
Jak to zrobic???
I jeszcze jedno : jak zatrzymać program po jednym obiegu(tzn.wysle 100 kolumn i się zatrzyma)
Za wszelkie uwagi też będę wdzięczny.
W pamięci wewnętrznej mikrokontrolera mam tylko miejsce na 100 bajtów. Jak ustawie 100 próbek (czyli będę miał 100 kolumn=100bajtów) w labview to nie ma z tym problemu ale jest problem z odwzorowaniem przebiegów. Najlepiej jest jak ustawiam np.:60000 próbek (60000 kolumn=60000bajtów) i mam wtedy dobrze odworowane przebiegi. Ale moge tylko co 600-setną kolumne wysłać do mikrokontrolera.
Jak to zrobic???
I jeszcze jedno : jak zatrzymać program po jednym obiegu(tzn.wysle 100 kolumn i się zatrzyma)
Za wszelkie uwagi też będę wdzięczny.
- serkriz
- Posty: 70
- Rejestracja: 22 lis 2005 00:00
- Lokalizacja: Białystok,Polska Koblenz , Deutschland
Re: Czy mógłby ktoś na to rzucić okiem ..
Czy wogóle istnieje taka możliwość aby było można z tablicy pobrać co np.: 4 kolumne? Narazie to nie znalazłem bloku który by to robił i nie wiem czy dalej tracić na to czas czy szukać innego rozwiązania.
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Czy mógłby ktoś na to rzucić okiem ..
proste i nie skomplikowane
zrób sobie z tego subVI'a i już masz bloczek do pobierania co 4 elementu z tablicy
zrób sobie z tego subVI'a i już masz bloczek do pobierania co 4 elementu z tablicy
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Czy mógłby ktoś na to rzucić okiem ..
Jeszcze prostsze i mniej skomplikowane(i bez zagadek) byłoby użycie klocka Decimate Array - działa tylko na tablicach jednowymiarowych.
Jeśli chodzi o tablicę dwuwymiarową to do tego gotowego klocka nie ma, więc trzeba albo wykorzystać sposób z pętlą a w nim użyć Array Subset do pobierania danej kolumy tablicy i wstawić do tablicy wyjściowej za pomocą np. Build Array. Albo można np. wykorzystać Delete From Array do kasowania kolumn niepotrzebnych. Albo jak ktoś jest leniwy i nie chce mu się wstawiać pętli można zrobić Reshape Array, potem Decimate Array, a potem znów Reshape. Sposobów jak widzisz jest mnóstwo. (Wybierz ten najszybszy, a potem napisz na forum który to;) )
Jeśli chodzi o tablicę dwuwymiarową to do tego gotowego klocka nie ma, więc trzeba albo wykorzystać sposób z pętlą a w nim użyć Array Subset do pobierania danej kolumy tablicy i wstawić do tablicy wyjściowej za pomocą np. Build Array. Albo można np. wykorzystać Delete From Array do kasowania kolumn niepotrzebnych. Albo jak ktoś jest leniwy i nie chce mu się wstawiać pętli można zrobić Reshape Array, potem Decimate Array, a potem znów Reshape. Sposobów jak widzisz jest mnóstwo. (Wybierz ten najszybszy, a potem napisz na forum który to;) )
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Czy mógłby ktoś na to rzucić okiem ..
ale zagadka:(
zycie jest pełne zagadek i zagadki sa fajowe
(mozna użyc tez indeks arrej)
mnostwo jest sposobów ale zagadka to zagadka i musi sie pojawic
a taka fajna była,
zycie jest pełne zagadek i zagadki sa fajowe
(mozna użyc tez indeks arrej)
mnostwo jest sposobów ale zagadka to zagadka i musi sie pojawic
a taka fajna była,
- serkriz
- Posty: 70
- Rejestracja: 22 lis 2005 00:00
- Lokalizacja: Białystok,Polska Koblenz , Deutschland
Re: Czy mógłby ktoś na to rzucić okiem ..
Ale jak w bloku Delete From Array ustawić żeby wyrzucało te które nie chcę? Bo tam chyba tylko można ustawić od której kolumny chcemy wyrzucić i ile pod rząd ale jak wyrzucić cztery i jedna zostawić i znowu wyrzucić cztery i jedna zostawić itd...
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Czy mógłby ktoś na to rzucić okiem ..
Ano trzeba wtedy np. wrzucić bloczek Delete From Array do pętli for takiej jak na rysunku. Zagadka: ile razy musi się obrócić pętla for w tym wypadku? ;)
Pozdrawiam
Pozdrawiam
- serkriz
- Posty: 70
- Rejestracja: 22 lis 2005 00:00
- Lokalizacja: Białystok,Polska Koblenz , Deutschland
Re: Czy mógłby ktoś na to rzucić okiem ..
Odpowiedź: tyle razy ile jest ustawione w "co którą kolumne zostawić".
Następny raz : WIELKIE DZIÄ
Następny raz : WIELKIE DZIÄ
Re: Czy mógłby ktoś na to rzucić okiem ..
jedna rzecz po rozwage, jesli kasujemy wiersz z tablicy to zmianie ulega CALY obszar pamieci -> powstaje nowa tablica, w nowym miejscu pamieci, kod moze jest krotki i zwiezly, ale moze zajac sporo pamieci (serkriz wspomina, ze ma dosc duze tablice).
Moja propozycja wyglada tak, kryteria wyboru elementow moga byc dowolne, ja chce zwrocic uwage na sposob postepowania z tablicami: tworzymy tablice o zadanych wymiarach = rezerwujemy dlan pamiec, a pozniej tylko wybiorczo zmieniamy zawartosc wczesniej zarezerwowanych obszarow pamieci. Roznica w predkosci jest bardzo duza, nie mowiac juz o obiazeniu pamieci.
Jesli dane maja docelowo trafic na zewnatrz to moze wogle warto zrezygnowac z dopisywania ich do tablicy i wysylac je odrazu wewnatrz petli?
Moja propozycja wyglada tak, kryteria wyboru elementow moga byc dowolne, ja chce zwrocic uwage na sposob postepowania z tablicami: tworzymy tablice o zadanych wymiarach = rezerwujemy dlan pamiec, a pozniej tylko wybiorczo zmieniamy zawartosc wczesniej zarezerwowanych obszarow pamieci. Roznica w predkosci jest bardzo duza, nie mowiac juz o obiazeniu pamieci.
Jesli dane maja docelowo trafic na zewnatrz to moze wogle warto zrezygnowac z dopisywania ich do tablicy i wysylac je odrazu wewnatrz petli?
God is dead - Nietsche, Nietsche is dead - God
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Czy mógłby ktoś na to rzucić okiem ..
chciałem zauważyc ze blamek rozwiazał moja zagadke.
moze nie wykorzystał mojego pomysłu w całości, ale zagadka została rozwiazana!!<brawo>
moze nie wykorzystał mojego pomysłu w całości, ale zagadka została rozwiazana!!<brawo>
Re: Czy mógłby ktoś na to rzucić okiem ..
rozumiem ze chodzi o modulo, bo z zamienianiem elementow tablicy chyba jestem oryginalny
God is dead - Nietsche, Nietsche is dead - God
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Czy mógłby ktoś na to rzucić okiem ..
oczywiscie ze o modulo mi chodziło
ale czy tak nie bedzie szybciej petla wykonuje sie jakies 9 razy mniej
wiec oszczednosc czasu jest
ale czy tak nie bedzie szybciej petla wykonuje sie jakies 9 razy mniej
wiec oszczednosc czasu jest
- serkriz
- Posty: 70
- Rejestracja: 22 lis 2005 00:00
- Lokalizacja: Białystok,Polska Koblenz , Deutschland
Re: Czy mógłby ktoś na to rzucić okiem ..
no to bedzie tablica o wymiarze 8x65000 . Ale tylko co 650 kolumna będzie pobierana więc utworzy mi macierz 8x100.
Tak na marginesie: czy jest jakikolwiek sens tego co robie? bo jak pobiore co 650 próbke to otrzymam zupełnie coś innego (przebieg prostokątny przy stosunku sinus do trójkąta 1:50 to dosłownie siekanka)
Tak na marginesie: czy jest jakikolwiek sens tego co robie? bo jak pobiore co 650 próbke to otrzymam zupełnie coś innego (przebieg prostokątny przy stosunku sinus do trójkąta 1:50 to dosłownie siekanka)
Re: Czy mógłby ktoś na to rzucić okiem ..
wino: faktycznie wykombinowales ze jest szybciej, choc tu juz nie wytargujesz wiele bo operacja ta nie jest az tak czasochlonna (najlepiej zapusc profilera i zobacz).
Ale i tak pochwalam
Ale i tak pochwalam
God is dead - Nietsche, Nietsche is dead - God
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Czy mógłby ktoś na to rzucić okiem ..
W porównaniu z waszymi pętlami moja jest dość niepozorna ale działa git ;)
W prostocie siła: działa ciut szybciej, niż ta z rysunku Blamka(co 10 kolumna, tablica I32, 2000*2000).
Jedyny zgrzyt to fakt, że nie da się programowo ustawić co którą kolumnę zostawić(albo o tym nie wiem).
A jak chcesz sobie sprawdzić czy jest sens tego co robisz to najlepiej zrób to w Matlabie. Tam pobranie co np. 10 kolumny to napisanie Tablica=Tablica(:,1:10:65000); więc roboty z tym masz niewiele i zaraz zobaczysz czy gra jest warta świeczki.
Pozdrawiam(:
W prostocie siła: działa ciut szybciej, niż ta z rysunku Blamka(co 10 kolumna, tablica I32, 2000*2000).
Jedyny zgrzyt to fakt, że nie da się programowo ustawić co którą kolumnę zostawić(albo o tym nie wiem).
A jak chcesz sobie sprawdzić czy jest sens tego co robisz to najlepiej zrób to w Matlabie. Tam pobranie co np. 10 kolumny to napisanie Tablica=Tablica(:,1:10:65000); więc roboty z tym masz niewiele i zaraz zobaczysz czy gra jest warta świeczki.
Pozdrawiam(: