/ / Jak utworzyć wiele zestawów wartości losowych w Matlab? - Matlab

Jak utworzyć wiele zestawów losowej wartości w programie Matlab? - matlab

Chcę utworzyć 4 zestawy losowych wartości gdziekażdy zestaw zawiera wartości w określonym przedziale czasu. Zestawy mają znajdować się w pewnej odległości od siebie. Zrobiłem to już (dołączony kod), ale myślę, że to trochę za długo na tę pracę. Proszę zaproponować skuteczną metodę, aby to zrobić.

X = randi([0,125],1,15);
Y = randi([0,125],1,15);
X1 = randi([0,250],1,15);
Y1 = randi([575,875],1,15);
X2 = randi([625,875],1,15);
Y2 = randi([250,500],1,15);
X3 = randi([875,1000],1,5);
Y3 = randi([875,1000],1,5);
X = horzcat(X,X1,X2,X3);
Y=horzcat(Y,Y1,Y2,Y3);
scatter(X,Y,"filled, labeled")

Odpowiedzi:

1 dla odpowiedzi № 1

Aby przyspieszyć i uczynić kod bardziej zwartym, oto jeden -

d0 = randi([0,125],4,15);
d1 = randi([0,250],3,15);
d2 = randi([575, 875],1,15);
X = [d0(1,:), d1(1,:), d1(2,:)+625, d0(3,:)+875];
Y = [d0(2,:), d2, d1(3,:)+250, d0(4,:)+875];

W zasadzie są 3 zakresów i to jest to, czego używamy, aby mieć losowe tablice - d0,d1,d2 a następnie po prostu krojenie, dodawanie odpowiednich odsunięć i układanie w poziomie, aby uzyskać dwie tablice wyjściowe.

Z 100000 iteracje, czasy, które otrzymuję -

------------- Original method ------------------------------
Elapsed time is 1.267933 seconds.
------------- Proposed method ------------------------------
Elapsed time is 1.068410 seconds.