Witam. Mam pewien problem, a mianowicie…
Przykladowo mamy jakiś sygnal o wartościach 1,2,3,4,5,6,7,8,9,10 i zalozmy ze jest on podzielony na kawalki. Kazdy z nich zawiera 2 kolejne jego elementy.
Po podziale sygnalu powinien on być zapisany w tablicy w postaci:
wiersz 1: 1,2
wiersz 2: 3,4
wiersz 3: 5,6
wiersz 4: 7,8
wiersz 5: 9,10
Podzial sygnalu mam już zrealizowany, teraz tylko chciałbym się dowiedzieć w jaki sposób można zrealizować to zapisywanie do wielowymiarowej tablicy, w której każdy kolejny wiersz reprezentuje poszczególne okno
Z góry dzięki
zapisywanie wynikow do tablicy wielowymiarowej
-
- Posty: 4
- Rejestracja: 28 paź 2012 23:20
- Wersja środowiska: LabVIEW 2010
Re: zapisywanie wynikow do tablicy wielowymiarowej
Nie jestem do końca pewien czy Cię dobrze zrozumiałem.
Sprawdź sobie załączony kod, czy o to Ci chodziło? ;)
Sprawdź sobie załączony kod, czy o to Ci chodziło? ;)
- Załączniki
-
- Untitled 1.vi
- (6.93 KiB) Pobrany 427 razy
Re: zapisywanie wynikow do tablicy wielowymiarowej
Jest prostszy sposób.
Kluczem jest bloczek Reshape Array, który przyjmuje dowolną tablicę i zwraca ją przekształconą, tzn. o innych wymiarach, ale z tymi samymi elementami. Można go rozciągać, żeby zyskała więcej wejść (domyślnie 1). Zasada jest prosta: ile wejść, tylu wymiarowa jest tablica. Tobie chodzi o 3D, jeśli dobrze rozumiem, konkretnie: 10x1x2, czyli 10 stron, 1 wiersz, 2 kolumny. Pozwoliłem sobie zmodyfikować vi Arronax8.
pozdrawiam
Kluczem jest bloczek Reshape Array, który przyjmuje dowolną tablicę i zwraca ją przekształconą, tzn. o innych wymiarach, ale z tymi samymi elementami. Można go rozciągać, żeby zyskała więcej wejść (domyślnie 1). Zasada jest prosta: ile wejść, tylu wymiarowa jest tablica. Tobie chodzi o 3D, jeśli dobrze rozumiem, konkretnie: 10x1x2, czyli 10 stron, 1 wiersz, 2 kolumny. Pozwoliłem sobie zmodyfikować vi Arronax8.
pozdrawiam
- Załączniki
-
- Untitled 1.vi
- (6.32 KiB) Pobrany 371 razy
-
- Posty: 4
- Rejestracja: 28 paź 2012 23:20
- Wersja środowiska: LabVIEW 2010
Re: zapisywanie wynikow do tablicy wielowymiarowej
Dzieki za pomoc, prawie o to mi chodzilo tylko jest jeszcze 1 naistotniejszy problem...
Jak zrobic zeby rozmiar tablicy wielowymiarowej robil sie dynamicznie? ze bede sobie go podawal z kontrolki?
Jak w kontrolke wpisze 2 (czyli 2 kolejne wartosci w wierszu), to podzieli mi ten sygnal tak:
wartosci w wierszu 1: 1,2
wartosci w wierszu 2: 3,4
wartosci w wierszu 3: 5,6
wartosci w wierszu 4: 7,8
wartosci w wierszu 5: 9,10
a jak wpisze w kontrolne np. 5 (czyli 5 kolejnych elementow ma znajdowac sie we wierszu) to podzieli mi ten sygnal tak:
wartosci w wierszu 1: 1,2,3,4,5
wartosci w wierszu 2: 6,7,8,9,10
Ten problem inaczej mozna zapisac w taki sposob:
caly sygnal (10elementow)/5(ilosc elementow w 1 wierszu)=ilosc wierszy tworzonej tablicy
o cos takiego mi chodzi
Potrzebne mi to jest taki sposob zapisywania, poniewaz pozniej, poprzez odwolanie sie do danych zawartych w konkretnym wierszu tablicy, chce miec mozliwosc stworzenia wykresu
Jak zrobic zeby rozmiar tablicy wielowymiarowej robil sie dynamicznie? ze bede sobie go podawal z kontrolki?
Jak w kontrolke wpisze 2 (czyli 2 kolejne wartosci w wierszu), to podzieli mi ten sygnal tak:
wartosci w wierszu 1: 1,2
wartosci w wierszu 2: 3,4
wartosci w wierszu 3: 5,6
wartosci w wierszu 4: 7,8
wartosci w wierszu 5: 9,10
a jak wpisze w kontrolne np. 5 (czyli 5 kolejnych elementow ma znajdowac sie we wierszu) to podzieli mi ten sygnal tak:
wartosci w wierszu 1: 1,2,3,4,5
wartosci w wierszu 2: 6,7,8,9,10
Ten problem inaczej mozna zapisac w taki sposob:
caly sygnal (10elementow)/5(ilosc elementow w 1 wierszu)=ilosc wierszy tworzonej tablicy
o cos takiego mi chodzi
Potrzebne mi to jest taki sposob zapisywania, poniewaz pozniej, poprzez odwolanie sie do danych zawartych w konkretnym wierszu tablicy, chce miec mozliwosc stworzenia wykresu
Re: zapisywanie wynikow do tablicy wielowymiarowej
Trint, świetne rozwiązanie z tym bloczkiem Reshape Array
marcin-eek, sprawdź sobie rozwiązanie poniżej.
Jest tam kontrolka, do której można wpisać liczbę elementów w wierszu po czym ładnie dzieli całość.
Ponadto program zawiera zabezpieczenie w przypadku gdyby rozmiar tablicy był niepodzielny bez reszty przez ilość elementów w wierszu.
Poza tym możesz wziąć program od Trint i zmienić wartości podłączone do Reshape Array (1 i 2) na kontrolki (Change to Control).
Wtedy będziesz miał też możliwość generowania tablicy dynamicznie z tą różnicą, że będziesz wpisywał zarówno ilość kolumn jak i wierszy.
marcin-eek, sprawdź sobie rozwiązanie poniżej.
Jest tam kontrolka, do której można wpisać liczbę elementów w wierszu po czym ładnie dzieli całość.
Ponadto program zawiera zabezpieczenie w przypadku gdyby rozmiar tablicy był niepodzielny bez reszty przez ilość elementów w wierszu.
Poza tym możesz wziąć program od Trint i zmienić wartości podłączone do Reshape Array (1 i 2) na kontrolki (Change to Control).
Wtedy będziesz miał też możliwość generowania tablicy dynamicznie z tą różnicą, że będziesz wpisywał zarówno ilość kolumn jak i wierszy.
- Załączniki
-
- Dynamiczna tablica.vi
- (6.55 KiB) Pobrany 392 razy
-
- Posty: 4
- Rejestracja: 28 paź 2012 23:20
- Wersja środowiska: LabVIEW 2010
zapisywanie wynikow do tablicy wielowymiarowej
dzieki za pomoc wszystkim rozwiazalem sobie to troche w inny sposob jakby kogos to interesowalo to wrzucam swoje rozwiazania:)
- Załączniki
-
- wielowymiarowa.vi
- (37.92 KiB) Pobrany 425 razy