Clear Filters
Clear Filters

why won't this code run?

1 view (last 30 days)
LM
LM on 23 Nov 2017
Commented: LM on 23 Nov 2017
[find(stock.permno)]==notrading(1);
for i=1:18522
end
for j=10137
newt=[find(toremove(i)==c)],:)=[];
end
for i=0:4
t((1+(i*126)):(126+(i*126)),:)=c((253+(i*378)):(379+(i*378)),:);
end
for i=1:5
trade(i).permno=top5(i,1);
for ii=0:4
trade(ii+1).price=d(1+(ii*252):252+(ii*252),4);
end
  1 Comment
KSSV
KSSV on 23 Nov 2017
How did you run? What error you got?

Sign in to comment.

Accepted Answer

Bshara Murr
Bshara Murr on 23 Nov 2017
Edited: Bshara Murr on 23 Nov 2017
Probably because you used the same local variable inside the main and nested loop. Try replacing the second i by a j (in every instance you are referring to it), and end your "for" loops.

More Answers (1)

Walter Roberson
Walter Roberson on 23 Nov 2017
You have
newt=[find(toremove(i)==c)],:)=[];
which attempts to do two assignments in one statement.
  3 Comments
Walter Roberson
Walter Roberson on 23 Nov 2017
Possibly you want
newt(find(toremove(i)==c),:)=[];
but it is difficult to be sure as your code does not mention newt anywhere else.
LM
LM on 23 Nov 2017
got another error once i fixed it saying find has too many input arguments

Sign in to comment.

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!