Workaround for subscript indices being non-integers and non-logicals
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
jrb13
am 25 Apr. 2017
Kommentiert: jrb13
am 25 Apr. 2017
Hello,
I'm trying to return a submatrix with all rows that have a matching column value, but I'm receiving this error: Subscript indices must either be real positive integers or logicals.
The error is in line 22 of the attached code. I cannot round my array values to an integer, and I'm not sure if there is a more obvious or efficient way of sorting my data by a column value (column 5), reporting the median of column 2 values (distances) for all rows with matching values in column 1 (data from the same time point).
I am looking for advice on how to write the given function to do what I described above without indexing into a matrix using matrix with nonintegers. I am relatively new to MATLAB and there is likely a more efficient way to execute this, but I'm not sure what question to ask yet.
Please let me know if I can provide more information. Thank you for any help.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 25 Apr. 2017
You do not show us the code for SortTime for the line
sorted_Time = SortTime(RelevantRows);
but we can predict that it is returning the sorted data, rather than the sort index. But later when you use
M2=sorted_Time;
AllTimes = M2(:,1);
then M2 will be the contents of the rows, not the indices. But then you do
TrackData = M2(AllTimes,:);
which assumes that what you are working with in AllTimes is indices, not direct values.
You need to go back and re-think which of your variables are to be indices and which of them are to be the contents of the array.
I suspect you are using the form
B = sortrows(A,column)
but you instead probably want to use the form
[B,index] = sortrows(A,column)
Weitere Antworten (1)
Steven Lord
am 25 Apr. 2017
There's no such thing as the 1.5th element of a vector or matrix. Perhaps you want to perform interpolation instead of or in addition to indexing?
0 Kommentare
Siehe auch
Kategorien
Mehr zu Shifting and Sorting Matrices 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!