Azzera filtri
Azzera filtri

Why does this loops produce a matrix?

1 visualizzazione (ultimi 30 giorni)
Douglas Brenner
Douglas Brenner il 6 Ott 2018
Commentato: Matt J il 6 Ott 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 Commenti
Matt J
Matt J il 6 Ott 2018
Because minl is not a scalar?
Matt J
Matt J il 6 Ott 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

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 6 Ott 2018
Modificato: Matt J il 6 Ott 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;

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by