Bonjour,
Je découvre Matlab car je pourrais en avoir besoin pour mon stage de cet été. Je me familiarise pour le moment avec le langage. J’ai donc écrit le petit script suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | clear; size = 1:100; for i=size % Calling size times our function y(i) = count_step(15); end plot(y); hold on; plot(size, ones(length(size), 1) * mean(y), 'linewidth', 1.5); plot(size, ones(length(size), 1) * median(y), 'linewidth', 1.5); legend('steps', 'mean', 'median'); % Count the number of steps needed to reach the max_distance function step = count_step(max_distance) step = 0; distance = 0; while distance < max_distance n = randi([0 1], 1, 1); % Return 1 or 0 if n == 1 distance = distance + 2; else distance = distance - 1; end step = step + 1; end end |
Je vois un peu partout sur internet qu’il faut éviter au maximum les boucles dans Matlab et essayer de vectoriser le code au maximum. Qu’est-ce que ça signifie ? Je viens de C++ et de Python ou on utilise des boucles.
Merci pour votre aide !
+0
-0