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

 Risposta accettata

Bshara Murr
Bshara Murr il 23 Nov 2017
Modificato: Bshara Murr il 23 Nov 2017

0 voti

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.

Più risposte (1)

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

3 Commenti

LM
LM il 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 il 23 Nov 2017
got another error once i fixed it saying find has too many input arguments

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

LM
il 23 Nov 2017

Commentato:

LM
il 23 Nov 2017

Community Treasure Hunt

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

Start Hunting!

Translated by