Finding the time difference between two vectors

Hello,
I have two time vectors (dd/mm/yyyy HH:MM:SS) of different sizes, [80x1] and [3x1]. The larger of the two the peak for an event. The smaller vector represent the full moon date for the 80 day period I have peak values for.
I have three different full moon dates in the 3x1 vector (e.g 28-Oct, 29-Nov, 30-Dec).
What I want to do create a new vector which has time value related to day around the closest full moon day (e.g. -1, 0, 1 2 3 etc)
Cheers
I am trying to convert

 採用された回答

Andrei Bobrov
Andrei Bobrov 2017 年 2 月 26 日

0 投票

Let A (cell 80 x 1) and B(cell 3 x 1) your vectors
A1 = datenum(A);
B1 = datenum(B);
out = bsxfun(@minus,A1(:),B1(:).'); % out = A1(:) - B1(:).'; % in R2016b

1 件のコメント

Jamie Mcwilliam
Jamie Mcwilliam 2017 年 2 月 26 日
Great that works really well! One last thing
Now I have a 80x3 matrix, how can I change that to a 80x1 matrix where I can choose the range of values from each column e.g from column 1, -2-28, column 2 0-28, column 3 - 0-28.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by