Max wartości z jedenj tablicy.

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Sargath
Posty: 15
Rejestracja: 24 paź 2006 00:00

Max wartości z jedenj tablicy.

Post autor: Sargath »

Witam!

Mam pytanie dot. tablic, otóż chodzi mi o to aby z jednej tablicy wyciągnąć kilka maksymalnych wartości. Dokładnie chciałbym aby w sytuacji, gdy znajdują sie dwie wartość w tablicy np [0,0,0.12,0.12,0] wskazał mi że maksymalna wartość to 0.12 w indeksach o nr 2 i 3.

Oczywiście w labview jest taka funkcja jak Max Array Max & Min lecz niestety nie wskazuje on w index array dwóch indeksów o wartościach 0.12. Wskazuje natomiast ostatnią maks. wartość lub pierwszą która sie pojawi w tablicy.

Dlaczego takie coś?. Z niektórych wyników działania programu pojawiają sie dwie te same wartości z różnych wybranych parametrów stąd mój problem.

Z góry dzięki za pomoc i pozdrawiam.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Max wartości z jedenj tablicy.

Post autor: Mikrobi »

Funkcji takiej nie ma, jednak można to zrobić następująco: [pętla While i 2 ShiftRegistery] 1. Wprowadzić tablicę przez Shift Register1 do pętli while 2. Zastosować funkcję Array Max & Min: - zwróci ona indeks i wartość - zapisać wartość do ShiftRegister2 3. Usunąć z tablicy pozycję na którą wskazuje indeks podany przez Array Max & Min 4. Ponownie zakręcić pętlą i sprawdzić wartość uzyskanego elementu maksymalnego
JEŚLi - wartość jest równa wartości z ShiftRegister2 : -> pkt.2 - w przeciwnym przypadku zatrzymujesz pętlę
Uzyskane indeksy elementów maksymalnych w każdej iteracji wypuszczasz przez tunel indeksowany :arrow: Tutaj trzeba pamiętać że akurat w pętli while trzeba włączyć indeksowanie tunelu (PKM >> Enable Indexing) :arrow: czywiście jeśli wracasz do pkt.2, w przeciwnym przypadku - zakończenie pętli - oznacza to że ostatni indeks już nie jest taki sam jak poprzednio.
Całość zamknięta w subVIju z opisem w pomocy kontekstowej zamyka problem.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
ODPOWIEDZ