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...

2 Ansichten (letzte 30 Tage)
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...

Akzeptierte Antwort

Jan
Jan am 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.

Weitere Antworten (1)

Meghana Dinesh
Meghana Dinesh am 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 Kommentar
pruth
pruth am 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by