function [x,w]=cavalieri_simpson_composta(N,a,b)

% Formula di Cavalieri-Simpson composta.

% input:
% N: numero di subintervalli
% a,b: estremi di integrazione
%
% output:
% x: nodi di integrazione (vettore colonna)
% w: pesi di integrazione (vettore colonna)

% ---- calcolo dei nodi ----
h=(b-a)/(2*N);      % passo "h" della formula
x=a:h:b; x=x';      % nodi

% ---- calcolo dei pesi ----
w=zeros(2*N+1,1); % inizializzazione

w(1)=h/3;      % primo peso
w(2*N+1)=h/3;  % ultimo peso

% pesi con indici pari intermedi
ind_pari=2:2:2*N; 
w(ind_pari)=4*h/3;

% pesi con indici dispari intermedi
ind_disp=3:2:2*N-1; 
w(ind_disp)=2*h/3;