I need to speed up this code, T is a table with 5 columns and approximately 1 million rows. The code is doing what I need but it is pretty slow, it takes 1 hour to do the calculation. Someone can help?
Thanks in advance
rmsA = zeros(height(T),1);
for i=1:height(T)
tf = isbetween(T.VarName1,T.VarName(i)-minutes(2),T.VarName(i)+minutes(2));
xA = T.VarName2(tf);
rmsA(i) = rms((xA-993)/102.04);
end

2 件のコメント

BALAJI KARTHEEK
BALAJI KARTHEEK 2020 年 4 月 23 日
Use parallel computing and parfor loops are available in matlab exactly to solve these type of problems
darova
darova 2020 年 4 月 23 日
Can you attach sample data for experiments?

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

回答 (1 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020 年 4 月 23 日

1 投票

To process date data format is slow. Thus, you can convert all into a serial date number using datenum() that shall speed up the simulation process.
good luck

2 件のコメント

Emiliano Ascenzi
Emiliano Ascenzi 2020 年 4 月 24 日
How can I apply isbetween to datenum output? I don't know how much 2 minutes are worth in that form
Med Aymane Ahajjam
Med Aymane Ahajjam 2021 年 7 月 28 日
treat them like you would with normal numbers : .. < .. < ..

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

カテゴリ

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

製品

リリース

R2019b

質問済み:

2020 年 4 月 23 日

コメント済み:

2021 年 7 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by