Estratto del documento

Calcolo dell'esponenziale

Scopo

Calcolo dell’esponenziale tramite la determinazione della n-ma somma della serie esponenziale.

Specifiche e parametri

sum=espon(x)

Parametro Tipo Input/output Descrizione
x Reale (fp) Input Numero reale del sistema floating point. Positivo o negativo.
k Intero Input Valore della tolleranza.
sum Reale (fp) Output Risultato ottenuto dalla somma.

Routine Ausiliarie: y = epsmac(x) (per determinare il valore della massima precisione relativa del sistema)

Descrizione

L’algoritmo calcola la somma n-ma della serie esponenziale mediante sviluppo in serie di Taylor, determinando in run-time il numero delle somme da effettuare per avere il risultato più accurato possibile. La somma si arresta automaticamente al termine n-mo definito come il più piccolo elemento che dà contributo al valore della somma precedente. In caso di segno negativo dell’esponente, l’algoritmo procede calcolando normalmente la serie, come se l’esponente fosse positivo, ed alla fine ne calcola il reciproco.

Complessità ed accuratezza

L’accuratezza dipende dalla macchina su cui viene eseguito l’algoritmo. Per evitare una perdita di cifre significative dovute alla cancellazione catastrofica, poiché otterremmo una serie a segni alterni nel caso in cui x < 0, si è voluto porre e^(-x) = 1/e^x.

T(n) = O(n)

Indicatori di errore

  • Errore dovuto all'inserimento dei dati:
    • Mancato inserimento dell'esponente.
    • Inserimento di un carattere come esponente.
    • Inserimento di un esponente al di fuori dell'intervallo [-709, 709].
  • Errore nell'inserimento della tolleranza:
    • Inserimento di tolleranza negativa.
    • Inserimento di un vettore per la tolleranza.
    • Inserimento di un carattere come tolleranza.

Testo della funzione

function sum=espon(x,k)

  • %Controllo errore nell'inserimento dei dati: Parametri non inseriti
  • if (nargin==0)
  • error('Non hai Inserito il Valore di x')
  • end
  • %Controllo errore nell'inserimento dei dati: Inserimento di Caratteri
  • if(ischar(x)==1)
  • error('Non puoi Inserire un Carattere come Esponente')
  • end
  • %Controllo dei dati inseriti: Evitare Overflow ed Underflow
  • if (x<-709)
  • disp('Hai Inserito un Esponente Troppo Piccolo: Esponente Minimo -709')
  • x=0;
  • elseif (x>709.7)
  • disp('Hai Inserito un Esponente Troppo Elevato: Esponente Massimo 709')
  • end
  • %Valitazione della Tolleranza: Massima Precisione
  • if nargin==1
  • disp('Hai Scelto di Proseguire con la Precisione Massima')
  • tol=epsmac;
  • else
  • %Controllo dei dati inseriti: Evitare Valori di k negativi
  • if (k<=0)
  • error('
Anteprima
Vedrai una selezione di 3 pagine su 7
Calcolo dell'Esponenziale Pag. 1 Calcolo dell'Esponenziale Pag. 2
Anteprima di 3 pagg. su 7.
Scarica il documento per vederlo tutto.
Calcolo dell'Esponenziale Pag. 6
1 su 7
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cecilialll di informazioni apprese con la frequenza delle lezioni di Calcolo numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof D'Alessio Alessandra.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community