Witam!
Proszę o pomoc w utworzeniu struktury algorytmu wybierającego.
Program ma polegać na przypisaniu jednej wartości (wejściowej) (liczba typu "0.000") do konkretnego przedziału (jednego z trzynastu) i wystawić na wyjście inną liczbę (stałą i przypisaną tylko temu przedziałowi) (liczba typu "0.000").
W skrócie działanie algorytmu sprowadza się do: zobacz do którego przedziału należy pomiar i podaj przelicznik dla tego przedziału.
Próbowałem z wbudowaną funkcją CASE, ale ona nie umożliwia wielokrotnego wyboru. Jak to sprytnie rozwiązać?
Wielkokrotna funkcja CASE lub IF
Re: Wielkokrotna funkcja CASE lub IF
Witaj,
co powiesz na takie rozwiązanie?
co powiesz na takie rozwiązanie?
- Załączniki
-
- case.vi
- VI
- (7.78 KiB) Pobrany 289 razy
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Re: Wielkokrotna funkcja CASE lub IF
m3wm3 zakładasz, że przedziały są połączone, tzn. 0-5, 5-10, itd. A co jeśli chciałby mieć różne przedziały, np. 0-5, 13-17, 145-200....
A teraz odpowiedź dla teslabox:
Do struktury CASE nie można podpinać liczb typu double czy single. W zasadzie można, ale zostanie przeprowadzona konwersja do I32 (chyba).
Jeśli już chciałbyś podpinać takie liczby do wejścia struktury CASE to najlepiej jest je... pomnożyć Tak, żeby uzyskać wartość całkowitą. Zakładasz, że maksymalnie masz 3 liczby po przecinku więc mnożysz przez 1000 i konwertujesz do I32. Potem już możesz sobie w strukturze CASE tworzyć przedziały jakie chcesz.
A teraz odpowiedź dla teslabox:
Do struktury CASE nie można podpinać liczb typu double czy single. W zasadzie można, ale zostanie przeprowadzona konwersja do I32 (chyba).
Jeśli już chciałbyś podpinać takie liczby do wejścia struktury CASE to najlepiej jest je... pomnożyć Tak, żeby uzyskać wartość całkowitą. Zakładasz, że maksymalnie masz 3 liczby po przecinku więc mnożysz przez 1000 i konwertujesz do I32. Potem już możesz sobie w strukturze CASE tworzyć przedziały jakie chcesz.
Wielkokrotna funkcja CASE lub IF
Rzeczywiście - mój błąd
Za to przy okazji dowiedziałem się o zakresach w CASE, także dzięki
Za to przy okazji dowiedziałem się o zakresach w CASE, także dzięki
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Re: Wielkokrotna funkcja CASE lub IF
Żaden błąd... po prostu inne podejście do problemu ;) Wszak nie do końca sprecyzowane było pytanie.
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Wielkokrotna funkcja CASE lub IF
Mi się wydaje, że ten case tu jest w ogóle nie potrzebny i tylko zagmatwał problem. Podejście numer 1 było lepsze, pętla FOR i sprawa jest jasna. A co do tych różnych przedziałów to wystarczy skorzystać z klastra o tak: