Che materia stai cercando?

Calcolo Numerico – Algoritmi Appunti scolastici Premium

Appunti di Calcolo NumericoAlgoritmi. Nello specifico gli argomenti trattati sono i seguenti: Algoritmi Calcolo Numerico, CALCOLO DI MINR, CALCOLO DI EPSILON MACCHINA, CALCOLO ESPONENZIALE (versione pluridimensionale linearizzata), FATTORIZZAZIONE LU CON PIV VIRTUALE, ecc.

Esame di Calcolo numerico docente Prof. L. D'Amore

Anteprima

ESTRATTO DOCUMENTO

Algoritmi Calcolo Numerico

A cura di PeX - quelli di informatica – http://informatici.altervista.org

CALCOLO DI MINR

function ris=minpex

x=1;

while (x>0)

ris=x; %il risultato va salvato perchè l'ultimo utile a non generare underflow.Minpex/2 sarebbe=0

x=x/2;

end

CALCOLO DI EPSILON MACCHINA

function s=pexilon

s=1;

while(1+s~=1)

s=s/2;

end

s=2*s;

CALCOLO ESPONENZIALE (versione pluridimensionale linearizzata)

function e=pexp(x,tol)

if (nargin==0)

error('Attenzione nessun imput specificato');

end

dim=prod(size(x));

for a=1:dim

if(x(a)==0)

e(a)=1

end

if (isreal(x(a)))

if (nargin==1)

e(a)=pexp(x(a),eps);

end

if (nargin==2) Pagina 1 di 8

Questi Algoritmi (non esenti da errori) sono divulgati con il SOLO fine di fornire un valido

spunto iniziale per una personale elaborazione degli algoritmi implementati. Non si autorizza

la divulgazione.

A cura di PeX - quelli di informatica – http://informatici.altervista.org

Algoritmi Calcolo Numerico

A cura di PeX - quelli di informatica – http://informatici.altervista.org

%Verifica TOL underflow

if ((tol<0)|(tol>0))

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

tol=abs(x(a))*tol;

else

tol=realmin;

end

end

%Verifica per valori di tol impossibili

tol=max(tol,eps);

%Calcolo di e^x con tol

e(a)=1;

n=1;

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

while (abs(temp)>=e(a)*tol)

e(a)=e(a)+temp;

n=n+1;

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

end

%Verifica esponente negativo

if(x(a)<0)

e(a)=1/e(a);

end

end

%fine parte reale

else %else per x complesso

j=real(x(a));

k=imag(x(a));

if(nargin==1)

e(a)=pexp(j,eps)*(cos(k)+sin(k)*i);

else e(a)=pexp(j,tol)*(cos(k)+sin(k)*i);

end

end

end Pagina 2 di 8

Questi Algoritmi (non esenti da errori) sono divulgati con il SOLO fine di fornire un valido

spunto iniziale per una personale elaborazione degli algoritmi implementati. Non si autorizza

la divulgazione.

A cura di PeX - quelli di informatica – http://informatici.altervista.org

Algoritmi Calcolo Numerico

A cura di PeX - quelli di informatica – http://informatici.altervista.org

FATTORIZZAZIONE LU CON PIV VIRTUALE

function [a,piv]=lufat(a)

%Controllo errore per dimensioni nulle

if isempty(a)

error ('La matrice è vuota,nulla da calcolare')

end

if ndims(a)>2%Controllo errore per dimensioni superiori a 2

error ('La matrice immessa deve essere in 2 dimensioni')

end

if cond(a)>1e15%controllo condizionamento

error('La matrice è sufficientememnte malcondizionata')

end

pex=size(a);

if(pex(1)~=pex(2)) %Controllo per matrici non quadrate

error('Attenzione matrice non quadrata');

end

[n t]=size(a);

zero=eps*norm(a); %calcola lo zero per la verifica

i=1:n; piv(i)=i;

for k=1:(t-1)

i=k:n;

r=1:n;

r=find(abs(a(piv(r),k))==max(abs(a(piv(i),k)))); %cerca il minimo pedice r per

r=r(1,1); %per evitare indici non scalari (in caso di elementi uguali)

if abs(a(piv(r),k))>zero %controllo se a(piv(r),k) è diverso da 0 o se bisogna "considerarlo 0"

(singolare)

piv([r k])=piv([k r]); %scambia piv(r)con piv(k)

i=(k+1):n;

a(piv(i),k)=a(piv(i),k)/a(piv(k),k); %genera moltiplicatori

j=(k+1):t;

a(piv(i),j)=a(piv(i),j)-(a(piv(i),k)*a(piv(k),j)); %sottrae riga a riga moltiplicata

else

error ('Attenzione il sistema è singolare.Il programma verrà arrestato!')

end

end

if abs(a(piv(n),t))<zero %verifica l'ultimo valore (che non rientra nei cicli precedenti)

error('Attenzione sistema singolare su ultimo passo')

end Pagina 3 di 8

Questi Algoritmi (non esenti da errori) sono divulgati con il SOLO fine di fornire un valido

spunto iniziale per una personale elaborazione degli algoritmi implementati. Non si autorizza

la divulgazione.

A cura di PeX - quelli di informatica – http://informatici.altervista.org


PAGINE

8

PESO

69.16 KB

AUTORE

Sara F

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F 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à Napoli Federico II - Unina o del prof D'Amore Luisa.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Calcolo numerico

Elaborati D'Alessi
Appunto
Calcolo Numerico – Funzione Gauss
Appunto
Calcolo Numerico – Funzione Espo
Appunto
Calcolo Numerico – Fitting dei dati
Appunto