cerca
Matlab - Differenze divise
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Uni.AN-Matlab-DifferenzeDivise History

Hide minor edits - Show changes to output

Added lines 1-45:
(:title Matlab - Differenze divise:)
[[Torna alla pagina di Analisi Numerica->Analisi numerica]]
----

%titolo%''':: Matlab - Differenze divise ::'''

[@
% Metodo delle differenze divise
% ------------------------------
% restituisce un vettore a
% richiede due vettori come parametri, che contengono
% le coordinate x e y dei punti da interpolare
function [a] = diffdiv(xnodi,ynodi)
% ricavo il numero di nodi
n = length(xnodi);
a = ynodi;
for k=1:n-1
% A B C D
%------ ------- -------- --------------------------
a(k+1:n) = (a(k+1:n) - a(k:n-1))./(xnodi(k+1:n) - xnodi(1:n-k));
% spieghiamo a cosa corrispondono le varie parti
% A = f(x[i], ... ,x[i+k])
% B = f(x[i+1], ... ,x[i+k])
% C = f(x[i], ... , x[i+k-1])
% D = x[i+k] - x[i]
end

% esempio di utilizzo:
%
% % definisco gli estremi dell'intervallo
% estremoA = 2;
% estremoB = 5;
% % definisco il numero di nodi da interpolare
% nodi = 4;
% % utilizzo la funzione linspace per generare un vettore x
% % con 'nodi' elementi compresi tra 'estremoA' e 'estremoB'
% x = linspace(estremoA,estremoB,nodi);
% % definisco una funzione da applicare alle x
% y = 1./(x.^2+1);
% % genero il vettore a che definisce la mia equazione ricavata
% % col metodo delle differenze divise
% [a] = diffdiv(x,y);@]

----
[[Torna alla pagina di Analisi Numerica->Analisi numerica]]