Posted October 19, 200915 yr Er det noen her med litt kontroll på excel og matte som kan hjelpe meg? Jeg prøver å konvertere følgende excelformel til en vanlige matteformel. -ATAN(((L11*SIN((PI()/180)*((K11-M11)-180))/J11)))/(PI()/180)) L11 = X K11 = Y M11 = Z J11 = K Noen sofagenier som kan bistå?
October 19, 200915 yr Heisann, her er trikset å passe på parantesene. Hvis du teller etter ser du at det er 10 venstreparanteser og 11 høyreparanteser, dvs at det er en parantes som ikke er lukket. Dersom du fjerner den siste parantesen, skal du få noe slik som (store forbehold om feil!) arctan(X*sin(argument))/(pi/180) der argument = (Y-Z-180)/K. Men dersom det er en parantes som mangler et sted, kan du få noe annet. Var det dette du lurte på?
October 20, 200915 yr Author Takk for at du prøver å hjelpe. Jeg postet ikke hele excel formelen som jeg kanskje burde, og da er er det riktig antall paranteser: =IF(M11=0;0;-ATAN(((L11*SIN((PI()/180)*((K11-M11)-180))/J11)))/(PI()/180)) Jeg kan jo gi variablene noen tilfeldige verdier så skal jeg se om jeg kommer frem til samme resultat. X=20 Y=270 Z=360 K=100 Da kommer jeg frem til -2480,5 som er feil. Utregningen i excel som er riktig gir -11.
October 20, 200915 yr Author Hjelper det å sette kalkulatoren til "Rad"? Jeg føler meg like dum hver gang noen sier det til meg :crazy: Men svaret jeg får da blir -83, så det er en del nærmere, men ikke helt i mål enda :whistle: Formelen er for å kalkulere wind correction angle. Det ultimate målet mitt er å få gjort dette om til en JavaScript formel som så skal bli brukt i et acrobat dokument jeg lager. Selve formelen for WCA er noe enklere: WCA = ArcTan (Vindhastighet * Sin(Vindvinkel)/TAS) Problemet mitt har vært å få den til å fungere uavhengi om folk har et track på 350 eller 010.
October 20, 200915 yr Her er et screenshot fra mitt eget Excel-ark: Formelen i feltet H3 som er det hvite feltet under "TH" er: =IF(D3=0;"";(IF(ROUND((G3+(DEGREES(ASIN((F3*SIN(RADIANS(E3-G3)))/D3))));0)>360;ROUND((G3+(DEGREES(ASIN((F3*SIN(RADIANS(E3-G3)))/D3))));0)-360;IF(ROUND((G3+(DEGREES(ASIN((F3*SIN(RADIANS(E3-G3)))/D3))));0)<1;ROUND((G3+(DEGREES(ASIN((F3*SIN(RADIANS(E3-G3)))/D3))));0)+360;ROUND((G3+(DEGREES(ASIN((F3*SIN(RADIANS(E3-G3)))/D3))));0))))) TAS er da skrevet i feltet D3 Vindretning er i feltet E3 Vindhastighet er i feltet F3 Sant trekk er i feltet G3 Ettersom formelen har flere "If" om retninger blir til høyere eller lavere tall enn 360, så gir den resultater som alltid er korrekt på en kompassrose. Enten man skriver en formel i Excel eller programmerer feks en Casio kalkulator, så må man få inn en formel som inkluderer "hvis"... Formelen for bakkehastighet "GS" er: =IF(D3=0;"";((ROUND(D3*COS(RADIANS(ABS(G3-H3)));0))+(F3*(-COS(RADIANS(ABS(G3-E3))))))) Håper det kan være til hjelp... /T
October 20, 200915 yr Author Kjempefint Torbjørn. I utgangspunktet kunne jeg jo prøvd å bruke de samme IF uttrykkene i JavaScript, men jeg kan bare nok JavaScript til å gjøre matematiske utregninger. Det er derfor jeg ser etter en ren matematisk måte å løse det samme problemet. Men hvis ingen andre her ser en slik løsning, så må jeg bare se etter hjelp til å løse problemet med JS.
October 20, 200915 yr Jeg kan dessverre ingenting om JavaScript, så der må jeg trekke til siden... /T
October 21, 200915 yr Tenkte på det samme Tom. Rolf: For det første det er for mange paranteser i denne formelen. Du kan sløyfe noen. Se om denne formelen er riktig: Du må ha kalkulatår stilt til RAD for å få lik svar som i excel.
October 21, 200915 yr Har delt det før her på FS.no, og det ligger fortsatt ute, men jeg poste linken en gang til... http://idisk.mac.com/t.fjeld//Public/Operational Flight Plan19.xls Hilsen T
October 21, 200915 yr ATAN er vel arcus tangens, dvs den inverse tangensfunksjonen. Ellers er jeg enig.
October 21, 200915 yr Author Dette får jeg og det er jo da helt riktig . Takk skal dere ha for hjelpen. Nå må jeg bare få gjort om dette til JavaScript og så er jeg nesten ferdig. Hvis det forresten er noen her som kan litt JS så si gjerne i fra. Jeg skulle gjerne vist deg koden så jeg kan få fjernet evt. feil.
October 21, 200915 yr Det er simpelt: var x = 20; var y = 270; var z = 360; var k = 100; alert(-Math.atan(x*Math.sin(Math.PI/180*(y-z-180))/k)/(Math.PI/180));
October 21, 200915 yr Har delt det før her på FS.no, og det ligger fortsatt ute, men jeg poste linken en gang til... http://idisk.mac.com/t.fjeld//Public/Operational Flight Plan19.xls Takker, tror du dette kan konverteres til Boeing data?
October 21, 200915 yr Kan nok gjøres, men et slikt regneark er ikke riktig verktøy for større maskiner. Hilsen T
October 22, 200915 yr Author Takk for hjelpen Martin. Fikk det til å fungere tilslutt Men er det noen som vet hva jeg gjør galt her? // Get interval fuel, next // minimum fuel, the final reserve fuel // and define the reserve. var int = getField("IntRow1_3").value; var nextmin = getField("MINRow2").value; var finres = getField("USgalFinalReserve").value; var res; // If MINRow2 has a value, set res to 0. // If MINRow2 doesn't have a value, set res = finres if (MINRow2) { res = 0; } else { res = finres; } var bsa = nextmin + int + res; // If int is not zero, // set the value of this field // to the result. Otherwise, display nothing if (int) { event.value = bsa; } else { event.value = ""; } Jeg vet dette er veldig rotete, men jeg kan egentlig ikke JS :whistle: Det jeg prøver å oppnå her er at hvis MINRow2 har en verdi så vil jeg at res = 0. Men hvis MINRow2 ikke har en verdi så vil jeg at res = USgalFinalReserve. De siste 15 linjene er der for å gjøre det slik at hvis IntRow1_3 ikke har en verdi, så skal event.value = "".
October 22, 200915 yr du kan ikke refererer til MINRow2 da det er navne på feltet og ikke en js variabel. Enten så inn i if skriver du getField("MINRow2").value eller nextmin Iallefall ut fra koden du har postet. Og en ting til. Du får lettere oversikt hvis du lager if, for osv i slik form: if(et eller annet) { det skal skje noe } else { det skal skje noe annet } isteden for: if(et eller annet){ det skal skje noe } else{ det skal skje noe annet } Det skal være tabulator forant det skal skje noe... Da for du fin og oversiktelig kode.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.