## how to random -1 and 1?

### Tia (view profile)

on 27 Jul 2013
Accepted Answer by Azzi Abdelmalek

### 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)

Answer by Azzi Abdelmalek

### 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)

Answer by Andrei Bobrov

### 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
```