zapisywanie wynikow do tablicy wielowymiarowej

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
marcin-eek
Posty: 4
Rejestracja: 28 paź 2012 23:20
Wersja środowiska: LabVIEW 2010

zapisywanie wynikow do tablicy wielowymiarowej

Post autor: marcin-eek »

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
Awatar użytkownika
Arronax8
Posty: 69
Rejestracja: 06 kwie 2012 21:25
Wersja środowiska: LabVIEW 2012

Re: zapisywanie wynikow do tablicy wielowymiarowej

Post autor: Arronax8 »

Nie jestem do końca pewien czy Cię dobrze zrozumiałem.
Sprawdź sobie załączony kod, czy o to Ci chodziło? ;)
Załączniki
Untitled 1.vi
(6.93 KiB) Pobrany 381 razy
Awatar użytkownika
Trint
Posty: 14
Rejestracja: 22 paź 2012 14:10
Wersja środowiska: LabVIEW 2012

Re: zapisywanie wynikow do tablicy wielowymiarowej

Post autor: Trint »

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
Załączniki
Untitled 1.vi
(6.32 KiB) Pobrany 358 razy
marcin-eek
Posty: 4
Rejestracja: 28 paź 2012 23:20
Wersja środowiska: LabVIEW 2010

Re: zapisywanie wynikow do tablicy wielowymiarowej

Post autor: marcin-eek »

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
Awatar użytkownika
Arronax8
Posty: 69
Rejestracja: 06 kwie 2012 21:25
Wersja środowiska: LabVIEW 2012

Re: zapisywanie wynikow do tablicy wielowymiarowej

Post autor: Arronax8 »

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.
Załączniki
Dynamiczna tablica.vi
(6.55 KiB) Pobrany 375 razy
marcin-eek
Posty: 4
Rejestracja: 28 paź 2012 23:20
Wersja środowiska: LabVIEW 2010

zapisywanie wynikow do tablicy wielowymiarowej

Post autor: marcin-eek »

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 382 razy
ODPOWIEDZ