Strumenti Utente

Strumenti Sito


mcl:assignaments10

Questa è una vecchia versione del documento!


Alcuni esercizi per casa

Lezione del 1/3/2010

Scrivere una function Sierpinski per disegnare il triangolo di Sierpinski usando le trasformazioni lineari affini

x=Ax+b_i

dove A=[1/2, 0; 0, 1/2], b_1=[0,0]; b_2=[1/2 0]; b_3=[1/4, sqrt(3)/4]. Ognuna delle trasformazione si applica con probabilita' 1/3.

Lezione del 15 Marzo 2010

Scivere la funzione miaspline per valutare la spline cubica in un nodo i

function v=miaspline(nodi,y, u)

con nodi vettore dei nodi e y valori e u un vettore di valori sulla quale si vuole valutare la spline s(x). v e' un vettore lungo quanto u tale che v=s(u). Sia n=length(nodi)-1, cioe' n e' il numero di intervalli in cui e' diviso l'intervallo [x_0, x_n].

Dalla teoria vista a lezione, detti mu(i) i momenti del secondo ordine mu(i)=s“_i(x(i)), si arriva ad un sistema tridiagonale con elementi principali uguali a 2 e con elemeti sopra diagonali d_i e sotto diagonali c_i, dove valcolo le seguenti relazioni. Poiche' nodi=[x_0, x_1…, x_n], abbiamo che nodi(i)=x_(i-1)

d_i=h_i/(h_(i-1)+h_(i)) i=1, 2, …, n-2

e c_i=h_(i-1)/(h_(i-1)+h_i) i=2, 3, …, n-1

dove h_i=nodi(i+2)-nodi(i+1)=x_(i+1)-x_i, i=0,1,.. n-1.

Si faccia attenzione al fatto che poiche' in Octave gli indici partono da 1, le due relazioni precedenti devono essere riscritte tenedo conto che h_i=nodi(i+2)-nodi(i+1), mentre se h=diff(nodi) abbiamo che h(i)=nodi(i+1)-nodi(i), cioe' h(i)=h_(i+1), quindi le relazioni precedenti diventano

d(i)=h(i+1)/(h(i)+h(i+1)) per i=1, 2, .. ,n-2

c(i)=h(i)/(h(i)+h(i+1)) per i=2, 3, …, n-1

In particolare il primo d_i e'

d(1)=h(2)/(h(1)+h(2))= (x_2-x_1)/(x_2-x_0)=(nodi(3)-nodi(2))/(nodi(3)-nodi(1))

e l'ultimo c_i e'

c(n-1)= h(n-1)/(h(n-1)+h(n))=(nodi(n)-nodi(n-1))/(nodi(n+1)-nodi(n-1))

Se i nodi sono equidistanti si deve ottenere d(i)=c(i)=1/2.

Per il termine noto abbiamo che posto

delta= diff(y)./h;

dove delta e' un vettore lungo n.

diffdelta=diff(delta)

Il termine noto del sistema risulta

b(i)=diffdelta(i)/(h(i)+h(i+1))

Lezione del 18/3/2010

Completare l'esercizio iniziati a lezione sulle Bspline. In particolare, scrivere la funzione bs_coeff con le seguenti specifiche

function N=bs_coeff(i,p,t,u)

tale che N=N_{i,p}(u), con nodi specificati da t.

mcl/assignaments10.1268988782.txt.gz · Ultima modifica: 19/03/2010 alle 08:53 (12 anni fa) da Gianna M. Del Corso