2nd Trikker'n Posted May 23, 2010 Share Posted May 23, 2010 La meg beskrive problemstillingen litt bedre. Jeg leser NMEA data. De kommer ca hvert annet sekund, og spretter litt fram og tilbake. derfor vil jeg bruke gjennonsnittsberegning for å "dempe" kompasskursens hopp og sprett. Gjennomsnitt er enkelt å beregne. Legg sammen en rekke tall og del på antallet. Men hva gjør jeg på en nordlig kurs? La meg ta et enkelt eksempel med kun to kurser. 3580 og 10 . Summert gir det 3590 og delt på 2 blir da 179,50 Riktig svar er 359,50 Jeg ser at 179,50 er feil, og det gjør dere også, men ikke PCen min. Derfor er jeg på jakt etter en algoritme som beregner gjennomsnitt innenfor en tallrekke fra 0 til 359, hvor differansen mellom 0 og 359 = 1. Quote Link to post Share on other sites More sharing options...
landkrabbe Posted May 24, 2010 Share Posted May 24, 2010 Gjør kompasskursene om til vektorer, legg sammen vektorene, deretter beregner du retingen til summen av vektorene. Her er en liten snutt pseudo-code: sum_kurs_x = 0; sum_kurs_y = 0; for (i = 0; i < N; i++) { sum_kurs_x = cos(kompasskurs[i]); sum_kurs_y = sin(kompasskurs[i]); } gjennomsnittskurs = atan2(sum_kurs_y, sum_kurs_x); For å beregne vinkelen til en vektor er det viktig at du bruker funksjonen atan2(y, x) Funksjonen atan(y/x) duger ikke. Den kan ikke vite i hvilken kvadrant vektoren peker, pluss at du kan få "Divisjon by Zero" hvis du seiler rett nord eller sør. Quote Link to post Share on other sites More sharing options...
2nd Trikker'n Posted May 24, 2010 Author Share Posted May 24, 2010 Hjertelig takk. Akkurat det jeg trengte. atan2 er riktig nok ukjent for meg, men det finner jeg sikkert ut av på nettet. Det er utrolig hva man kan få svar på her på BP. Quote Link to post Share on other sites More sharing options...
ahamm Posted May 24, 2010 Share Posted May 24, 2010 Mulig jeg er helt på bærtur her, men jeg forstår ikke hordan du skal bruke dette. Legger du inn i regneark underveis, eller har du pc koblet opp til gps som lagrer kursene inn på ett eller annet program? Quote Har "Daycruiser", er "folk i båt", opptatt av kortsiktig glede i form av fartsrus, beryktet for å bruke den fryktelige paraplydreggen. Link to post Share on other sites More sharing options...
2nd Trikker'n Posted May 24, 2010 Author Share Posted May 24, 2010 Jeg kobler PCen til en eller flere NMEA talkers. F.eks en Simrad AT10 som gir NMEA fra Simnett. Kan koble meg til AIS og radar også. Jeg henter kart fra Statens kartverk sin internett tjeneste, men henter primært bare oversiktskart. Detaljerte kart er tilgjengelig, men tillates ikke brukt til navigasjon. Et unntak er dybdekart. Ved å klikke på oversiktkartet laster jeg ned detaljert dybdeinformasjon. (Ser på det som akseptabelt da egen båt ikke beveger seg i dybdekartet og dybdekartet kun er informasjon). Jeg viser "all" NMEA informasjon i egnede "vinduer". Fordi NMEA data kommer sånn ca. hvert annet sekund og "flagrer litt i hytt og pine" filtrerer jeg de over tid for å få en "menneskevennlig" visning. Dette er ikke noe problem med hastigheter og posisjoner, men ved asimuth data blir dette litt kinkig - og det har jeg slitt med. Nå har jeg fått svaret. Siden jeg kan lagre data, så kan jeg bygge opp en "database" som gir mulighet til å plotte polardiagram og vise en effektivitets verdi basert på hva som er oppnådd tidligere ved nåværende vind- retning og styrke. I meget korte trekk. Det er bare min egen fantasi som begrenser meg i hva jeg kan gjøre. Quote Link to post Share on other sites More sharing options...
ahamm Posted May 24, 2010 Share Posted May 24, 2010 Hehe. Noen er LITT mere interessert i hobbyen sin enn andre... Morro med noe som er utenom det vanlige Quote Har "Daycruiser", er "folk i båt", opptatt av kortsiktig glede i form av fartsrus, beryktet for å bruke den fryktelige paraplydreggen. Link to post Share on other sites More sharing options...
2nd Trikker'n Posted May 24, 2010 Author Share Posted May 24, 2010 Det synes jeg også. Quote Link to post Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can write a topic or comment now, it will be posted after you have registered. If you have an account, sign in now to post with your account.