How to assign 0 or 1 randomly to the coordinates?

1 次查看(过去 30 天)
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.

采纳的回答

Star Strider
Star Strider 2023-2-21
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.
.

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by