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

6 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2015-1-23
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 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by