フィルターのクリア

How can I subtract vectors of different lengths?

15 ビュー (過去 30 日間)
balsip
balsip 2016 年 7 月 27 日
コメント済み: balsip 2016 年 7 月 27 日
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.
balsip
balsip 2016 年 7 月 27 日
Agreed, dpb. Thank you much.

サインインしてコメントする。

採用された回答

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 Center および File ExchangeVariables についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by