Avatar billede dingemann Novice
03. oktober 2010 - 18:40 Der er 10 kommentarer og
1 løsning

sinusfælden

Hej folkens,

Jeg burde måske placere dette spørgsmål i et andet forum, men måske nogle af Jer kender til problemet og evt en løsning.

Min matematik er efterhånden rusten men da jeg skal til at programmere noget med noget trigonometri har jeg taget skridte fuldt ud og er gået igang med at lave en omgang OOP med trigonometri-beregner.

I nogle tilfælde er det så sådan at man bliver nødt til at gå igennem sinusrelationen for at få finde en vinkel. Og derfor også sinusfælden som så skal tackles. Til Jer der ikke kender den så kan det siges at fx

asin(A)
og
180-asin(A)

giver forskellige vinkler som resultatet hvoraf kun en af dem er den rigtige.

Mit spørgsmål er så - hvordan kommer jeg igennem sinusfælden med det rigtige resultat? Kan jeg på nogen måde teste resultaterne for at finde det rigtige?
Avatar billede arne_v Ekspert
03. oktober 2010 - 18:52 #1
Programmering er jo implementation af kendt logik ikke en ny logik.

Så hvis du kan udregne det med papir, blyant og lommeregner - så kan du også programmere det.

Der er både en Math.Sin og en Math.Asin så du kan regne begge veje.
Avatar billede dingemann Novice
03. oktober 2010 - 19:19 #2
Hej Arne,

Dertil er jeg også nået. Men jeg er så rusten i matematik så jeg ikke kender logikken for at verificere hvilken løsning der er den korrekte. Og det var lidt det jeg var ude efter...
Avatar billede arne_v Ekspert
03. oktober 2010 - 19:24 #3
Du kan vel indsætte de to mulige værdier i den originale ligning og se hvilken der passer.
Avatar billede dingemann Novice
03. oktober 2010 - 19:29 #4
Hej igen,


Nu er der jo sådan set ingen original ligning - bare en masse beregninger på på de manglende vinkler og sider.
Jeg tror det ender med at jeg ikke kan validere resultatet af sinusrelationen og komme uden om sinusfælden.
Avatar billede tjacob Juniormester
03. oktober 2010 - 19:30 #5
Det er umuligt at afgøre ud fra tallet alene.

Det drejer sig om vinklen er over eller under 90 grader.
Sinus er ens for f.eks. 45 grader og 135 grader.

Hvis du derfor kun har sinusværdien (0,7071), og tager Asin er det umuligt at afgøre om vinklen er 45 eller 135.

På de fleste lommeregnere (inklusive den i Windows) returneres altid den spidse vinkel. (i dette tilfælde 45).
Avatar billede dingemann Novice
03. oktober 2010 - 19:35 #6
Hej,

Hvis jeg nu har en anden vinkel, fx A og den beregnede vinkel via sinus er vinklen B, vil jeg så kunne sige noget?
Man må vel kunne lægge A og B sammen og så skal resultatet vel være under 180... men går den altid?
Avatar billede tjacob Juniormester
03. oktober 2010 - 19:56 #7
Nej det går ikke.
Kun hvis A er større end den mindste B.
Hvis A er mindre, så vil A + den største B også være under 180.

Hvis vi tager mit eksempel fra før:
Hvis A er under 45, så er både B=45 og B=135 gyldige, dvs at A+B er under 180.
Avatar billede arne_v Ekspert
03. oktober 2010 - 20:09 #8
Enten er der en (eller flere) ligning(er) som kan afgøre om det er v eller 180-v der er rigtig.

Eller så er begge svar rigtige.
Avatar billede dingemann Novice
03. oktober 2010 - 20:31 #9
Men Arne, når du skriver at der er en eller flere ligninger der kan afgøre rigtigheden, så er det jo stadigvæk en ret dynamisk størrelse at programmere efter. Ligningen(erne) der skal anvendes er jo forskellige afhængig af kendte værdier.

Og tjacob: det var præcis i den retning snakken skulle drejes. Tak fordi du satte ord på det :D
Avatar billede dingemann Novice
07. februar 2011 - 14:00 #10
jeg lukker - jer der vil ha point har to dage til at smide et svar :D
Avatar billede dingemann Novice
15. februar 2011 - 21:27 #11
et svar!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Sparekassen Danmark

RPA-udvikler til IT-afdelingen

Udviklings- og Forenklingsstyrelsen

Data Engineers til bekæmpelse af skatteunddragelse

Udviklings- og Forenklingsstyrelsen

Seniorudviklere med lyst til faglige udfordringer

Sparekassen Danmark

Systemudvikler