vuoi
o PayPal
tutte le volte che vuoi
SUBSTITUTION
function x = lusolv (a,b,piv)
%controlli sui parametri
if (nargin<3)||(nargin>3)
error('Attenzione errore sui parametri di input');
end
if nargout>1
error('Attenzione errore sui parametri di output');
end
% controllo per a nulla o vuota
if isempty(a)
error('Attenzione matrice a vuota!');
end
%controllo per b nullo o vuoto
if isempty(b)
error('Attenzione vettore b dei termini noti vuoto!');
end
%controllo per piv nullo o vuoto
if isempty(piv)
error('Attenzione vettore piv degli scambi nullo!');
end
%controllo per a pluridimensionale
if (ndims(a)>2)
error('Attenzione matrice a pluridimensionale!');
end
n =size(a);
% controllo per matrice fattorizzata non quadrata
if(n(1)~=n(2))
error('Attenzione matrice non quadrata');
end
n=n(1,1); %scalarizza le dimensioni della matrice
Pagina 4 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 autorizzala 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
%Forward Substitution
y(1)=b(piv(1));
for i=2:n
tot=0;
k=1:(i-1);
tot=sum(a(piv(i),k).*y(k)); %vettore somma
y(i)=b(piv(i))-tot;
end
%BACK substitution
x(n)=y(n)/a(piv(n),n); %salvataggio dell'ultimo valore del vettore sol.
i=(n-1);
while i>0 %ciclo per il conteggio all'indietro degli indici
tot=0;
k=(i+1):n;
tot=sum(a(piv(i),k).*x(k)); %vettore somma dei valori
x(i)=(y(i)-tot)/a(piv(i),i);
i=i-1;
end
x=x'; %trasposizione della soluzione da riga a colonna
Pagina 5 di 8
Questi Algoritmi (non esenti da errori) sono divulgati con il SOLO fine di fornire un valido
punto iniziale per una personale elaborazione degli algoritmi implementati. Non si autorizzala divulgazione.
A cura di PeX - quelli di informatica – http://informatici.altervista.org
A cura di PeX - quelli di informatica – http://informatici.altervista.org
FITTING DEI DATI
function grafici(x,y,griglia,grafico)
%Dati i vettori x e y con le coordinate dei punti voluti il programma
%restituisce i seguenti grafici grafici:
%Polinomio interpolante
%Polinomio interpolante lineare a tratti
%La spline
%La retta dei minimi quadrati
%La curva dei minimi quadrati
if nargin<2
error ('verificare valori di imput')
end
if nargin==2
grafici(x,y,0,0)
end
if nargin>4
error ('verificare input')
end
if isempty(x)
error('Il vettore delle coordinate x è vuoto')
end
if isempty(y)
error('Il vettore delle coordinate y è vuoto')
end
if ~isreal(x)
error('il vettore delle coordinate x contiene valori complessi')
end
if ~isreal(y)
error('il vettore delle coordinate y contiene valori complessi')
end
if length(x)~=length(y)
error ('Hai inserito una coordinata in
più o in meno.Verifica i vettori
end Pagina 6 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