Borrar filtros
Borrar filtros

why won't this code run?

1 visualización (últimos 30 días)
LM
LM el 23 de Nov. de 2017
Comentada: LM el 23 de Nov. de 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 comentario
KSSV
KSSV el 23 de Nov. de 2017
How did you run? What error you got?

Iniciar sesión para comentar.

Respuesta aceptada

Bshara Murr
Bshara Murr el 23 de Nov. de 2017
Editada: Bshara Murr el 23 de Nov. de 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.

Más respuestas (1)

Walter Roberson
Walter Roberson el 23 de Nov. de 2017
You have
newt=[find(toremove(i)==c)],:)=[];
which attempts to do two assignments in one statement.
  3 comentarios
Walter Roberson
Walter Roberson el 23 de Nov. de 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 el 23 de Nov. de 2017
got another error once i fixed it saying find has too many input arguments

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by