Wartość średnia

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

Wartość średnia

Post autor: piotrek1349 »

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
Awatar użytkownika
dajpanspokój
Posty: 145
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016

Re: Wartość średnia

Post autor: dajpanspokój »

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
trojkaty.png
Obrazek
piotrek1349
Posty: 4
Rejestracja: 21 sty 2016 11:51
Wersja środowiska: LabVIEW 2014

Wartość średnia

Post autor: piotrek1349 »

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 403 razy
Awatar użytkownika
dajpanspokój
Posty: 145
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016

Wartość średnia

Post autor: dajpanspokój »

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
kropki.PNG (905 Bajtów) Przejrzano 9879 razy
Obrazek
piotrek1349
Posty: 4
Rejestracja: 21 sty 2016 11:51
Wersja środowiska: LabVIEW 2014

Wartość średnia

Post autor: piotrek1349 »

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 399 razy
Awatar użytkownika
dajpanspokój
Posty: 145
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016

Re: Wartość średnia

Post autor: dajpanspokój »

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
default.PNG (3.36 KiB) Przejrzano 9854 razy
Załączam caly vi
Załączniki
trojkaty.vi
(14.97 KiB) Pobrany 399 razy
Obrazek
TMa
Posty: 203
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017

Re: Wartość średnia

Post autor: TMa »

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

Wartość średnia

Post autor: piotrek1349 »

Super dzięki.
Działa:)
ODPOWIEDZ