Why does this loops produce a matrix?

1 vue (au cours des 30 derniers jours)
Douglas Brenner
Douglas Brenner le 6 Oct 2018
Commenté : Matt J le 6 Oct 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 commentaires
Matt J
Matt J le 6 Oct 2018
Because minl is not a scalar?
Matt J
Matt J le 6 Oct 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

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 6 Oct 2018
Modifié(e) : Matt J le 6 Oct 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;

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by