Clear Filters
Clear Filters

hello guys, i have mat file < 15151x723 double > but i want this file with 3 columns only. after 15151 rows i want next 3 columns should come bellow that.same with next 3 columns ...hope you understand...

1 view (last 30 days)
hello guys, i have mat file < 15151x723 double > but i want this file with 3 columns only.
after 15151 rows i want next 3 columns should come bellow that.same with next 3 columns ...hop u understand...

Accepted Answer

Jan
Jan on 5 Feb 2016
All such resortings can be performed by:
reshape(permute(reshape()))
In you case this could be:
a = [1 2 3 4 5 6; ...
10 20 30 40 50 60; ...
100 200 300 400 500 600; ...
1000 2000 3000 4000 5000 6000]
sizeA = size(A);
b = reshape(permute(reshape(a, sizeA(1), 3, []), [2, 1, 3]), [], 3);
If this does not match your needs, play with the parameters for reshaping and permuting - there is only a limited number of possible combinations, such that you will find the solution fast.

More Answers (1)

Meghana Dinesh
Meghana Dinesh on 5 Feb 2016
Have you tried using reshape?
If
a =
[1 2 3 4 5 6
10 20 30 40 50 60
100 200 300 400 500 600
1000 2000 3000 4000 5000 6000]
Then
b = reshape(a,8,3)
gives:
b =
[1 3 5
10 30 50
100 300 500
1000 3000 5000
2 4 6
20 40 60
200 400 600
2000 4000 6000]
Is this what you want?
  1 Comment
pruth
pruth on 5 Feb 2016
thank you for immediate reply see if have data
a = [1 2 3 4 5 6
10 20 30 40 50 60
100 200 300 400 500 600
1000 2000 3000 4000 5000 6000]
then i want
[ 1 2 3
10 20 30
100 200 300
1000 2000 3000
3 4 5
40 50 60
400 500 600
4000 5000 6000]
but in reality we dont know how much columns and rows we would get(it suppose to be in thousands) for eg. we have data like bellow ,
70.09 205.98 -1 70.09 205.98 -1 70.09 205.98 -1
69.84 205.21 -1 69.84 205.24 -5 69.84 205.21 -1
69.59 204.46 -1 69.59 204.46 -1 69.59 204.46 -1
69.34 203.73 -2 69.34 203.73 -8 69.34 203.73 -8
..
..
..
..
68.29 200.98 -9 68.29 200.98 -1 68.29 200.98 -2
first columns=latitude ,second=longitude, third=data. again forth columns = latitude ,fifth = longitude sixth = data... and so on.... we dont know how columns would come ,it depends on data.here i want only 3 columns,one column for latitude second for longitude and third for data. hope u understand. i m very slow in English.

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!