My loop returns no errors however doesn't product any results

I have this script shown below:
%% Combine the data
SWOA = [3,100];
CWOA = [3,100];
SWA = [3,100];
CWA = [3,100];
for i = 1:length(mydata)%loop to group data together into jump types
if grouped(i,2) == 1
SWOA(i,1) = grouped(i,1:2)
else if grouped(i,2) == 2
CWOA(i,1) = grouped(i,1:2)
else if grouped(i,2) == 3
SWA(i,1) = grouped(i,1:2)
else if grouped(i,2) == 4
CWA(i,1) = grouped(i,1:2)
else if grouped(i,2)== 0
continue
end
end
end
end
end
end
However, once I've ran the script the variable are created however the loop doesn't fill them with any data but doesn't return any errors. What I am trying to do is if a cell = 1 put that cell and the same row from column 1 into the variable SWOA, if it equals 2 put that cell and the same row from column 1 into the variable CWOA and so on...
How would I do this

2 Comments

You'll have to attach the variable grouped for people to help. Looking at the code, I'd say the condition "else if grouped(i,2)== 0" is always true so array gets filles.
Sorry here is a copy of the varaible grouped:

Sign in to comment.

 Accepted Answer

I suggest inserting this line right after your for statement:
grouped_var = grouped(i,2)
without a semicolon on the end so that it displays to the command window.
My guess is that grouped(:,2)=0.

3 Comments

Since grouped(:,2) is NaN as far as we can see, it will never satisfy any of your current conditions. Therefore, none of the code in the ‘if grouped(1,2)’ or ‘else if grouped(i,2)’ block statements will ever execute.
You have to go back to whatever calculated the second column of grouped and fix whatever resulted in everything in grouped(:,2)=NaN, or use grouped(i,3) or grouped(i,4) instead.

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!