Integrale funzione a tratti con Matlab

lume89
Salve ragazzi. Ho questa funzione a tratti y(x) =\begin{cases}0 & x < -3\\(1/2)*((x/3+1)^2) & -3<= x < 0\\1-(1/2)*((x/3-1)^2) & 0 <= 0 x < 3\\1 & x >= 3\end{cases}

che ho implementato su matlab con il codice
>> dt=.001;
>> t=-5:dt:5;
>> y=zeros(length(t));
>> condizione1=t<-3;
>> condizione2=(t>=-3) & (t<0);
>> condizione3=(t>=0) & (t<3);
>> condizione4=t>=3;
>> y(condizione1)=0;
>> y(condizione2)=(1/2)*((t(condizione2)/3+1).^2);
>> y(condizione3)=1-(1/2)*((t(condizione3)/3-1).^2);
>> y(condizione4)=1;


andando a fare l'integrale numerico con la funzione
integral(y,-5,5)
Error using integral (line 83)
First input argument must be a function handle.
 
>> 


Ho quell'errore che non riesco a risolvere. Da quello che ho capito non vuole la definizione della funzione in quel modo ma allora come posso definirla?

Risposte
lume89
Grazie!! Ho letto alcune guide ma in nessuna è spiegato come definire una funzione a tratti come mi hai spiegato tu. Gli esempi sono tutti su funzioni semplici. :smt023

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.