% Lab di segnali e Sistemi a.a 2015/16 % es 3 lab 3 %C-peptide clear all clc close all % leggo il segnale in ingresso dal file load lab4_es3_data t_x = tSR'; % trasposta per vaere vettori riga x = SR'; T = t_x(2)-t_x(1); % letto dai dati % definisco la risposta impulsiva A=0.76; B=0.24; a=0.14; b1=0.2; % tre valori per la costante b b2=0.02; b3=0.002; t_h = 0:T:tSR(end); % scelgo gli stessi tempi del segnale in ingresso h1 = A*exp(-a*t_h)+B*exp(-b1*t_h); % tre risposte impulsive, per ogni valore di b h2 = A*exp(-a*t_h)+B*exp(-b2*t_h); h3 = A*exp(-a*t_h)+B*exp(-b3*t_h); % calcolo l'uscita tramite convoluzione t_y = [t_x(1)+t_h(1):T:t_x(end)+t_h(end)]; y1 = T*conv(x,h1); % tre uscite, per ogni valore di b y2 = T*conv(x,h2); y3 = T*conv(x,h3); % rappresento il risultato figure(1) subplot(311) plot(t_x,x) title('Secrezione') xlabel('t [min]') ylabel('x(t) [pmol/l/min]') grid on subplot(312) plot(t_h,[h1;h2;h3]) title('Risposta Impulsiva') xlabel('t [min]') ylabel('h(t) [pmol/l]') legend('b=0.2','b=0.02','b=0.002') grid on subplot(313) plot(t_y,[y1;y2;y3]) title('Concentrazione di Cpeptide') xlabel('t [min]') ylabel('y(t) [pmol/l]') legend('b=0.2','b=0.02','b=0.002') axis([0 max(t_x), ylim]) % mostro il risultato solo nel range attivo di x % al di fuori di questo range la convoluzione non ha significato in quanto % moltiplica valori nulli della x grid on