How to create many variables from a dataset?

1 view (last 30 days)
Md. Golam Mostafa
Md. Golam Mostafa on 24 Sep 2015
Edited: Stephen23 on 19 Jun 2019
I have a dataset having 369148 rows organised in two columns. Every 26 rows of the first column contains a specified scale and the next 26 rows a different scale and so on. Second column contains measurement values at every specified scale. Therefore, total 14198 scales each having 26 measurement values making a grand total of measurement values in the second column is 369148. I want to create 14198 variables for every specified scales each having 26 measurement values. Can someone help me out.

Answers (3)

Steven Lord
Steven Lord on 24 Sep 2015
DON'T DO THIS. See question 1 in the Programming section of the FAQ for an explanation.
Reshape the original data set so that each of your "variables" is stored as a column of the data.
  1 Comment
Md. Golam Mostafa
Md. Golam Mostafa on 24 Sep 2015
Sorry, I am a novice in using MATLAB. Can you explain me further?

Sign in to comment.


Stephen23
Stephen23 on 25 Sep 2015
Edited: Stephen23 on 19 Jun 2019
  2 Comments
Md. Golam Mostafa
Md. Golam Mostafa on 25 Sep 2015
Thank you very much for your enlightening comment! I shall read all these stuffs and follow best practices.
Stephen23
Stephen23 on 25 Sep 2015
Edited: Stephen23 on 25 Sep 2015
Enjoy reading! Basically you should keep your data together as much as possible, because this makes MATLAB fast, and is neater to code. Learn to use the dimensions of numeric arrays rather than splitting up your data:

Sign in to comment.


Thorsten
Thorsten on 25 Sep 2015
You can reshape your data
data = reshape(data, 26, 14198, 2);
You can even let Matlab figure out the elements along the 2nd dimension
data = reshape(data, 26, [], 2);

Community Treasure Hunt

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

Start Hunting!