Why do I get the error "Subscript indices must be real positive integers or logicals?"
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Jacey Allen
am 1 Mär. 2018
Beantwortet: Walter Roberson
am 1 Mär. 2018
for k=1:length(x)
d=T(V)-Dft(V)-Dw(V);
end
max = max(d);
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 1 Mär. 2018
Your line
max = max(d);
first calls upon the built in MATLAB function max to find the maximum of d. It then redefines the name max to be associated with a variable with that value, blocking the use of max as a function. The next time you attempt to take max() of anything, max(d) would be interpreted as an attempt to index the variable named max with the index given in d, which can only work if d is the value true or false or is something numeric that consists entirely of 1's.
0 Kommentare
Weitere Antworten (1)
Paul Shoemaker
am 1 Mär. 2018
Two points...
First, it's very difficult to answer your question without number examples that we can test.
Second, you have "d" in a FOR loop, but do not appear to be using the loop index "k" for anything in the loop. So, why loop at all? I suspect this is a typo.
Paul Shoemaker
0 Kommentare
Siehe auch
Kategorien
Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!