Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Approssimare 1/x con funzione esponenziale

Analisi, geometria, algebra, topologia...

Moderatori: Foto UtentePietroBaima, Foto UtenteIanero

0
voti

[1] Approssimare 1/x con funzione esponenziale

Messaggioda Foto Utentecoto » 26 nov 2021, 19:17

Ciao a tutti
Devo calcolare il reciproco di un numero x senza poter usare la divisione ma ho a disposizione solo
-somma
-sottrazione
-moltiplicazione
-e^x

secondo voi e' possibile approssimare la funzione
y(x)=1/x
con una funzione esponenziale nella forma tipo
y(x)=e^-x
considerato che
e^-x=1/e^x ?

grazie mille
Avatar utente
Foto Utentecoto
15 3
 
Messaggi: 17
Iscritto il: 9 giu 2020, 12:45

0
voti

[2] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto UtenteMarkyMark » 26 nov 2021, 20:01

Che valori può assumere x? (Intendo gli estremi dell'intervallo che lo contiene)
mark
Avatar utente
Foto UtenteMarkyMark
3.378 2 4 6
Master EY
Master EY
 
Messaggi: 511
Iscritto il: 11 giu 2016, 12:01

0
voti

[3] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto Utentecoto » 26 nov 2021, 21:44

x ha una dinamica di 40dB, puoi offsettarla a piacere
Ad esempio tra 0.01 e 1, oppure tra 1 e 100.
Avatar utente
Foto Utentecoto
15 3
 
Messaggi: 17
Iscritto il: 9 giu 2020, 12:45

0
voti

[4] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto UtenteMarkyMark » 27 nov 2021, 5:56

Il problema è di natura teorica o pratica? Che errore massimo relativo puoi permetterti? Se il problema è di natura pratica, il primo metodo che mi viene in mente è quello di stimare i coefficienti di un modello esponenziale usando la stima ai minimi quadrati. Questo si basa sulla possibilità di disporre in partenza di un insieme di punti che seguono la relazione che vuoi approssimare, cioè 1/x. Se spieghi meglio quello che vuoi fare sono sicuro che altri utenti sapranno indicarti altri metodi.
mark
Avatar utente
Foto UtenteMarkyMark
3.378 2 4 6
Master EY
Master EY
 
Messaggi: 511
Iscritto il: 11 giu 2016, 12:01

0
voti

[5] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto UtenteGioArca67 » 27 nov 2021, 9:03

Oltre alla precisione occorrerebbe sapere se i vincoli imposti sono solo per il calcolo o anche per trovare il metodo di calcolo.
Avatar utente
Foto UtenteGioArca67
3.872 4 6 9
Master
Master
 
Messaggi: 3801
Iscritto il: 12 mar 2021, 9:36

0
voti

[6] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto Utentecoto » 27 nov 2021, 11:25

Il problema è di natura pratica, devo fare un modello di calcolo mantenendolo il più possibile leggero e di facile implementazione.
L'informazione principale è un intervallo di tempo che deve essere convertito in frequenza istantaneamene ad ogni ciclo.
Questo blocco occorre per estrarre il valore medio di un segnale ad onda quadra a frequenza variabile per poter fare una analisi a piccolo segnale di stabilità di un anello retroazionato.
L'unica opzione attualmente verificata è un elemento non lineare definito per punti, veloce e leggero, ma l'imprecisione si riflette sui risultati, il compromesso non è semplice.
La funzione esponenziale potrebbe essere una alternativa valida se di facile implementazione utilizzando modelli semplici come generatori capacità e resistenze.
Avatar utente
Foto Utentecoto
15 3
 
Messaggi: 17
Iscritto il: 9 giu 2020, 12:45

0
voti

[7] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto Utenteclavicordo » 27 nov 2021, 11:37

Non so se ho capito bene e se dico una stupidaggine, ma non sarebbe possibile contare la durata di un periodo e convertire la durata in un periodo in frequenza tramite una look up table di associazione tra periodo e frequenza?
"Ogni cosa va resa il più possibile semplice, ma non ANCORA più semplice" (A. Einstein)
Avatar utente
Foto Utenteclavicordo
20,2k 6 11 12
G.Master EY
G.Master EY
 
Messaggi: 1235
Iscritto il: 4 mar 2011, 14:10
Località: Siena

0
voti

[8] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto UtentePietroBaima » 27 nov 2021, 12:17

Questo è un metodo trogloditico che funziona per valori di x non troppo distanti da uno.
Può essere migliorato parecchio

Codice: Seleziona tutto
#include <stdio.h>

int main()
{
    const int imax=10000;
    float xinv=1;
    const float eps=0.001; //three digits
   
    float x=0.1; //numero di cui calcolare l'inverso
   
   
    for (int n=0;n<imax;n++)
    {
        if ((x*xinv)<1) xinv+= eps/(x*xinv);
        else xinv-=eps*(x*xinv);
       
    }
   
    printf("x=%f 1/x=%f err=%f",x,xinv,x*xinv);

    return 0;
}
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
89,1k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12044
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[9] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto Utentecoto » 27 nov 2021, 13:17

clavicordo ha scritto:Non so se ho capito bene e se dico una stupidaggine, ma non sarebbe possibile contare la durata di un periodo e convertire la durata in un periodo in frequenza tramite una look up table di associazione tra periodo e frequenza?

si e' quello che viene fatto attualmente
Avatar utente
Foto Utentecoto
15 3
 
Messaggi: 17
Iscritto il: 9 giu 2020, 12:45

0
voti

[10] Re: Approssimare 1/x con funzione esponenziale

Messaggioda Foto UtenteGioArca67 » 27 nov 2021, 13:28

Su che processore operi ed in che linguaggio?
Che errore è ammesso?
In ultima analisi quanto tempo impiega la divisione attualmente disponibile e quanto tempo si ha a disposizione?
Perché un'esponenziale è più veloce di una divisione sulla tua macchina?
Il numero di partenza è intero o floating point? Single o double?
Avatar utente
Foto UtenteGioArca67
3.872 4 6 9
Master
Master
 
Messaggi: 3801
Iscritto il: 12 mar 2021, 9:36

Prossimo

Torna a Matematica generale

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti