Why are do you have a negative sign in the equation for c?
You need to scale the discrete convolution, i.e., the output of conv, by the time step.
Using the 'same' (or 'valid') option doesn't give you the entire convolution, and you have to shift it as well. In this case, the magic number for the shift is 5 seconds, though I'm not quite sure why that is, though probably has something to do with the fact that 5 is the midpoint of the time vector.
Anyway, here is code that computes the convolution integral and three approximations using conv:
jfun = @(t)( 200*sin(0.5*pi*(t-4)) .* ( (t>=4) - (t>=6) ) );
lfun = @(t)( exp(-20*t).*t );
tt = 0:.01:10;
cint = 0*tt;
for ii = 1:length(tt)
cfun = @(x,t)(jfun(x) .* lfun(t - x));
cint(ii) = integral(@(x)cfun(x,tt(ii)),0,tt(ii));
zz1 = conv(jfun(tt),lfun(tt))*tt(2);
zz2 = conv(jfun(tt),lfun(tt),'same')*tt(2);
zz3 = conv(lfun(tt),jfun(tt),'same')*tt(2);
You can reduce the time step on tt to get more points and to get the approximations closer to the integral.