Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

approssimazione di log(x)...

340 views
Skip to first unread message

maitre Aliboron

unread,
Jan 27, 2011, 8:22:20 AM1/27/11
to
...per x abbastanza grande.

Ne esistono? Qualcuno ne conosce una buona?
log(x) e' da intendersi naturale.

Grazie.

maitre Aliboron

El Filibustero

unread,
Jan 27, 2011, 11:13:42 AM1/27/11
to
On Thu, 27 Jan 2011 05:22:20 -0800 (PST), maitre Aliboron wrote:

>...per x abbastanza grande.
>
>Ne esistono? Qualcuno ne conosce una buona?
>log(x) e' da intendersi naturale.

Approssimazioni in termini di che funzioni? Se intendi funzioni
polinomiali, non esistono. Dal punto di vista asintotico, l'andamento
logaritmico e' peculiare, ossia irriducibile ad altri andamenti in cui non
compaia il concetto di logaritmo. Ciao

maitre Aliboron

unread,
Jan 27, 2011, 11:47:14 AM1/27/11
to
> >Ne esistono? Qualcuno ne conosce una buona?
> >log(x) e' da intendersi naturale.
>
> Approssimazioni in termini di che funzioni? Se intendi funzioni
> polinomiali, non esistono. Dal punto di vista asintotico, l'andamento
> logaritmico e' peculiare, ossia irriducibile ad altri andamenti in cui non
> compaia il concetto di logaritmo. Ciao

Anche uno sviluppo in serie mi va bene, purche' mi
possa fermare intorno al secondo/terzo ordine senza un errore
enorme... Altrimenti posso provare a vedere gli andamenti
asintotici di cui parli (dove li trovo?).

In realta' il mio problema e' di rendere esplicita una funzione
della forma:

x = (b - c*log(x/a))/d

dove x e' una funzione di una altra variabile e a,b sono
costanti. c e d sono a loro volta funzioni della stessa variabile
di x (anche se in prima aprossimazione posso trattarle
come costanti) . L'unica informazione in mio possesso e' che so
per certo che nella zona di interesse vale x>>a (giusto
per dare un ordine di grandezza x/a e' dell'ordine di 10^7
o 10^8). Putroppo mi serve una espressione analitica
perche' poi sulla x devo fare ulteriori calcoli...

Grazie comunque della risposta.

maitre Aliboron

El Filibustero

unread,
Jan 27, 2011, 11:50:52 AM1/27/11
to
On Thu, 27 Jan 2011 08:47:14 -0800 (PST), maitre Aliboron wrote:

>Anche uno sviluppo in serie mi va bene, purche' mi
>possa fermare intorno al secondo/terzo ordine senza un errore
>enorme...

Una serie di potenze troncata, cioe' un polinomio? Non esiste.

>Altrimenti posso provare a vedere gli andamenti
>asintotici di cui parli (dove li trovo?).

L'andamento asintotico del logarimto e' l'andamento asintotico del
logaritmo. Punto.

>In realta' il mio problema e' di rendere esplicita una funzione
>della forma:
>
>x = (b - c*log(x/a))/d
>
>dove x e' una funzione di una altra variabile e a,b sono
>costanti. c e d sono a loro volta funzioni della stessa variabile
>di x (anche se in prima aprossimazione posso trattarle
>come costanti).

Incomprensibile, per me. Origine e scopo della questione? Ciao

maitre Aliboron

unread,
Jan 27, 2011, 2:49:02 PM1/27/11
to
>> Altrimenti posso provare a vedere gli andamenti
>> asintotici di cui parli (dove li trovo?).
>
> L'andamento asintotico del logarimto e' l'andamento asintotico del
> logaritmo. Punto.

Errore mio: avevo letto "riducible" nella tua risposta...,
da qui l'equivoco.


>> In realta' il mio problema e' di rendere esplicita una funzione
>> della forma:
>>
>> x = (b - c*log(x/a))/d
>>
>> dove x e' una funzione di una altra variabile e a,b sono
>> costanti. c e d sono a loro volta funzioni della stessa variabile
>> di x (anche se in prima aprossimazione posso trattarle
>> come costanti).
>
> Incomprensibile, per me. Origine e scopo della questione? Ciao

Mettiamola cosi'. Si tratta di un semplice generatore di corrente
PTAT (proporzionale alla temperatura assoluta) di cui volevo trovare
il coefficiente di temperatura del secondo ordine (eh, si', non e' proprio
"proporzionale" malgrado il nome). La mia variabile indipendente
e' la temperatura.

L'espressione che descrive questa corrente viene da una equazione
di maglia ed e' in forma implicita:

I(T) = ( Vref - Vt*log( I(T)/Is ) ) / R

R e' una resistenza, Vref e' una tensione di riferimento
compensata in temperatura (al primo ordine) e Vt=kT/q.
T e' la temperatura. (in realta R e Is dipendono anche esse
da T, non ho esplicitato nella formula per non appesantire
l'espressione e mettere in evidenza la grandezza che vorrei
isolare)

Vorrei provare a ridurla (anche con opportune approssimazioni,
gia' nella formula sopra ce ne sono un paio) a qualcosa del tipo:

I(T)= f(T)

Questo perche' vorrei esprimere la dipendenza in temperatura
di questa corrente, se ci riesco, fino al secondo ordine:

I(T)= Io*(1 + a*T + b*T^2)

Esiste una forma esplicita, molto semplice e che si trova
in tutti i libri, dove si suppone il termine Vt*log(I(T)/Is)
approssimativamente costante (=Vbe, tensione di giunzione
di un bipolare), ma utilizzandola si riesce solamente a
ricavare il coefficiente di temperatura al primo ordine
(da qui il termine PTAT) che nelle applicazioni normali e'
sufficiente.

Comunque ho trovato qualche spunto in un libro di
elettronica, su come affrontare il problema diversamente.

maitre Aliboron

Franco

unread,
Jan 27, 2011, 3:07:11 PM1/27/11
to
On 1/27/2011 11:49, maitre Aliboron wrote:

Neanche usando il teorema del Dini si riesce a trovare una sensibilita`?

Se l'argomento del logaritmo e` compreso in una decade, puoi
approssimare la funzione LN(x) con polinomi o rapporti di polinomi (sia
in x che in z=(x-1)/(x+1) tipicamente nell'intervallo 1/SQRT(10) -
SQRT(10) e poi sposti questo intervallo dove ti interessa sommando una
costante.

Le espansioni le trovi su Hart et alii (tanti altri), Computer
Approximations, Wiley, 1968. Se non lo trovi ti posso mandare la pagina.

Purtroppo il log viene sostituito con un polinomio o un rapporto di
polinomi e se ti salta fuori un'equazione di 7 grado o la risolvi in
forma numerica o stai senza risultato :(

> Comunque ho trovato qualche spunto in un libro di
> elettronica, su come affrontare il problema diversamente.

Quale libro? In che modo?

--

Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)

El Filibustero

unread,
Jan 27, 2011, 4:25:24 PM1/27/11
to
On Thu, 27 Jan 2011 20:49:02 +0100, maitre Aliboron wrote:

>I(T)= Io*(1 + a*T + b*T^2)

Quale puo' essere il massimo valore di 1 + a*T + b*T^2 ? Ciao

maitre Aliboron

unread,
Jan 28, 2011, 2:05:47 AM1/28/11
to
> Neanche usando il teorema del Dini si riesce a trovare una sensibilita`?

Dovrei provare (e in realta' ci avevo pure pensato) visto che piu' o meno
conosco il valore di I(T) a 25C. Poi ho pensato di tentare per via diretta.
Pero' l'idea potrebbe essere buona, me la segno.


> Se l'argomento del logaritmo e` compreso in una decade, puoi approssimare la funzione LN(x) con polinomi o rapporti di
> polinomi (sia in x che in z=(x-1)/(x+1) tipicamente nell'intervallo 1/SQRT(10) - SQRT(10) e poi sposti questo intervallo
> dove ti interessa sommando una costante.

L'argomento del logaritmo e' I/Is dove Is e' il parametro di corrente
nella formula della Ic del bipolare (Is vale da 10^-13 a 10^-14 a memoria,
anche meno mi pare).
La I e' dell'ordine di 1uA. La variazione del 1mo ordine in temperatura
e' qualcosa del tipo +3nA/grado (questa me la sono calcolata con la
formula semplice ed e' in accordo col simulatore). Quindi direi che,
una volta centrata la decade, la variazione della I(T) resta nella decade.


> Le espansioni le trovi su Hart et alii (tanti altri), Computer Approximations, Wiley, 1968. Se non lo trovi ti posso
> mandare la pagina.

Mi farebbe piacere. Il libro non ce l'ho. Se la tua mail e' valida ti
comunico il mio indirizzo e-mail (non usare quello di usenet che non
lo consulto mai).


> Purtroppo il log viene sostituito con un polinomio o un rapporto di polinomi e se ti salta fuori un'equazione di 7 grado
> o la risolvi in forma numerica o stai senza risultato :(
>

La soluzione numerica di questa corrente la ottengo dal simulatore.
Con un fit quadratico mi posso ricavere, dai valori simulati,
i coefficienti fino al secondo ordine. Purtroppo quello che mi interessa
sapere e' la forma del coefficiente di 2ordine o almeno come dipende
e da chi. Lo scopo e' quello di vedere se posso compensare in
qualche modo questo coefficiente al secondo ordine. Cercare di
capire, insomma...


> Quale libro? In che modo?

Sulla Bibbia: il Gray-Meyer. Nel capitolo sui bandgap
non mi ricordavo facesse tutti quei calcoli. Ci ho dato
una ripassata e mi e' venuta qualche ideuzza, ad esempio
ad un certo punto suppone un andamento di temperatura
per certe grandezze del tipo T^alfa con alfa da determinare.
Ci ho dato una letta molto di sfuggita ma mi sembra
di poter recuperare qualche idea per procedere. Oggi me lo
rileggo con attenzione e mi rimetto sul problema (a tempo perso).
Provo anche l'idea del Dini.

maitre Aliboron

maitre Aliboron

unread,
Jan 28, 2011, 2:10:09 AM1/28/11
to

com dicevo a Franco, a vale circa 3e-3. b mi aspetto che sia
uno o due ordini di grandezza piu' piccolo. T varia da 25 a
circa 170.

maitre Aliboron

Franco

unread,
Jan 28, 2011, 11:25:39 AM1/28/11
to
On 1/27/2011 23:05, maitre Aliboron wrote:

> Mi farebbe piacere. Il libro non ce l'ho. Se la tua mail e' valida ti
> comunico il mio indirizzo e-mail (non usare quello di usenet che non
> lo consulto mai).

Si`, e` valida.

Ciao

--

Franco

Wovon man nicht sprechen kann, dar�ber mu� man schweigen.
(L. Wittgenstein)

cometa_luminosa

unread,
Jan 28, 2011, 2:52:35 PM1/28/11
to
On Jan 27, 8:49 pm, maitre Aliboron <maitre.alibo...@iaciners.org>
wrote:

> L'espressione che descrive questa corrente viene da una equazione
> di maglia ed e' in forma implicita:
>
> I(T) = ( Vref - Vt*log( I(T)/Is ) ) / R

Se fosse possibile scrivere I(T) = Is + x*Is con x < 1, potresti
sviluppare il logaritmo in potenze di x:

log ( I(T)/Is ) = log(1 + x) = x - x^2/2 + x^3/3 - x^4/4 +...

Adam Atkinson

unread,
Jan 28, 2011, 11:05:29 PM1/28/11
to
On Jan 27, 4:47 pm, maitre Aliboron <maitre.alibo...@iaciners.org>
wrote:

> In realta' il mio problema e' di rendere esplicita una funzione


> della forma:
>
> x = (b - c*log(x/a))/d
>
> dove x e' una funzione di una altra variabile e a,b sono
> costanti. c e d sono a loro volta funzioni della stessa variabile
> di x (anche se in prima aprossimazione posso trattarle
> come costanti) . L'unica informazione in mio possesso e' che so
> per certo che nella zona di interesse vale x>>a (giusto
> per dare un ordine di grandezza x/a e' dell'ordine di 10^7
> o 10^8). Putroppo mi serve una espressione analitica
> perche' poi sulla x devo fare ulteriori calcoli...

Allora diciamo x = k - m log x, se a, b, c e d sono tutte costanti.

Potresti provare a fare una cosa iterativa algebrica. Cominci con x_0
= 1, diciamo, poi
x_1 = k - m log 1 = k
x_2 = k - m log k
x_3 = k - m log (m log k)

O potresti provare a scrivere la x che cerchi come una serie di
potenze in .. qualcosa.

Vedi per esempio "Perturbation Methods" di E. J. Hinch su amazon.co.uk

maitre Aliboron

unread,
Jan 29, 2011, 2:37:31 AM1/29/11
to
> Allora diciamo x = k - m log x, se a, b, c e d sono tutte costanti.
>
> Potresti provare a fare una cosa iterativa algebrica. Cominci con x_0
> = 1, diciamo, poi
> x_1 = k - m log 1 = k
> x_2 = k - m log k
> x_3 = k - m log (m log k)
>
> O potresti provare a scrivere la x che cerchi come una serie di
> potenze in .. qualcosa.
>
> Vedi per esempio "Perturbation Methods" di E. J. Hinch su amazon.co.uk


Grazie anche te del suggerimento Adam. In effetti questo "problemino" che
ritenevo semplice e che avevo cominciato quasi per gioco si e' rivelato
piu' complicato di quanto pensassi.

E pensare che il circuito da cui deriva e' semplicissimo e usatissimo.


maitre Aliboron

Adam Atkinson

unread,
Jan 29, 2011, 6:47:00 AM1/29/11
to
On Jan 29, 4:05 am, Adam Atkinson <gh...@mistral.co.uk> wrote:
> Potresti provare a fare una cosa iterativa algebrica. Cominci con x_0
> = 1, diciamo, poi
> x_1 = k - m log 1 = k
> x_2 = k - m log k
> x_3 = k - m log (m log k)

Oops. x_3 = k - m log (k - m log k)

Ovviamente, non vuoi andare avanti fino a x_15 cosi', e magari
non converge nemmeno.

In tal caso puoi provare con x = exp((k-x)/m), magari.

> O potresti provare a scrivere la x che cerchi come una serie di
> potenze in .. qualcosa.
>
> Vedi per esempio "Perturbation Methods" di E. J. Hinch su amazon.co.uk

Ho fatto un corso in cui c'erano degli esercizi basati sulle tecniche
del libro
di Hinch, ma era anni fa. Quasi sicuramente hanno scelto, per gli
esercizi,
casi in cui le tecniche che ci dicevano di usare funzionavano bene.

El Filibustero

unread,
Jan 29, 2011, 8:44:31 AM1/29/11
to
On Fri, 28 Jan 2011 08:10:09 +0100, maitre Aliboron wrote:

>> Quale puo' essere il massimo valore di 1 + a*T + b*T^2 ? Ciao
>
>com dicevo a Franco, a vale circa 3e-3. b mi aspetto che sia
>uno o due ordini di grandezza piu' piccolo. T varia da 25 a
>circa 170.

A ben pensarci, che 1 + a*T + b*T^2 sia grande o piccolo non importa tanto.
Se ammettiamo che I(T), R(T), Vref(T), Is(T) siano funzioni analitiche di
T:

I(T):=I0 + I1 T + I2 TT + I3 TTT + ....
R(T):=R0 + R1 T + R2 TT + R3 TTT + ....
Vref(T):=Vref0 + Vref1 T + Vref2 TT + Vref3 TTT + ....
Is(T):=Is0 + Is1 T + Is2 TT + Is3 TTT + ....

l'equazione funzionale

I(T)*R(T) = Vref(T) - kT/q ln(I(T)/Is(T))

ossia

I(T)*R(T) = Vref(T) - kT/q*[ln(I0/Is0) + ln(1 + I1/I0 T + I2/I0 TT + ...)
- ln(1 + Is1/Is0 T + Is2/Is0 TT +..)
]

dopo aver sviluppato ln(1+x) come x-xx/2+xxx/3-xxxx/4+..., il principio di
identita' dei polinomi nell'indeterminata T comporta che (SE&O)

I0 = Vref0/R0 (nessuna sorpresa)

I1 = (R0*Vref1 - R1*Vref0)/R0^2 - k*LN(Vref0/(Is0*R0)) / (q*R0)

I2 = k*(k*R0 + q*R1*Vref0)*LN(Vref0/(Is0*R0))/(q^2*R0^2*Vref0)
- (
Is0*(k*R0*(R0*Vref1 - R1*Vref0)
- q*Vref0*(R0^2*Vref2 - R0*(R1*Vref1 + R2*Vref0) + R1^2*Vref0) )
- Is1*k*R0^2*Vref0
)/(Is0*q*r0^3*vr0)

Ciao

maitre Aliboron

unread,
Jan 29, 2011, 2:52:18 PM1/29/11
to
> A ben pensarci...

> [...]

> I0 = Vref0/R0 (nessuna sorpresa)
>
> I1 = (R0*Vref1 - R1*Vref0)/R0^2 - k*LN(Vref0/(Is0*R0)) / (q*R0)
>
> I2 = k*(k*R0 + q*R1*Vref0)*LN(Vref0/(Is0*R0))/(q^2*R0^2*Vref0)
> - (
> Is0*(k*R0*(R0*Vref1 - R1*Vref0)
> - q*Vref0*(R0^2*Vref2 - R0*(R1*Vref1 + R2*Vref0) + R1^2*Vref0) )
> - Is1*k*R0^2*Vref0
> )/(Is0*q*r0^3*vr0)


Grande!!!
Riverifico i calcoli anche perche' non ho bisogno nemmeno
di tutta questa precisione (ad esempio, Vref e' compensata e del
parametro Is non credo di disporre dati fino al secondo ordine).

A occhio e a memoria il termine lineare mi ricorda molto quello
che avevo calcolato io dalla formula semplice (a parte il termine
col logaritmo che nel mio caso era una espressione con dVbe/dT)
quindi direi proprio che il calcolo e' corretto.

Il risultato mi sa che e' proprio quello che stavo cercando.

maitre Aliboron.

0 new messages