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]]
|