vuoi
o PayPal
tutte le volte che vuoi
Indicatori di errore
Errore dovuto all'inserimento dei dati:
- Mancato Inserimento dell'esponente.
- Inserimento di un carattere come esponente.
- Inserimento di un esponte 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 Precisioneif nargin==1disp('Hai Scelto di Proseguire con la Precisione Massima')tol=epsmac;else%Controllo dei dati inseriti: Evitare Valori di k negativiif (k<=0)error('Il Valore della Tolleranza deve essere Positivo')end%Controllo dei dati inseriti: Evitare che k sia un vettoreif (length(k)~=1)error('Il Valore della Tolleranza deve essere uno Scalare')end%Controllo errore nell'inserimento dei dati: Inserimento di Caratteriif(ischar(k)==1)error('Non Puoi Inserire un Carattere come Tolleranza')endtol=power(10, -k);end%Escludo valori impossibili nella tolleranzatol=max(tol,epsmac);%Evito l'underflow della tolleranzaif(abs(x)>=minr/tol)tol=abs(x)*tol;elsetol=minr;end%Inizializzazione delle variabilisum=1;n=1;add=abs(x);%Criterio di Arresto Dimanicowhile (abs(add)>sum*tol)sum=sum+add;n=n+1;add=add*(abs(x)/n);end%Valutazione dell'esponente negativo: Stabilizzazione
dell'Algoritmo
if x<0
sum=1/sum;
end
return
Esempi d'uso
>>espon(7,8)
ans =1.096633127134126e+003
Casi di Test
Esempi con massima precisione
Esempio 1: Esponenziale 6 Funzione del Matlab y=esp(x)
>> espon(6)
>> exp(6)
Hai Scelto di Proseguire con la Precisione Massima
ans =ans = 4.034287934927351e+002
4.034287934927349e+002
Esempio 1: Esponenziale 1 Funzione del Matlab y=esp(x)
>> espon(1)
>> exp(1)
Hai Scelto di Proseguire con la Precisione Massima
ans =ans = 2.71828182845905
2.71828182845905
Esempio 1: Esponenziale 4.67 Funzione del Matlab y=esp(x)
>> espon(4.67)
>> exp(4.67)
Hai Scelto di Proseguire con la Precisione Massima
ans =ans = 1.066977424324508e+002
1.066977424324507e+002
Esempio 1: Esponenziale -23 Funzione del Matlab y=esp(x)
>> espon(-23)
>> exp(-23)
Hai Scelto di Proseguire con la Precisione Massima
ans =ans = 1.026187963170189e-010
1.026187963170192e-010
Esempi con precisione definita dall'utente
Esempio 1: Esponenziale 6,
tolleranza 10 Funzione del Matlab y=esp(x)>> espon(6,10) >> exp(6)ans = ans =4.034287933734004e+002 4.034287934927351e+002
Esempio 1: Esponenziale 1, tolleranza 12 Funzione del Matlab y=esp(x)>> espon(1,12) >> exp(1)ans = ans =2.71828182845823 2.71828182845905
Esempio 1: Esponenziale 4.67, tolleranza 5 Funzione del Matlab y=esp(x)>> espon(4.67,5) >> exp(4.67)ans = ans =1.066943945499171e+002 1.066977424324508e+002
Esempio 1: Esponenziale -23, tolleranza 3 Funzione del Matlab y=esp(x)>> espon(-23,3) >> exp(-23)ans = ans =1.096374606253747e-010 1.026187963170189e-010