how to random -1 and 1?

on 27 Jul 2013

Azzi Abdelmalek (view profile)

```m=round(2*rand(8)-1)
```

the output:

```m =
```
```       1     0     0     1     0     0     0    -1
1     1     0     0     1     1     0    -1
0     1    -1     0     0     0     1     1
1     0     0     1     0     0     1     0
0     0    -1     1     1    -1     1     1
-1    -1    -1     1    -1     0     0    -1
-1    -1     1    -1     0    -1     1     0
0    -1     0     1     1     0     0     0```

but i don't want zero's output. can anyone help me clear this? thanks

Products

No products are associated with this question.

Azzi Abdelmalek (view profile)

on 27 Jul 2013
Edited by Azzi Abdelmalek

Azzi Abdelmalek (view profile)

on 27 Jul 2013

```m=randi(2,8)-1
m(~m)=-1
```

%or

```m=randi([-1 ,1],8)
m(~m)=-1
```

%or

```m=fix(rand(8)+0.5)
m(~m)=-1
```

kjetil87

kjetil87 (view profile)

on 27 Jul 2013

you should be carefull about method 2 if you want it to be actually random, here there is a 2/3 chance of -1 , and 1/3 of +1.

Azzi Abdelmalek

on 27 Jul 2013

Exact

Tia

on 27 Jul 2013

Andrei Bobrov (view profile)

on 27 Jul 2013
Edited by Andrei Bobrov

Andrei Bobrov (view profile)

on 27 Jul 2013

```2*randi([0 1],8)-1
```

or

```2*(rand(8)>.5) - 1
```

Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi