Strumenti Utente

Strumenti Sito


mcl:assignaments

Esercizi per casa

Lezione del 27 Febbraio

Scrivere la funzione spirale.m che, presi due parametri rhomax e ngiri, disegni una spirale di raggio massimo rhomax e con un numero di giri ngiri

Lezione del 2 Marzo

Scrivere una funzione sierpinski.m che, preso un intero npunti, disegni npunti del triangolo di Sierpinski

Lezione del 6 Marzo

Scrivere una funzione piecelinear.m con la seguente intestazione

function [PL, v]=piecelinear(x, y, u)

dove x sono i nodi, y i valori nei nodi, u sono i valori sui quali si vuole valutare l'intepolante. La funzione deve restituire i valori v che la funzione lineare a tratti interpolante assume nei punti u. I coefficienti che descrivono la funzione lineare a tratti sono contenuti nella matrice 2x(n-1), dove n e' il numero dei nodi.

Lezione del 9 Marzo

Scrivere una funzione hermite.m con la seguente intestazione

function a=hermite(x, y, d)


dove x sono i nodi, y i valori che la funzione assume nei nodi e d i valori della derivata prima nei nodi. a e' il vettore dei coefficienti del polinomio di interpolazione che soddisfa le condizioni sui nodi per la funzione e la sua derivata. (Suggerimento: costruire una matrice tipo quella di Vandermonde, e determinare a risolvendo un sistema lineare 2n x 2n).

Utilizzare il comando Octave polyval per valutare il polinomio ottenuto in altri punti e plottare il grafico del polinomio interpolante. Confrontarlo con il polinomio di interpolazione di Lagrange.

Lezione del 16 Marzo

Scrivere la funzione bspline.m con la seguente intestazione

function [x, y]=bspline(px, py)

che permette di disegnare la bspline cubica open sui punti di controllo rappresentati mediante le loro coordinate px e py.

La funzione chiama la funzione bs_base(i, p, t, u) fatta a lezione che calcola i valori che l' i-esimo polinomio di grado p, Ni,p(u) assume nel punto u. Ni,p utlizza il vettore dei knot t=[t0, t1, …, tm]. Si ricorda che

S(u)=sumi=0.. n Ni,p(u)Pi

u \in [tp+1, tm-p]

I knot possono essere generati all'interno della function con il comando linspace ricordando che m=n+p+1.

Lezione del 20 Marzo

Finire di scrivere la funzione polytrig con le seguenti caratteristiche

function v=polytrig(y, u)

che restituisce il polinomio di interpolazione triogonometrico valutato in u, cioe' v=F(u).

Si ricorda che F e' definito nel seguente modo

F(x)

Lezione del 27 Marzo

Finire di scrivere la funzione polymult per effettuare la moltiplicazione veloce di due polinomi.

function c=polymult(a,b)

che presi i coefficienti a e b dei polinomi a(x) e b(x), produce il vettore c che rappresenta il polinomio c(x)=a(x) b(x).

Si tenga conto che

  • se deg(a)=n e deg(b)=m, allora deg( c)≤n+m.
  • c(x) e' univocamente determinato una volta conosciuto il suo valore su n+m+1 punti distinti.
  • c(x_i)=a(x_i) b(x_i).

Sia N=2^k, tale che N≥n+m.

  1. Siano α(i)=a(x_i), β(i)=b(x_i) con i=1, 2, …, N
  2. Siano γ(i)=α(i) β(i), i=1, 2, …, N
  3. Si calcoli c(x) come il polinomio di interpolazione dei valori γ(i) sui nodi x_i.

Se i nodi x_i sono le radici dell'unita' possiamo utilizzate la fft/ifft per la valutazione dei polinomi a(x) e b(x) e per l'interpolazione. La funzione polymult deve utilizzare due chiamate all fft di Octave per implementare il punto 1. e una chiamata alla ifft per l'interpolazione al passo 3.

Lezione del 30 Marzo

Scivere una funzione sfumagrigi.m con la seguente intestazione

function I=sfumagrigi(n, ntoni)

che genera un'immagine nxn che utilizza ntoni livelli di grigio e tale che I(i,j)=(i+j) mod ntoni.

mcl/assignaments.txt · Ultima modifica: 01/04/2009 alle 11:17 (15 anni fa) da Gianna M. Del Corso