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 view (last 30 days)
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)

Accepted Answer

Thorsten
Thorsten on 22 Jan 2016
Edited: Thorsten on 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.

More Answers (1)

Om
Om on 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!