Niech A będzie tablicą o dowolnym wymiarze (2 lub 3 w moim przypadku). Jak mogę spłaszczyć (przekształcić do 1D) tę tablicę bez znajomości z góry liczby wymiarów?Jak spłaszczyć (przekształcić do 1D) tablicę dowolnego wymiaru w Labview
Gdybym znał liczbę wymiarów, mógłbym łatwo uzyskać całkowitą liczbę elementów (za pomocą kombinacji funkcji "Rozmiar matrycy"), a następnie zmienić kształt A na 1D, używając tego numeru. Niestety, funkcja "Rozmiar matrycy" sama zwraca tablicę, której liczba elementów jest równa liczbie wymiarów, co prowadzi nas z powrotem do początkowego problemu.
Mam "rozwiązany" problem, tworząc funkcję (VI), która zwraca całkowitą liczbę elementów tablicy 3D (najbardziej typowy rodzaj tablic, które mam zamiar obsłużyć), tak, że mogę dać to jako argument funkcji przekształcenia. Problem: nie zaakceptuje tablicy 2D, mimo że algorytm działałby z taką tablicą! (Wydaje się, że w Labview, kontrole tablicowe są ściśle związane z liczbą akceptowanych wymiarów, co nie ma miejsca w przypadku Matlaba na przykład).
Przyjemnym rozwiązaniem byłby prosty sposób na pomnożenie wszystkich elementów tablicy podanej w "Rozmiar tablicy", aby szybko uzyskać całkowitą liczbę elementów, bez konieczności zawijania w pod VI. Ogólnie rzecz biorąc, czy nie istnieje prosty i skuteczny sposób rozwiązania tego problemu? Powinno być dość standardowy ..
Ah, brakowało mi funkcji "MultiplyArrayElements"! To jest proste rozwiązanie, którego szukałem .. Dziękuję bardzo! –