2D array

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
luke87a
Posty: 13
Rejestracja: 06 paź 2009 14:12
Wersja środowiska: LabVIEW 7.1

2D array

Post autor: luke87a »

Zapisuję 2D array przez write to spreadsheet file. Kolumny mają różną ilość elementów i w tych o mniejszej ich liczbie są dopisywane zera. I to dopisywanie zer chciałbym jakoś wyłączyć.
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Re: 2D array

Post autor: coolfon »

W tablicy 2D kolumny zawsze mają tą samą ilość elementów, nie ma "krótszych" kolumn... Co znajduje się w Twojej tablicy przed zapisem? Jeśli są to wartości liczbowe, to te zera na pewno tam są. Chyba że w którymś momencie składasz swoją tablicę 2D z tablic 1D o różnym rozmiarze - wtedy brakujące elementy są uzupełniane zerami.

Jeśli bardzo Ci zależy, żeby przy zapisie te zera zniknęły, możesz sobie przekonwertować tablicę liczbową na tablicę stringów, a następnie wszystkie stringi '0' zamienić na 'empty string'. Jednak to usunie wszystkie zera, nie tylko te uzupełniające...

A tak w ogóle, to lepiej się rozwiązuje problemy, gdy ma się kod przed oczami. Bo teraz jest takie wróżenie z fusów ;)
Ostatnio zmieniony 24 paź 2009 13:31 przez coolfon, łącznie zmieniany 1 raz.
Awatar użytkownika
smiga
Administrator
Posty: 801
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: 2D array

Post autor: smiga »

Pomysł kolegi Coolfon'a jest jak najbardziej OK - z drobną modyfikacją:

Obrazek
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: 2D array

Post autor: jogurt_owocowy »

Niestety nie rozwiązuje to problemów autora.
Nie chodzi o to, żeby zamienić wszystkie zera na puste stringi, a tylko te "zapychacze" uzupełniające krótsze kolumny do długości najdłuższej z nich.
Awatar użytkownika
luke87a
Posty: 13
Rejestracja: 06 paź 2009 14:12
Wersja środowiska: LabVIEW 7.1

Re: 2D array

Post autor: luke87a »

Składam tablicę 2D z paru 1D. Dzięki Waszym wskazówkom rozwiązałem problem. Umieszczam programik.
Załączniki
2Darray.vi
(48.49 KiB) Pobrany 373 razy
Awatar użytkownika
smiga
Administrator
Posty: 801
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: 2D array

Post autor: smiga »

Można spróbować jeszcze coś takiego dodać ... to wywala "zapychające" zera na końcu:

Obrazek
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Re: 2D array

Post autor: vugie »

jogurt_owocowy pisze:Niestety nie rozwiązuje to problemów autora.
Nie chodzi o to, żeby zamienić wszystkie zera na puste stringi, a tylko te "zapychacze" uzupełniające krótsze kolumny do długości najdłuższej z nich.
A żeby to uzyskać należy na etapie składania tablicy 2D z tablic 1D każdą z nich "zbundlować" do jednoelementowego klastra. Powstanie tablica 1D klastrów, z których każdy zawiera tablicę 1D floatów. Tylko w ten sposób każda podtablica (wiersz) może mieć różną ilość elementów. Na takiej tablicy nie zadziała jednak funkcja Write to Spreasheet. Trzeba zapisywać linia po linii używając np. Format to File.
ODPOWIEDZ