Effacer les filtres
Effacer les filtres

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 vue (au cours des 30 derniers jours)
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)

Réponse acceptée

Thorsten
Thorsten le 22 Jan 2016
Modifié(e) : Thorsten le 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.

Plus de réponses (1)

Om
Om le 22 Jan 2016
Thank you so much!

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by