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

1 次查看(过去 30 天)
lambda=linspace(.1,1.99,20);
t=linspace(0,1,16);
  1 个评论
dpb
dpb 2014-10-1
I did it for you this time, but please format the code to be legible--note that two blanks before the first line of a paragraph starts a code section. Look at the format for the posting in the Edit window and compare what happens in the Preview window if you remove one of those, etc., ...

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2014-10-1
编辑:Star Strider 2014-10-1
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.)
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by