# Change row vector to column vector

How can I change this into a column, at the moment all 750 entries are on one row?

```p = normal(1:750)-1;
```

I have tried:

```columns = 1;
p = normal(1:750)-1;
p = p(1:columns);
```

I have also tried:

```rows = 1000;
p = normal(1:750)-1;
p = p(1:rows)';
```

I would imagine you could just transpose:

```p = (normal(1:750)-1)'
```

It is common practice in MATLAB to use the colon operator : for converting anything into a column vector. Without knowing or caring if normal is a row vector or a column vector, you can force p to be a column vector, like so:

```p = p(:);
```

After this, p is guaranteed to be a column vector.

Setting

```p = p(:);
```

is indeed the best approach, because it will reliably create column vector.

Beware of the use of the ' operator to do transpose. I have seen it fail dramatically many times. The matlab operator for non-conjugate transpose is actually .' so you would do:

```p = p.'
```

if you want to do transpose without taking the complex conjugate.