Help me with indexing please?
1 view (last 30 days)
Show older comments
Jafnii Jalaludin
on 15 Mar 2019
Commented: Jafnii Jalaludin
on 19 Mar 2019
Hi Everyone, I'm new to Matlab, Please help me. Much Appreciated.
I struggling with Matlab, ok i got almost more than 1 million of data, 1 (first column) refers to number of cycle, (2nd column) -360 to + 360 refers to crank angle, (3rd column) refers to pressure data.
I need to rearrange the data so that i got
column 1: crank angle
column 2: pressure data for cycle 1 ( referring to angle in column 1)
column 3: pressure data for cycle 2
and so on till cycle 143
5 Comments
John D'Errico
on 15 Mar 2019
Read the help for reshape. More importantly, I would suggest you are still thinking as if you are using a spreadsheet. So what you need most is to read the getting started tutorials. Actually spend some time learning to use MATLAB. Reshape is a basic tool that you will find in the very beginning. Otherwise, you will be asking basic questions at every opportunity, but still thinking in terms of a spreadsheet.
Accepted Answer
Stephan
on 15 Mar 2019
Edited: Stephan
on 15 Mar 2019
Hi,
as suggested in the comments read the documentation. Here is a small example which is near by your problem. Try to understand what happens by reading and by adapting this to your problem:
% Building a small example
A = repelem([1 2 3]',5,1);
A(:,2) = repmat((-2:2)',3,1);
A(:,3) = rand(15,1) + 1
% Reshaping the way you want it
B = [A(1:sum(A(:,1)==1),2), reshape(A(:,3),sum(A(:,1)==1),[])]
Best regards
Stephan
More Answers (0)
See Also
Categories
Find more on Matrix Indexing 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!