Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB: Embarrassingly Simple Help Needed

  1. Jul 7, 2011 #1
    Ok. My brain is mush right now and I cannot seem to get this to work. I have a text file called 'xburned.dat' in the current directory that is a single column of data points that looks like this

    Code (Text):
    9.91E-05
    1.31E-04
    1.38E-04
    1.78E-04
    2.31E-04
    2.51E-04
    2.81E-04
    2.90E-04
    3.01E-04
    3.21E-04
    3.41E-04
    3.68E-04
    4.57E-04
    4.72E-04
    5.01E-04
    5.29E-04
    5.56E-04
    5.78E-04
    5.85E-04
    6.08E-04
    6.21E-04
    6.50E-04
    6.68E-04
    6.83E-04
    7.10E-04
    7.91E-04
    8.30E-04
    9.97E-04
    1.13E-03
    1.27E-03
    .
    .
    .
    I want to pick up the data in such a way that I have an array in which the rows are sets of 5 consecutive elements of xburned, i.e.:

    Code (Text):

    9.91E-05 1.31E-04 1.38E-04 1.78E-04 2.31E-04
    2.51E-04 2.81E-04 2.90E-04 3.01E-04 3.21E-04
    .
    .
    .
     
    I realize that there might not be a multiple of 5 of the data. In that case I can just truncate the data (i.e. just omit the last row that is < 5 points long).

    This is my current code and it does not even come close ...

    Code (Text):

    x_b = dlmread('xburned.dat');
    len = length(x_b);
    i = 1;
     while(i < len-5)
         k = 1;
         for j = 1:5
         points(k,j) = x_b(j,1);
         end
         i = i + 5;
         k = k + 1;
     end
     
     
  2. jcsd
  3. Jul 7, 2011 #2
    This could be done with http://www.mathworks.com/help/techdoc/ref/reshape.html". The following code is untested:

    Code (Text):

    x_b = dlmread('xburned.dat');
    n_rows = floor(size(x_b, 1)/5)); %number of rows in reshaped matrix
    points = reshape(x_b(1:(n_rows*5)), n_rows, 5);
     
     
    Last edited by a moderator: Apr 26, 2017
  4. Jul 11, 2011 #3
    Thank you MisterX :smile: I will look into reshape. I got my code to work, but reshape looks much cleaner.
     
    Last edited by a moderator: Apr 26, 2017
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: MATLAB: Embarrassingly Simple Help Needed
  1. Simple MATLAB help (Replies: 1)

  2. Need help in MATLAB (Replies: 6)

Loading...