Newsgroup: it.comp.java
Titolo: Matematica questa sconosciuta

Salve.
Fare la radice quinta di x al cubo equivale a elevare x alla 3/5.
Perché se provo ad usare Math.pow(x,(3/5)) il risultato e sempre 1. Sembra
che elevi x a 0.
Come posso fare ?
Grazie.

 ha scritto nel messaggio
news:rLOrb.2620$i_5...@news.edisontel.com...


Mi sembra che tu debba fare qualcosa tipo:
float esponente=(float ) 3/ (float) 5;
float potenza=Math.pow(x,esponente);


 wrote in message
news:ATOrb.1642$hV.5...@news2.tin.it...


 ha scritto nel messaggio
news:AcPrb.2625$i_5....@news.edisontel.com...


 wrote in message
news:ijPrb.1787$hV.5...@news2.tin.it...


 Come posso fare ?
Prova utilizzando queste funzioni che ho creato:
public double myPow(double num,double exp,double rad) {
     return Math.pow(num,exp/rad);
}
public double myPow(double num,double exp) {
    return myPow(num,exp,1.0d);
}
Nota che se le chiami con interi devi fare una operazione di casting
esplicito:
Es.
double risultato = myPow((double)2,2.9d,(double)2);
Ciao!
--
Marco "Duff" Palermo
http://www.marcoduff.com/

 cambiare il segno dell' intero risultato ?.
Ferma tutto.
La funzione x^k dove k e' un numero reale <> 0 e' definita solo per x>0.
con x < 0 puoi usare solo x^n con n naturale.
Poi e' vero che radice 5a di x^3 e' uguale a x^(3/5) ma solo se x>0 
poiche' x^(3/5) non e' definita per x<0.
Se non sei convinto prova a fare la stessa cosa con una calcolatrice.
Inoltre tieni presente che in un computer 3.0/5.0 potrebbe non essere 
esattamente uguale a 0.6 per problemi di precisione (il risultato 
potrebbe essere, ad esempio 0.60000000000000001) . Pensa che casino 
sarebbe poi implementare pow in modo che riconosca che 0.6 e' uguale a 
3/5 e che essendo 5 un numero dispari pow(x,0.6) puo' essere calcolata 
anche per x<0 (non tanto dal punto di vista della fattibilità ma delle 
inefficenze che introdurresti per gestire questi casi) .
Andrea Polci

 potrebbe essere, ad esempio 0.60000000000000001) .
L'unico problema infatti è proprio questo (che è il problema di *_tutti_*
gli elaboratori). Ovvero il raggiungimento dello Zero di Macchina.
Il numero da te scritto viene sicuramente gestito da qualunque calcolatore,
ma dipende dalla sue precisione può o meno gestire l'uno finale.
Se lo gestisce bene, se non lo gestisce porta ad errori di arrotondamento.
P.S.
Questo è un problema ancora attuale, ed esistono molti libri di Calcolo
Numerico che spiegano come aggirare i problema tentando di evitare
operazioni che portino vicino allo Zero di Macchina.


 ma dipende dalla sue precisione può o meno gestire l'uno finale.
Si, e' vero e lo so bene che questo numero e' sicuramente gestito da un 
computer, ma non mi volevo dilungare troppo in dettagli.
Pero' con frazioni appena un po' piu' complesse si avranno degli 
scostamenti.
Volevo solo dire che potrebbe verificarsi, per problemi di 
arrotondamento che un numero ottenuto da una frazione non risulti poi 
uguale a quella frazione. Non mi volevo poi addentrare nei dettagli.
Andrea Polci

 > qualunque valore di x.
Assolutamente no. La potenza ad esponente reale è definita solo se la base è
positiva.
(-1)^2 ha senso come potrenza ad esponente intero, mentre (-1)^(1/2) non ha
alcun significato.
Un conto è affermare che le variabili x e k sono float (reali), altro che
possano assumere qualunque valore possibile per una variabile di quel tipo.

 uguale a quella frazione. Non mi volevo poi addentrare nei dettagli.
Infatti, dicevamo la stessa cosa... ma non ci siamo capiti!
