Azzera filtri
Azzera filtri

How to assign few of the array values with a constant randomly .

5 visualizzazioni (ultimi 30 giorni)
I try with randperm but not getting an idea.
suppose n=10 and m=4;
require array with value '1' in 4 random position from 1 to 10 and othe postions value '0;
Expected result,
i.e array =[1, 0, 0, 1, 0, 0, 0, 0, 1,1] here m=4 and n=10

Risposta accettata

Stephen23
Stephen23 il 23 Lug 2019
Modificato: Stephen23 il 23 Lug 2019
"How to assign few of the array values with a constant randomly ."
>> n = 10;
>> m = 4;
>> V = zeros(1,n); % generate array
>> X = randperm(n); % random indices
>> V(X(1:m)) = 1 % assign constant to some elements
V =
0 0 1 0 1 0 0 1 1 0
  2 Commenti
chandra Naik
chandra Naik il 24 Lug 2019
Modificato: chandra Naik il 24 Lug 2019
Dear Stephen Cobeldick,
With continution with previous question,
Require array with value '1' in 4 random position from 1 to 10 and othe postions value '0;
Expected result,
i.e array =[1, 0, 0, 1, 0, 0, 0, 0, 1,1] here m=4 and n=10
Suppose two array values associated with m , say Xm and Ym (a point on a plane)
i.e Xm=[20,25,30,25] %X axis coordinate
Ym=[18,23,30,25] %Y axis coordinate,
then how to get corresponding array values Xm and Ym with respect to
[1, 0, 0, 1, 0, 0, 0, 0, 1,1]
i.e Xm_new=[20, 0, 0, 25, 0, 0, 0, 0, 30,25]
Ym_new=[18, 0, 0, 23, 0, 0, 0, 0, 30,25]
I trying with loops, if better approach could you share your thought.
Thank you

Accedi per commentare.

Più risposte (2)

KALYAN ACHARJYA
KALYAN ACHARJYA il 23 Lug 2019
Modificato: KALYAN ACHARJYA il 23 Lug 2019
m=4;n=6;
A=[ones(1,m) zeros(1,n)];
[rows colm]=size(A);
colm_data=randperm(colm);
result=A(:,colm_data)
Please do change according as per your requirements (Minor Change)

chandra Naik
chandra Naik il 24 Lug 2019
Problem resolved using soution of Stephen Cobeldick,
valuesX=zeros(1,n);
valuesY=zeros(1,n);
values = zeros(1,n); % generate array
X = randperm(n); % random indices
values(X(1:m)) = 1 % assign constant to some elements
disp(X);
valuesX(X(1:m))=Xm % assign Xm values
valuesY(X(1:m))=Ym % assign Ym values

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by