Insolubile,incredibile,insopportabile:l'equazione misteriosa rimane tale.
x^x=a:come si risolve,dato a?
In generale,potremmo parlare di mottoliana generalizzata di grado N(sono un pò vanitoso,lo ammmeto) l'equazione F^(F'^(F''^...=G,dove F,F',F''... sono N funzioni della x e G anche.Più facile,forse,la versione F)^F')^F'')^...,con le stesse definizioni.Ogni aito sarà benvenuto(ormai non ci spero più)
Ciao!
Recupero:l'equazione misteriosa
Moderatori: Gianfranco, Bruno
Questo forum è una sezione del PORTALE DI BASE CINQUE
Recupero:l'equazione misteriosa
Lo scopo principale di una dichiarazione DATA è quello di dare dei nomi alle costanti; anziché inserire ogni volta 3.141592653589793 come valore di $\pi$, con una dichiarazione DATA si può assegnare tale valore alla variabile PI che può essere poi usata per indicare la costante. Ciò rende anche più semplice modificare il programma, qualora il valore di $\pi$ dovesse cambiare.
-Da un vecchio manuale FORTRAN della Xerox
-Da un vecchio manuale FORTRAN della Xerox
Re: Recupero:l'equazione misteriosa
Non saprei, ma se proprio mi interessasse il risultato, inizialmente farei così:
LET a=1234
LET d1=0.01
LET i =0.001
LET x=0
DO
LET x=x+i
IF x=1 THEN goto 10
LET n=LOG(a)/LOG(x)
LET d2=ABS(x-n)
IF d2<d1 THEN
LET d1=d2
PRINT x;d1
end if
10
loop
END
Al momento dello stop ai risultati del computer, darei lo stop all'esecuzione ed apporterei delle variazioni ad alcuni valori, ridando il via. Es:
LET d1=0.001
LET i =0.0001
LET x=4.638 (il penultimo risultato)
ne risulterebbe un nuovo risultato più preciso e reitererei il procedimento finché soddisfatto con l'approssimazione; quindi:
LET d1=0.0001
LET i =0.00001
LET x=4.6387 (il penultimo risultato)
ne risulterebbero nuovi valori di x e d1 (quest'ultima indica l'approssimazione): 4.63879 e .00000546886561 (abbiamo una differenza fra le due x sull'ordine di 5 milionesimi, ma possiamo continuare.
Il procedimento consente di evitare inutili attese.
Se ci accontentiamo dell'approssimazione intorno al miliardesimo, in breve troviamo un x=4.63879331
Non resta che verificare se $x^x = 1234 = 4,3879331^{\frac {463879331}{10^8}}$
LET a=1234
LET d1=0.01
LET i =0.001
LET x=0
DO
LET x=x+i
IF x=1 THEN goto 10
LET n=LOG(a)/LOG(x)
LET d2=ABS(x-n)
IF d2<d1 THEN
LET d1=d2
PRINT x;d1
end if
10
loop
END
Al momento dello stop ai risultati del computer, darei lo stop all'esecuzione ed apporterei delle variazioni ad alcuni valori, ridando il via. Es:
LET d1=0.001
LET i =0.0001
LET x=4.638 (il penultimo risultato)
ne risulterebbe un nuovo risultato più preciso e reitererei il procedimento finché soddisfatto con l'approssimazione; quindi:
LET d1=0.0001
LET i =0.00001
LET x=4.6387 (il penultimo risultato)
ne risulterebbero nuovi valori di x e d1 (quest'ultima indica l'approssimazione): 4.63879 e .00000546886561 (abbiamo una differenza fra le due x sull'ordine di 5 milionesimi, ma possiamo continuare.
Il procedimento consente di evitare inutili attese.
Se ci accontentiamo dell'approssimazione intorno al miliardesimo, in breve troviamo un x=4.63879331
Non resta che verificare se $x^x = 1234 = 4,3879331^{\frac {463879331}{10^8}}$
_________________
$\text { }$ciao ciao
E' la somma che fa il totale (Totò)
$\text { }$ciao ciao
E' la somma che fa il totale (Totò)
Re: Recupero:l'equazione misteriosa
Con la massima precisione consentita da Decimal Basic
LET A = 1234
LET c = LOG10(a)
LET x = c/(LOG10(c)+1)
LET d = 1
LET i = .01
LET s = SGN(d)
LET t = s
DO
LET x = x + s * i
LET d = a - x^x
LET s = SGN(d)
IF s <> t THEN
LET t = s
LET i = i/10
END IF
LOOP UNTIL i < 10e-15
LET y = x + s * 10e-15
LET e = a - y^y
IF ABS(e) < ABS(d) THEN LET x = y
PRINT "x =", x
PRINT "x^x =", x^x
PRINT "a-x^x =", a-x^x
Con a = 1234; x = 4.63879331105657
LET A = 1234
LET c = LOG10(a)
LET x = c/(LOG10(c)+1)
LET d = 1
LET i = .01
LET s = SGN(d)
LET t = s
DO
LET x = x + s * i
LET d = a - x^x
LET s = SGN(d)
IF s <> t THEN
LET t = s
LET i = i/10
END IF
LOOP UNTIL i < 10e-15
LET y = x + s * 10e-15
LET e = a - y^y
IF ABS(e) < ABS(d) THEN LET x = y
PRINT "x =", x
PRINT "x^x =", x^x
PRINT "a-x^x =", a-x^x
Con a = 1234; x = 4.63879331105657
[Sergio] / $17$