Wielokrotność liczby :)

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
toughlikedaddy
Posty: 2
Rejestracja: 23 kwie 2014 14:49
Wersja środowiska: LabVIEW 2013

Wielokrotność liczby :)

Post autor: toughlikedaddy »

Cześć, jestem nowym użytkownikiem LabVIEW i kompletnie sobie z tym nie radzę, a niestety mam taki przedmiot na studiach, także moje pytania będą trywialne.

po 1. mam za zadanie: "Napisz funkcję (subVI), która na wejściu posiada tablicę danych numerycznych (dbl) o dowolnej długości oraz parametr m. Wyjściem tej funkcji powinna byd tablica dwuwymiarowa o wymiarze [N/m x m], w której kolejne wiersze powstają poprzez przenoszenie N/m elementów tablicy wejściowej do kolejnych wierszy tablicy wyjściowej. Jeżeli wymiar (długośd) tablicy wejściowej nie dzieli się bez reszty przez m, to funkcja powinna zwrócid błąd o nr. 5012 i o treści „niewłaściwy wymiar tablicy wejściowej”. Np. jeżeli tablicą wejściową jest *1, 2, 3, 4, 5, 6+, m=2, to na wyjściu otrzymujemy tablicę: [1, 2, 3; 4, 5, 6]"

I nie wiem, jak sprawdzić w Labview, czy N jest podzielne przez m.
Załączam rozwiązanie znajomego, które wydaje mi się nieprawidłowe, ale może dlatego, że nie rozumiem :P

PS. Korzystając z okacji, mógłby mi ktoś wytłumaczyć najprostszymi słowami, kiedy potrzebne są rejestry przesuwne? L-)
Załączniki
labview.jpg
Bernard_K
Posty: 26
Rejestracja: 07 sty 2010 23:32
Wersja środowiska: LabVIEW 2013
Lokalizacja: Wrocław / Oleśnica

Re: Wielokrotność liczby :)

Post autor: Bernard_K »

Witaj na forum.

Jeśli chodzi o Twoje zadanie, odnoszę wrażenie, że już je tu widziałem i to z rozwiązaniem:
http://www.labview.pl/viewtopic.php?f=3 ... t=0#p25073 ;)
I nie wiem, jak sprawdzić w Labview, czy N jest podzielne przez m.
A jak byś to sprawdził "nie w LabView" , np. ręcznie na papierze ?
Podpowiem, że to się chyba "dzielenie z resztą" nazywało ;)
PS. Korzystając z okacji, mógłby mi ktoś wytłumaczyć najprostszymi słowami, kiedy potrzebne są rejestry przesuwne? L-)
Nie wiem, czy to będzie najprościej jak się da, ale spróbuję.
Rejestr przesuwny (shift register) to chyba najprostsza metoda realizacji w LabVIEW komórki pamiętającej - wykorzystuje się go wtedy, kiedy zachodzi potrzeba zapamiętania wartości z jednej iteracji pętli i przekazania do następnej iteracji.
Rejestr przesuwny może pamiętać nie tylko wartość ostatniej iteracji, ale także kilku poprzednich (trzeba sobie go rozciągnąć w dół) - tzw. stacked shift register.
Rejestru przesuwnego można np. użyć do budowania tablicy w pętli; wtedy w każdym obiegu do tablicy początkowej (z reguły pustej) dopisywany jest element.
I tak dalej w ten deseń.

Tu masz opis po polsku:
http://automatykab2b.pl/technika/989-sz ... w-czesc-ii
a tu masz oficjalny help z obrazkami po angielsku:
http://www.ni.com/gettingstarted/labvie ... 0Registers

Generalnie Pan jesteś leniwy, Panie, bo to wszystko w tych Internetach teraz jest, ino trza se znaleźć :p
ODPOWIEDZ