Creating an efficient for loop
Show older comments
for i = 1:length(startIdx)
for j = 1:length(date(startIdx(i):cutoffIdx(i)))
k = date(startIdx(i):cutoffIdx(i));
try
shortIdx(j)=find(and(and(and(and(and(jam>=1.2,jam<=2.3),expiration==xDates(i)),option_type=='c'),jamSym==1),quote_date==k(j)),1);
catch
warning('Not present')
shortIdx(j)=0;
end
end
end
Let's say i = 1:4. On the first pass through i, everything is fine. But when i = 2, I am overwriting the stored shortIdx data I created when i was 1. j is the length of each i, and k is the dates for each i. Where I get tripped up is the last part of the try statement
quote_date==k(j)
because when i turns to 2, j is reset to 1. So even though k is the correct set of dates for i, I am simply overwriting the shortIdx variable, instead of appending to it. Is there a way for me to solve this efficiently? Or do I need to create an independent for loop for each i? Thank you.
Accepted Answer
More Answers (0)
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!