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

조회 수: 9(최근 30일)
chandra Naik 2019년 7월 23일
답변: chandra Naik 2019년 7월 24일
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
##### 댓글 수: 1표시 없음숨기기 없음
"I try with randperm but not geeting idea.„
Why?

댓글을 달려면 로그인하십시오.

### 채택된 답변

Stephen23 2019년 7월 23일
편집: Stephen23 2019년 7월 23일
"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표시 이전 댓글 수: 1숨기기 이전 댓글 수: 1
chandra Naik 2019년 7월 24일
편집: chandra Naik 2019년 7월 24일
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

댓글을 달려면 로그인하십시오.

### 추가 답변(2개)

KALYAN ACHARJYA 2019년 7월 23일
편집: KALYAN ACHARJYA 2019년 7월 23일
m=4;n=6;
A=[ones(1,m) zeros(1,n)];
[rows colm]=size(A);
colm_data=randperm(colm);
result=A(:,colm_data)
##### 댓글 수: 0표시 이전 댓글 수: -1숨기기 이전 댓글 수: -1

댓글을 달려면 로그인하십시오.

chandra Naik 2019년 7월 24일
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

댓글을 달려면 로그인하십시오.

### 범주

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!