Inserting Spaces a consistent intervals in data using nested for loops.

9 views (last 30 days)
Hello, I'm having trouble with this piece of code. I'm sill fairly new to matlab which is probably why I'm struggling.
I've imported data into matlab in an 84x8 matrix (tracingdata). What I need to do is put 4 rows of NaN inbetween each row in that matrix. First, I've created a second matrix to put the new data in that is 420x8 (called Chart).
chart = NaN(420,8)
Next, I put the first row of tracing data as the first row in chart as a starting point for the for loop
chart(1,:) = tracingdata(1,:)
Finally, I attempted to create a nested for loop. The first for loop reads the tracing data matrix, and nested for loop puts rows of tracing data in at intervals of 4 into the chart matrix. The problem is that this part of the code doesn't work. When I evaluate it I end up with my chart matrix 420x8 with the very frist row having the same first row of tracingdata (which is what I want). But the rest of the chart matrix is filled with NaNs and no other data.
for i=1:1:size(tracingdata)
tracingdata(i,:)=chart(j,:)
for j=1:4:size(chart)
end
end
Any suggestions would be great. I have a feeling it's something simple, I just can't seem to wrap my head around it
- Kyle

Accepted Answer

Star Strider
Star Strider on 23 Jan 2015
This works:
tracingdata = randi(10, 84, 8); % Created Data
chart = NaN(420,8);
NaNsep = 5;
chart(1:NaNsep:NaNsep*84,:) = tracingdata(1:84,:);
check_result = chart(1:16,:) % Verify Correct Format
You can discard the ‘check_result’ assignment if its output verifies that the ‘chart’ matrix is what you want. I created a separate ‘NaNsep’ variable in the event you want to change the spacing.
  4 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!