I have a two 2D Arrays with 140 zeros, for the 1st I want 70 numbers to have a value between 0 to 1, for the 2nd I want the remaining 70 to have a value <1 and >0

1 Ansicht (letzte 30 Tage)
Hi everyone,
I currently have the below where N=140 In D1 I want half of the rows (i.e. 70 of them) to have a value >0 but <1, In D2 I want half of the rows (but not the same rows as D1 to have a value >0 and <1
Please can someone help around the best way of doing this?
D1=zeros(N,1); D2=zeros(N,1)

Akzeptierte Antwort

Thorsten
Thorsten am 22 Jan. 2016
Bearbeitet: Thorsten am 22 Jan. 2016
N = 140;
ind = randperm(N);
D1 = zeros(1,N);
D2 = zeros(1,N);
D1(ind(1:N/2)) = rand(1,N/2);
D2(ind(N/2+1:end)) = rand(1,N/2);
% visualize
stairs(D1)
hold on
stairs(D2, 'r')
Rand generates random numbers in the open interval (0,1), in accordance with your specification >0 and <1.

Weitere Antworten (1)

Om
Om am 22 Jan. 2016
Thank you so much!

Community Treasure Hunt

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

Start Hunting!

Translated by