# Creating a 2x100 matrix with linspace

#1

The following code produces a 2x100 matrix in MATLAB:

x0 = 0;
y0 = 0;
xf = 100;
yf = 200;
r0 = [x0; y0];
rf = [xf; yf];
r1 = [linspace(r0(1),rf(1),N); linspace(r0(2),rf(2),N)];

Trying the same thing in Julia using:

r1 = [linspace(r0[1],rf[1],N); linspace(r0[2],rf[2],N)];

And checking size(r1), I get an answer of (200,) which is a 1D array. How would I be able to replicate MATLAB’s results to produce a 2x100 matrix? Any help would be great, thanks very much.

#2

`[a; b]` is vcat, which combine the two arrays in the first dimension, `[a b]` is hcat which combine the two arrays in the second dimension.
`linspace` returns a (vertical) vector so if you want to combine them in the other dimension you should use hcat so `[linspace(r0[1],rf[1],N) linspace(r0[2],rf[2],N)]` should work. (The result size will be `(100, 2)`)

#3

As Yichao already said, `linspace` returns a vector. If you want a `2x100` `Array` you can use

``````[linspace(r0[1],rf[1],N)'; linspace(r0[2],rf[2],N)']
``````

#4

Thanks pabloferz, that did the trick

#5

A side note: It is actually Matlab that is acting weird here. Matlab is supposed to be column-major, but still, functions like `linspace` and `1:10` return row vectors. Very odd, and frequently quite annoying.