[Java] metodo per radice cubica
come posso realizzare un metodo per calcolare la radice cubica in Java?
Math.pow(8, 1/3);
restituisce 1 e non 2
Math.pow(8, 1/3);
restituisce 1 e non 2
Risposte
è vero grazie!
Ciao a tutti, non solo molto pratica con i forum.
Questo è il testo di un esercizio di programmazione java:
Scrivere un metodo che trova la radice cubica di un double x, utilizzando un metodi di ricerca binaria.
L'intervallo iniziale di ricerca sarà da 0 a x, il metodo si ferma appena viene raggiunta una approssimazione fissata a priori.
E' da stamane che provo ma non riesco ad uscirne, mi sapreste aiutare??
Questo è il testo di un esercizio di programmazione java:
Scrivere un metodo che trova la radice cubica di un double x, utilizzando un metodi di ricerca binaria.
L'intervallo iniziale di ricerca sarà da 0 a x, il metodo si ferma appena viene raggiunta una approssimazione fissata a priori.
E' da stamane che provo ma non riesco ad uscirne, mi sapreste aiutare??

Che cosa non riesci a fare? Dove incontri difficoltà? Il problema è abbastanza circoscritto e abbastanza ben definito (sai che algoritmo devi usare ad esempio) ed è quindi difficile non finire per dare una soluzione.
Sò fare il metodo di ricerca binaria ma non sò come coniugarlo con l'estrapolazione della radice cubica.
E' possibile lo immagini più difficile di quanto sia.
E' possibile lo immagini più difficile di quanto sia.

Immagino che tu ti stia confondendo su quale "ricerca binaria" si stia facendo riferimento. Sia $f : RR -> RR$ una funzione del quale si desideri trovare uno zero all'interno di un certo intervallo $[a,b]$. Essendoci un solo zero all'interno di questo intervallo, il segno di $f(a)$ sarà diverso da quello di $f(b)$. Il metodo di ricerca binaria consiste nel suddividere ricorsivamente questo intervallo finché la sua dimensione non sarà al di sotto di una certa quantità. Ti faccio un esempio, supponi di voler trovare la radice cubica di $27$ (che sappiamo essere 3). Per farlo si devono trovare gli zeri della funzione $x^3 - 27$. Si parte quindi dall'intervallo $[0, 27]$, si prende il valore intermedio $13.5$ e si vede se $(13.5)^3 - 27$ è minore o maggiore di zero. Si trova allora che l'intervallo da considerare è $[0, 13.5]$, si suddivide ulteriormente trovando $[0, 6.75]$ e così via finché questo intervallo è abbastanza piccolo.
Sì sì, ho adottato questa logica anche io.
Mi sono persa nella programmazione in java, comunque ritenterò.
Ti ringrazio!
Mi sono persa nella programmazione in java, comunque ritenterò.
Ti ringrazio!
