I want to calculate simulation time of only bigest length of A.
A={[1,2],[1,2,4,5,6,7],[4,8,2],[1,3,5,7]}
[~,index] = max(cellfun(@length,A)); % find index of maximum length
%
tic1 = tic;
[B]=cellfun(@(s)test(s),A )
elapsedTime = toc(tic1);
function[B]=test(A) %function
B=A+1
end
I want to calculate simulation time of A{index}.
I do not know how to use tic toc for this matter.

4 件のコメント

Walter Roberson
Walter Roberson 2019 年 7 月 8 日
編集済み: Walter Roberson 2019 年 7 月 8 日
tic2 = tic;
B2 = test(A{index});
elapsedTime2 = toc(tic2);
Note: you shoud consider using timeit() instead of tic/toc
Bjorn Gustavsson
Bjorn Gustavsson 2019 年 7 月 8 日
Either scrap cellfun and loop over the elements of A, or plug tic-toc into your test-function.
NA
NA 2019 年 7 月 8 日
編集済み: NA 2019 年 7 月 8 日
Thank you. I want to accept your answer (Walter Roberson), but you should answer it below.
If I want to use timeit(), this code have problem,
[B]=cellfun(@(s)test(s),A )
timeit([B{index}])
Walter Roberson
Walter Roberson 2019 年 7 月 9 日
You cannot time an individual component of a cellfun.
timeit(@() test(A{index}), 0)

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

 採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2019 年 7 月 8 日

0 投票

Either scrap cellfun and loop over the elements of A, or plug tic-toc into your test-function.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by