How can I subtract vectors of different lengths?

23 次查看(过去 30 天)
Hello,
I have two vectors of different lengths:
  • LargerVec (length=7012)
  • SmallerVec (length=7004)
The best way I've come up with to solve this to be able to subtract these vectors is to use SPILLOVER to crop off the last eight values in the larger vector:
spillover=length(LargerVec)-length(SmallerVec);
LargerVec(length(LargerVec)+1-spillover:length(LargerVec))=[];
% Gradients, lower-higher inlets
delta=LargerVec-SmallerVec;
This works, but I don't want to arbitrarily lose those last eight values from LargerVec. I would prefer to extend an average of SmallerVec.
Ultimately, I want the method that will be the most true to the data.
Thank you for your help.
  5 个评论
dpb
dpb 2016-7-27
That would like be so in the spirit of "most true to the data" as it isn't doing any extrapolating which is more risky than interpolating, even.

请先登录,再进行评论。

采纳的回答

Thorsten
Thorsten 2016-7-27
编辑:Thorsten 2016-7-27
You do not need much code, you can simply write
delta = LargerVec(1:numel(SmallerVec))-SmallerVec;
or if you want to delete the values in LargerVec, you can use
LargerVec = LargerVec(1:numel(Smallervec));

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by