function [z] = my_prod_trid_20_03(a,b,c, y) %calcola il prodotto di una matrice tridiagonale per vettore %a=(a(i,j)) tridiagonale se a(i,j)=0 per abs(i-j)>1 % a vettore elementi diagonale principale i=j % b vettore elementi sopradiagonale j=i+1 %c vettore elementi sottodiagonale i=j+1 n=length(y); z=zeros(n,1); z(1)=a(1)*y(1)+b(1)*y(2); for k=2:n-1 z(k)=c(k-1)*y(k-1)+a(k)*y(k)+b(k)*y(k+1); end z(n)=c(n-1)*y(n-1)+a(n)*y(n); end