|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Feb 2001
Città: Pescara
Messaggi: 10542
|
arcoseno e arcocoseno... devo implementarli...
Salve,
ho bisogno di un metodo per calcolare l'arcoseno e l'arcocoseno per tirar fuori i gradi di un angolo avendo a disposizione seno e coseno. In java abbiamo dei metodi come asin e acos ma io sto sviluppando in JavaME e la classe Math di JavaME non include questi metodi... Come posso implementare questi metodi avendo a disposizione solo cos, sin e tan? Usare una libreria esterna è escluso. Qualche idea? Ultima modifica di sblantipodi : 13-06-2008 alle 14:04. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Quote:
|
|
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Feb 2001
Città: Pescara
Messaggi: 10542
|
ehm... si ma il calcolo non va fatto in questo modo...
sin^-1 x != 1/(sin x) purtroppo Quote:
sto sviluppando su un telefono che deve aggiornare questi valori ogni ottavo di secondo con una svg che deve muoversi di conseguenza... taylor non mi sembra il caso so che c'è un'alternativa in quanto le funzioni asin e acos di JavaSE utilizzano algoritmi molto + efficienti e precisi di taylor, solo che non riesco a trovarli Ultima modifica di sblantipodi : 13-06-2008 alle 14:04. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2788
|
La precisione in Taylor è arbitraria, l'unico problema può essere l'inefficienza... Comunque se usassi Taylor per migliorare l'efficienza potresti calcolarti a priori i coefficienti delle x^(2n+1). Di più non so aiutarti, mi dispiace
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Purtroppo quelle sono le "sfigatissime" secante e cosecante... peraltro penso che ogni calcolatrice (e persino le funzioni di libreria) usino algoritmi basati sulla formula di Taylor per il calcolo delle funzioni trigonometriche, esponenziali, logaritmiche... quindi dovrebbe essere un buon compromesso.
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Ho comunque trovato in questa pagina http://www.shellandslate.com/computermath101.html una implementazione (in C++) dell'atan2. Non mi sembra complessa, potresti vedere se riesci a farne una trasposizione in Java. Occhio che per quel che mi riguarda potrebbe essere sballata o implementare la radice quadrata
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7262
|
potresti usare il metodo di newton (http://it.wikipedia.org/wiki/Metodo_delle_tangenti)
|
|
|
|
|
|
#9 | |
|
Bannato
Iscritto dal: Feb 2001
Città: Pescara
Messaggi: 10542
|
ndakota stava semplicemente chiedendo non c'è bisogno di fare quelle facce.
Quote:
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7262
|
ho trovato questa libreria http://www.sfc.wide.ad.jp/~nandu/ipl...lang/Math.html forse ti può interessare come è implementata http://www.sfc.wide.ad.jp/~nandu/ipl1bc00/lejos.tar.gz
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
Quote:
Comunque confermo che le calcolatrici usano lo sviluppo di Taylor,i prof di Analisi lo diceva sempre
__________________
Khelidan |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
(mi sono imbattutto in una questione analoga dovendo implementare delle trasformazioni un CUDA dove anche li' quelle funzioni mancano)
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Non so se può interessare...
http://discussion.forum.nokia.com/fo...ad.php?t=72840
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: May 2004
Messaggi: 84
|
La classe Math di Java si appoggia a delle librerie matematiche scritte in C (credo della stessa Sun): ftp://ftp.netlib.org/fdlibm.tar
forse può esserti utile Mi sembra che sia possibile richiamare funzioni scritte in C in un metodo Java tramite la keyword "native", ma il procedimento esatto purtroppo non lo conosco |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Se hai almeno l'arcotangente ATN, allora puoi usare le seguenti:
![]() ![]() Comunque quoto, sia nelle calcolatrici che anche nei nostri stessi coprocessori matematici, le funzioni matematiche che non siano somma prodotto etc. vengono risolte con McLaurin o Taylor. L'ordine di grandezza dell'algoritmo con una precisione sufficiente e' inferiore ai 200 cicli di clock, quindi 0.2 secondi oggi e' un'infinita'.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7262
|
@khelidan1980&Antonio23
in realtà la notazione sin^-1 è corretta e significa funzione inversa del seno anche wikipedia lo sa http://it.wikipedia.org/wiki/Funzione_inversa |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Sì, è "corretta", ma crea confusioni, come ben vedi.
Figo il link russo...
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7262
|
maledetti programmatori russi
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Codice:
// check up the invertation
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:43.























