Clear Filters
Clear Filters

How to assign 0 or 1 randomly to the coordinates?

2 views (last 30 days)
Hi everyone,
I defined a grid mesh as the follow;
x = linspace(-2,2,10) ;
y = linspace(-2,5,10) ;
[X,Y] = meshgrid(x,y) ;
plot(X,Y,'.r')
P = [X(:) Y(:)]
P = 100×2
-2.0000 -2.0000 -2.0000 -1.2222 -2.0000 -0.4444 -2.0000 0.3333 -2.0000 1.1111 -2.0000 1.8889 -2.0000 2.6667 -2.0000 3.4444 -2.0000 4.2222 -2.0000 5.0000
My question is that how can I assign only 0 or 1 to each coordinate randomly?
Thank you in advance.

Accepted Answer

Star Strider
Star Strider on 21 Feb 2023
I am not certain what you want to do.
Perhaps this —
x = linspace(-2,2,10) ;
y = linspace(-2,5,10) ;
[X,Y] = meshgrid(x,y) ;
c = randi([0 1], size(Y))==1
c = 10×10 logical array
1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1
figure
plot(X(c),Y(c), '.r')
hold on
plot(X(~c), Y(~c), '.b')
hold off
axis('padded')
legend('1','0', 'Location','best')
The top row of ‘c’ correspoionds to -2 and the bottom row corresponds to +5. The columns are not flipped.
.

More Answers (1)

Voss
Voss on 21 Feb 2023
val = randi([0 1], size(X)) ;

Community Treasure Hunt

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

Start Hunting!