Filter löschen
Filter löschen

could anyone help me to solve the following issue

1 Ansicht (letzte 30 Tage)
Prabha Kumaresan
Prabha Kumaresan am 5 Mär. 2018
Kommentiert: Prabha Kumaresan am 5 Mär. 2018
The foolowing code works fine
N_UE=10;
unused_rows=1:N_UE;
while ~isempty(unused_rows);
N_UE_rows=ceil(sqrt(randi([2,numel(unused_rows)])));
if (N_UE_rows+1)==numel(unused_rows);
N_UE_rows=numel(unused_rows);
end
rows=unused_rows(randsample(length(unused_rows),N_UE_rows));
[~,idx]=find(ismember(unused_rows,rows));
unused_rows(idx)=[];
end
But the code executes with the result such that for each run the number of rows keep on changing either to 2 or 3. could anyone tell me how to fix the number of rows for each run to be 2.

Akzeptierte Antwort

Rik
Rik am 5 Mär. 2018
N_UE=10;
unused_rows=1:N_UE;
while ~isempty(unused_rows);
N_UE_rows=2;
if (N_UE_rows+1)==numel(unused_rows);
N_UE_rows=numel(unused_rows);
end
rows=unused_rows(randsample(length(unused_rows),N_UE_rows));
[~,idx]=find(ismember(unused_rows,rows));
unused_rows(idx)=[];
end

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by