How can I subtract vectors of different lengths?

23 views (last 30 days)
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 Comments
dpb
dpb on 27 Jul 2016
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.

Sign in to comment.

Accepted Answer

Thorsten
Thorsten on 27 Jul 2016
Edited: Thorsten on 27 Jul 2016
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));

More Answers (0)

Community Treasure Hunt

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

Start Hunting!