PDA

View Full Version : Algoritmo (campionatura)


loverh2
14-12-2010, 11:51
Mi aiutate per favore a progettare questo algoritmo?

Algoritmo per il calcolo dei valori di una funzione su una griglia 1D (campionatura)

Descrizione

Una griglia 1D relativa ad un intervallo [a,b] è un insieme di punti distinti x1 < x2 < .. < xn . La
quantità hi = xi+1 – xi è l’ampiezza dell’i-mo intervallo, il passo i-mo.
L’insieme dei valori f(xi), i=1,..,n è la campionatura di f su tale griglia. Se il passo è costante, cioè
hi = hj, 1<=i,j<=n-1 , allora la griglia è equispaziata (o uniforme)

Progettare in C un programma di tipo main che richiami una funzione che in:

• input: funzione f; estremi dell’intervallo a,b; numero dei punti di griglia n
• output: array 1D f_campionata, che contiene i valori di f nei punti di griglia


In pseudocodice la procedura di campionatura dovrebbe essere questa... adesso per sviluppare tutto in c qualcuno mi aiuta?

procedure campionatura_1D(in:f,a,b,n; out: f_campionata)
var f: real function
var: a,b : real
var: n: integer
var:f_campionata[n]:array of real
var: passo, x :real
var: i : integer
begin
passo:= abs(ba)/float(n1)
x:= a
for i:= 1 to n do
f_campionata(i):= f(x)
x:= x+passo
endfor
end procedure

real function f(x)
var x: real
begin
“ f:= espressione della funzione ”,
ad es. se f = x2 +x 1
f:= x*x + x – 1
end
end function f