Appunti per Scuola e Università
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
CComputerDatabaseInternetJava
Linux unixReti


AppuntiMania.com » Informatica » Appunti di computer » Funzione espo

Funzione espo




Visite: 1333Gradito:apreciate 4-stela [ Picolo appunti ]
Leggi anche appunti:

Illustrazione del sistema di monitoraggio


Illustrazione del sistema di monitoraggio L'obiettivo

Hardware


HARDWARE UNITA' CENTRALE DI ELABORAZIONE Definita con la sigla CPU, l'unità

Il problema generale dell'interfaccia software e i livelli iso-osi


Il  problema generale dell'inteRfaccia software e i livelli ISO-OSI 1. Interfaccia
immagine di categoria

Scarica gratis Funzione espo

FUNZIONE ESPO



Scopo: la funzione calcola ex, nel caso in cui x è negativo calcolerà 1/ex. In più restituisce un altro  valore, il numero delle somme effettuate dall'algoritmo nel calcolo di ex


Specifica: l'intestazione della funzione è [y,n]=espo(x,tol)


Parametri di ingresso: - x è valore dell'esponente. È di tipo reale.

- tol è la tolleranza, numero di cifre esatte richieste.

Che in realtà tol=10^-k (k=cifre esatte richieste), ma ciò è calcolato già dalla funzione. È di tipo intero positivo.


Parametri di uscita:   - y è il risultato della funzione e^x oppure di 1/e^x.È di tipo reale positivo.

n è il numero delle somme effettuate dall'algoritmo usando la serie di Taylor. È di tipo intero positivo.

err indicatore di errore che visualizza dei messaggi di errore specifico.

tol accuratezza richiesta dall'utente (parametro omesso all'uscita perché inserito già in ingresso).


Descrizione: la funzione calcola ex data una certa tolleranza. Se essa non viene inserita, la funzione calcola ex con la massima precisione(tol=epsilon macchina). Inoltre se x=0 il risultato sarà e=1.


Indicatori di errore: - Too many input arguments = indica che sono stati inseriti più parametri di ingresso da quelli consentiti. (Questo indicatore di errore è definito dal Matlab)

- Too many output arguments = indica che sono stati inseriti più parametri di uscita da quelli consentiti. (Questo indicatore di errore è definito dal Matlab)

- Attenzione nessun input specificato = cioè non sono stati inseriti parametri                           di ingresso.

- Formato non corretto di x. Inserirlo come numero reale = compare quando si da a x il valore di un carattere o di una parola.

- Formato non esatto. Inserire uno scalare = visualizza questo errore se in x vi è un vettore.

- Formato non corretto di tol. Inserirlo come numero naturale = indica che tol è stato inserito in modo errato(es.: negativo, carattere)

- Attenzione! Situazione di overflow = si verifica se il risultato è in overflow

- Attenzione! Situazione di underflow = si verifica se il ris. è in underflow


Esempio d'uso: 1)esempio con tolleranza

>>[y,n]=espo(59,12)

y = 4.201210403483852e+025

n = 115

2)esempio senza tolleranza cioè a precisione massima

>> [y,n]=espo(32)

y = 7.896296018268023e+013

n = 85



Situazioni di errore: 1) >> [y,n]=espo(3,7,6)

??? Error using ==> espo

Too many input arguments.

2) >> [y,n,m]=espo(3,7)

Error using ==> espo

Too many output arguments.

3) >> [y,n]=espo

??? Error using ==> espo

Attenzione nessun input specificato

4) >> [y,n]=espo('a',10)

??? Error using ==> espo

Formato non corretto di x. Inserirlo come numero reale

5) >> [y,n]=espo([2 3 4; 5 6 7],10)

??? Error using ==> espo

Formato non esatto. Inserire uno scalare

6) >> [y,n]=espo(10,'a')

??? Error using ==> espo

Formato non corretto di tol. Inserirlo come numero naturale

7) >> [y,n]=espo(10,-10)

??? Error using ==> espo

Formato non corretto di tol. Inserirlo come numero naturale

8) >> [y,n]=espo(730,13)

??? Error using ==> espo

Attenzione! Situazione di overflow

9) >> [y,n]=espo(-730,13)

??? Error using ==> espo

Attenzione! Situazione di underflow


Test dei casi funzionanti: 1) >> [y,n]=espo(32,13) (ex con tolleranza>epsilon macchina)

y = 7.896296018230850e+013

n = 78

2) >> [y,n]=espo(-32,14)        (1/ex con tolleranza>epsilon macchina)

y = 1.266416554909790e-014

n = 81

3) >> [y,n]=espo(32) (senza tolleranza)

la funzione è stata calcolata con la massima precisione

y = 7.896296018268023e+013

n = 85

4) >> [y,n]=espo(0) (con x=0)

y = 1

n = 1

5) >> [y,n]=espo(4,18) (con tolleranza<epsilon macchina)

y = 54.59815003314422

n = 29

6) >> [y,n]=espo(10^-309)    (quando x è più piccolo di realmin viene y = 1 approssimato ad esso per non causare n = 1 underflow, ma poi è talmente piccolo . perciò è come se fosse 0 e quindi e=1)



Confronto con Matlab:

Funzioni per il calcolo di  ex

ESPO

(senza tolleranza)

EXP di Matlab

X=1



X=5

1.484131591025765e+002

1.484131591025766e+002

X=30

1.068647458152442e+013

1.068647458152446e+013

x=100

2.688117141816041e+043

2.688117141816136e+043

x=350

1.007090887027834e+152

1.007090887028080e+152

x=710

overflow (inf.)

infinito

x=-710

underflow (0)

4.476286225675130e-309













Come si può notare dalla tabella, con l'aumentare di x le cifre esatte della ESPO diminuiscono rispetto alla funzione del Matlab. Inoltre la funzione ESPO nel caso x=-710 da underflow mentre la funzione EXP da un determinato valore perchè quest'ultima gestisce i subnormal number.



M-FILE:

function [y,n]=espo(x,tol)

% ESPO calcola l'esponenziale di x, nel caso in cui x è       

% negativo la funzione calcolerà 1/e^x.                              

% parametri di ingresso:            

x=valore dell'esponente

tol=tolleranza, numero di cifre esatte richieste.

In realtà tol=10^-k (k=cifre esatte richieste)

ma ciò è calcolato già dalla funzione

% parametri di uscita:                                               

y=risultato della funzione e^x oppure di 1/e^x

n=numero delle somme effettuate dall'algoritmo usando

la serie di Taylor

% esempio d'uso: tenendo conto di [y,n]=espo(x,tol) si può avere:

1)l'esponenziale con tolleranza

>>[y,n]=espo(59,12)

y = 4.201210403483852e+025

n = 115

% 2)l'esponenziale con la massima precisione

>> [y,n]=espo(32)

y = 7.896296018268023e+013

n = 85


format long;   

if (nargin==0)      %Visualizza un errore se non c'è input

error('Attenzione nessun input specificato');

end


if (ischar(x)==1)   %Controlla se x è un numero reale

error('Formato non corretto di x. Inserirlo come numero reale');

end


dim=prod(size(x));

if (dim~=1)         %Visualizza un errore se non si inserisce uno scalare

error('Formato non esatto. Inserire uno scalare');

end


if (nargin==1)

disp('la funzione è stata calcolata con la massima precisione');

tol=eps;

else

if (ischar(tol)==1)|(tol<0)%Controlla se tol è un numero naturale

error('Formato non corretto di tol. Inserirlo come numero naturale');

end

tol=power(10,-tol);

end

if(x==0)    %Pone il risultato della funzione =1 se x=0

y=1;

end


tol=max(tol,eps);   %Verifica per valori di tol impossibili


if (tol~=0)     %Verifica tol underflow

if (abs(x)>=realmin/tol)

tol=abs(x)*tol;

else

tol=realmin;

end

end


y=1;        %Calcolo di e^x con tol

n=1;

temp=abs(x);

while (abs(temp)>y*tol)

y=y+temp;

n=n+1;

temp=temp*(abs(x)/n);

end


if(x<0)   %Verifica esponente negativo

y=1/y;

end


if (y==inf) %Verifica se c'è stato overflow

error('Attenzione! Situazione di overflow');

end


if (y==0)    %Verifica se c'è stato underflow

error('Attenzione! Situazione di underflow');

end



Scarica gratis Funzione espo
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...