Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
piotrek1349
Posty: 4 Rejestracja: 21 sty 2016 11:51
Wersja środowiska: LabVIEW 2014
Post
autor: piotrek1349 » 21 sty 2016 16:23
Witam,
Mam pewien problem. Odczytuję plik txt który następnie poddaje obróbce. Wartości mam w poniższy sposób:
Kod: Zaznacz cały
0.006 -0.001 -0.004 -0.002 -0.028 -0.002 0.031
-0.008 -0.005 -0.007 -0.024 0.005 0.004
-0.014 -0.002 -0.011 -0.004 0.002
-0.008 -0.003 0.004 -0.003
-0.011 0.002 0.001
0.004 0.005
0.008
0.005 -0.002 -0.008 -0.002 0.006 0.011 0.023
-0.008 -0.004 -0.004 -0.010 0.001 0.003
-0.007 -0.001 -0.012 0.007 0.008
-0.015 -0.004 0.002 0.001
-0.007 -0.002 0.001
0.008 -0.002
0.005
0.000 -0.001 0.004 0.004 -0.006 -0.007 0.009
0.000 -0.006 -0.003 -0.012 -0.005 0.002
-0.007 0.001 -0.004 0.003 0.008
-0.005 -0.006 0.005 0.006
-0.005 0.007 0.006
0.007 -0.005
0.005
Chciałbym zrobić aby liczyło mi średnią z jednego trójkąta, czyli 28 cyfr i zapisywało do pliku. Jak to można zrobić w łatwy sposób?
Poniżej zamieszczam program który obrabia mi plik.
Pozdrawiam
Załączniki
Delete from String-1.vi
(10.62 KiB) Pobrany 407 razy
dajpanspokój
Posty: 145 Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016
Post
autor: dajpanspokój » 21 sty 2016 17:20
Hej
Ja bym to zrobil tak:
Odczytujesz plik jako tablicę stringów ze spacja jako przerywnik i dla każdego rzędu robisz schemat:
1. Sprawdz jak duzy jest rzad (nie bierz pod uwage pustych stringow)
2. Jezeli rzad ma wiecej niz jeden element, to dodaj ten rzad do tablicy
3. Jeżeli rzad ma tyko jeden element, to oblicz srednia i zresetuj tablicę
4. Wyrzuć na wyjscie tylko srednie
Załączniki
piotrek1349
Posty: 4 Rejestracja: 21 sty 2016 11:51
Wersja środowiska: LabVIEW 2014
Post
autor: piotrek1349 » 21 sty 2016 20:27
Niestety ale twój program źle chodzi:/
Wyznacza jakieś wartości ale nie prawidłowe
Mając taki plik
Kod: Zaznacz cały
0.006 -0.001 -0.004 -0.002 -0.028 -0.002 0.031
-0.008 -0.005 -0.007 -0.024 0.005 0.004
-0.014 -0.002 -0.011 -0.004 0.002
-0.008 -0.003 0.004 -0.003
-0.011 0.002 0.001
0.004 0.005
0.008
0.005 -0.002 -0.008 -0.002 0.006 0.011 0.023
-0.008 -0.004 -0.004 -0.010 0.001 0.003
-0.007 -0.001 -0.012 0.007 0.008
-0.015 -0.004 0.002 0.001
-0.007 -0.002 0.001
0.008 -0.002
0.005
0.000 -0.001 0.004 0.004 -0.006 -0.007 0.009
0.000 -0.006 -0.003 -0.012 -0.005 0.002
-0.007 0.001 -0.004 0.003 0.008
-0.005 -0.006 0.005 0.006
-0.005 0.007 0.006
0.007 -0.005
0.005
0.002 -0.008 -0.004 0.000 -0.009 0.002 0.014
-0.004 -0.007 0.000 -0.016 0.006 -0.000
-0.005 0.004 -0.007 0.004 -0.000
-0.010 -0.010 0.005 -0.000
-0.006 0.008 -0.009
0.005 0.002
0.007
Powinien zwracać średnią np z
Kod: Zaznacz cały
0.006 -0.001 -0.004 -0.002 -0.028 -0.002 0.031
-0.008 -0.005 -0.007 -0.024 0.005 0.004
-0.014 -0.002 -0.011 -0.004 0.002
-0.008 -0.003 0.004 -0.003
-0.011 0.002 0.001
0.004 0.005
0.008
następnie z
Kod: Zaznacz cały
0.005 -0.002 -0.008 -0.002 0.006 0.011 0.023
-0.008 -0.004 -0.004 -0.010 0.001 0.003
-0.007 -0.001 -0.012 0.007 0.008
-0.015 -0.004 0.002 0.001
-0.007 -0.002 0.001
0.008 -0.002
0.005
I powinien liczyć tak do końca pliku. W tym momencie nie wiem jak on liczy...
Mógłby ktoś poradzić?
Wstawiam plik labview do załącznika.
Pozdrawiam
Załączniki
srednia.vi
(16.98 KiB) Pobrany 406 razy
dajpanspokój
Posty: 145 Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016
Post
autor: dajpanspokój » 21 sty 2016 21:03
Hej, nie moge pobrac twojego pliku bo jest w LV2015.
Ale nie czaje, przetestowalem recznie i dziala poprawnie. Moze ci wyswietla inny format niz mi. Nacisnij prawym na te wyniki i display format-> i zwieksz liczbę przy Digits.
Albo twoj komputer woli kropki od przecinkow, wtedy musisz wywalic ta czesc zamieniajaca kropki na przecinki
Załączniki
kropki.PNG (905 Bajtów) Przejrzano 9909 razy
piotrek1349
Posty: 4 Rejestracja: 21 sty 2016 11:51
Wersja środowiska: LabVIEW 2014
Post
autor: piotrek1349 » 22 sty 2016 11:17
Witam,
Mój komputer woli przecinki:) Kropek nie potrafi policzyć.
Z formatem raczej nie jest sprawa gdyż wartości są inne.
Z pierwszego trójkąta powinna wyjść średnia: -0,002321429 a według labview wychodzi -1,23909E-19
Z drugiego trójkąta powinno wyjść -0,000250000 natomiast otrzymuje: -0,00583333.
Jak widać wartości są inne.
Jakieś pomysły?
Załączam plik do wersji 2014.
Załączniki
srednia.vi
(10.83 KiB) Pobrany 400 razy
dajpanspokój
Posty: 145 Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016
Post
autor: dajpanspokój » 22 sty 2016 12:17
Hej
Przeciagnij sobie moj wczesniejszy obrazek na swojego labview i powinno ci to dzialac (nie zapomnij usunac tego zamieniania na przecinki)
W casie po prawej stronie dla wartosci innej niz 1 powinienes miec:
default.PNG (3.36 KiB) Przejrzano 9884 razy
Załączam caly vi
Załączniki
trojkaty.vi
(14.97 KiB) Pobrany 399 razy
TMa
Posty: 203 Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017
Post
autor: TMa » 22 sty 2016 14:22
dajpanspokój pisze: Albo twoj komputer woli kropki od przecinkow, wtedy musisz wywalic ta czesc zamieniajaca kropki na przecinki
Jest to sprawa zmiany Decimal Symbol w systemowych Ustawień Regionalnych. Poczytaj
tutaj
Warto skorzystać z wejścia
format z
Read From Spreadsheet File VI . Za jego pomocą można ustawić tzw. decimal separator przy czytaniu pliku (popatrz na
Localization Codes )
Ostatnio zmieniony 22 sty 2016 14:22 przez
TMa , łącznie zmieniany 1 raz.
piotrek1349
Posty: 4 Rejestracja: 21 sty 2016 11:51
Wersja środowiska: LabVIEW 2014
Post
autor: piotrek1349 » 22 sty 2016 14:34
Super dzięki.
Działa:)