Why does matlab create a single row when creating a matrix of multiple columns?

3 views (last 30 days)
I have to following problem: In reality i have two columns consisting of 250k rows, but i fail to creat a matrix by just using matrix = [column1 column2]. Did i change something in my settings? See the following simple example of my problem
a = [1:10]'
b = [1:10]'
c = [a b]
The answer is
"Columns 1 through 18
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8
Columns 19 through 20
9 10 "
instead of a matrix consisting of two columns. What is going on here?
  6 Comments
mootje_3000
mootje_3000 on 7 Apr 2019
I did the following wrong: A matrix consisting of 250k rows and 4 columns, when I wanted to delete a number of rows I used normdata(deleterows) = [], while I should've used normdata(deleterows,:)=[].
Thank you so much for replying madhan ravi and star strider. Sorry for any inconvenience.

Sign in to comment.

Answers (1)

madhan ravi
madhan ravi on 7 Apr 2019
Edited: madhan ravi on 7 Apr 2019
[a,b] - you were concatenating two row vectors horizontally which results in a row vector, instead do:
c = [a(:) b(:)]
%or
c = [a;b].'
Also this works:
>> a = [1:10]'
b = [1:10]'
c = [a b]
a =
1
2
3
4
5
6
7
8
9
10
b =
1
2
3
4
5
6
7
8
9
10
c =
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
>>

Community Treasure Hunt

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

Start Hunting!