Filter löschen
Filter löschen

How can I subtract vectors of different lengths?

15 Ansichten (letzte 30 Tage)
balsip
balsip am 27 Jul. 2016
Kommentiert: balsip am 27 Jul. 2016
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 Kommentare
dpb
dpb am 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.
balsip
balsip am 27 Jul. 2016
Agreed, dpb. Thank you much.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Thorsten
Thorsten am 27 Jul. 2016
Bearbeitet: Thorsten am 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));

Weitere Antworten (0)

Kategorien

Mehr zu Variables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by