Why does this loops produce a matrix?

1 visualización (últimos 30 días)
Douglas Brenner
Douglas Brenner el 6 de Oct. de 2018
Comentada: Matt J el 6 de Oct. de 2018
code
waves = [393.029, 414.386, 427.176, 516.748, 526.953, 640.000];
l = length(waves);
for i = 1:l
L = waves(i)
p = int32((L - minl)/.001) + 1
end
output
L =
3.930290000000000e+02
p =
342030 338030 337030 347030 344030 340030 338030
L =
4.143860000000000e+02
p =
363387 359387 358387 368387 365387 361387 359387
etc.
The L's are right but where does the answer for p come from? Why is it not a single value?
  2 comentarios
Matt J
Matt J el 6 de Oct. de 2018
Because minl is not a scalar?
Matt J
Matt J el 6 de Oct. de 2018
Douglas' comment moved here:
Sorry, no
minl =
378.157
L =
3.930290000000000e+02
p =
342030 338030 337030 347030 344030 340030 338030
L =
4.143860000000000e+02

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 6 de Oct. de 2018
Editada: Matt J el 6 de Oct. de 2018
I suspect that minl is really a char array, like '378.157'. Try this instead
p(i) = int32((L(i) - str2double(minl))/.001) + 1;

Más respuestas (0)

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by