MATLAB: I have 20 values of lambda and 16 values of t and a matrix of size 15×16 how can I find exp(-lambda*t)*v

how to multiply different size matrices

lambda=linspace(.1,1.99,20);
t=linspace(0,1,16);

Best Answer

I have no idea what data you are analysing or simulating, so I have no idea what your constraints might be. One option would be to simply specify ‘lambda’ to be 16 rather than 20 values over the same span:
lambda=linspace(.1,1.99,16);
A second option is to extrapolate ‘v’ to also be (20x15):
lv = lambda(1:15);
ve = interp1(lv, v, lambda, 'pchip', 'extrap');
eltv = exp(-lambda'*t).*ve;
figure(2)
plot(t, eltv)
grid
This assumes that ‘v’ is in some way related to ‘lambda’, so the extrapolation takes the first 15 values of ‘lambda’ and uses the full ‘lambda’ vector to extrapolate ‘v’ to ‘ve’. Since ‘lambda’ is linear, it is as good a choice as any. Choose the extrapolation method that is most appropriate for your data among the available options. (I chose 'pchip' for no particular reason. You must choose a method if you want to extrapolate.)