Basic Question on Imported Data Size
5 次查看(过去 30 天)
显示 更早的评论
Hi there! i'm a newbie in Matlab. I have 5x3000 size of imported data (5 row times 3000 data points). How can i change these data size to 1x15000 size (1 row times 15000 (4x3000+3000) data points? I know that I can use this command successfully: data=[data(1,:) data(2,:) data(3,:) data(4,:) data(5,:)]; but is there any short codes that can be used since I also have a big data size (30x3000). If I use the above command, I believe it will not be efficient in terms of command writing.
Annj
0 个评论
回答(2 个)
Chandrasekhar
2014-5-6
编辑:Chandrasekhar
2014-5-6
reshape(A,1,15000)
where A(3x5000) is the imported data
2 个评论
Tomas Jurena
2014-5-6
Just use transpose of the data matrix in reshape, i.e.
reshape(A',1,15000)
so in your example,
b = reshape(a',1,12)
produces the desired result
b =
1 4 7 10 2 5 8 11 3 6 9 12
Rowan
2014-5-6
the easiest way is to use matrix operations to rearrange the data. e.g. if you want to combine two 3 by 3 matrices, A and B, into a 6 by 3 matrix C (6 rows, 3 columns) you would have for example:
A = ones(3);B = ones(3)*2; (just to show the difference between matrices) then: C = [a;b], which would come out as: C = [1 1 1;1 1 1;1 1 1;2 2 2;2 2 2; 2 2 2]
using this method you can rearrange your imported data, like so: (we'll called the data imported D and the result after rearrangement matrix Dtest)
Dtest = [D(1,:) D(2,:) D(3,:) D(4,:) D(5,:)];
basically D(1,:) means all the data in the first row of matrix D so you just create a new matrix with all the rows of imported data in one line.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!