why won't this code run?

[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

0 votes

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)

You have
newt=[find(toremove(i)==c)],:)=[];
which attempts to do two assignments in one statement.

3 Comments

LM
LM on 23 Nov 2017
how should i split the assignments?
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

Asked:

LM
on 23 Nov 2017

Commented:

LM
on 23 Nov 2017

Community Treasure Hunt

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

Start Hunting!