Using min() on vectors with double
이전 댓글 표시
I have several variables of the double type, each around 450x1 in size. I would like to find the minimum value of each of them, but when I use min(vector), MATLAB returns "Subscript indices must either be real positive integers or logicals." Does this mean that min() cannot work with decimals? If so, is there another function I can use that will? An example of my code is below. As you can see, I have set up a matrix that has two columns, one with a single integer and another with the minimum value of the vector.
min_set = [974,min(blg0974);975,min(blg0975);976,min(blg0976)];
Update: All my vectors have positive values with decimal places up to the ten thousandth's place.
댓글 수: 1
Stephen
2017년 7월 6일
min should work with double type. The error message you reported and the line supplied leads me to believe there is a variable in your workspace named "min". Is that the case?
채택된 답변
추가 답변 (3개)
dpb
2017년 7월 6일
"when I use min(vector), MATLAB returns "Subscript indices must either be real positive integers or logicals."
This means you've inadvertently aliased the MIN() function and Matlab now sees min(blg0974) as an array reference.
To confirm this diagnosis, execute
which min
and it will return "min is a variable". To fix this problem, execute
clear min
and remember to not do that again! :)
Illustration of the above to reproduce your symptom:
>> min=min(rand(3)) % call MIN(), forget and name output as min, too...
min =
0.5936 0.2439 0.3485
>> min(min) % try to get overall minimum of the column minima above
Subscript indices must either be real positive integers or logicals.
>>
Oops! Look familiar? :)
>> which min % Whassup???
min is a variable. % Aha! Of course and arrays can't have fractional subscripts
>> clear min % fix the mistake...
>> which min % and back to normal...
built-in (C:\ML_R2014b\toolbox\matlab\datafun\@logical\min) % logical method
>>
Giovanni D'Avanzo
2017년 7월 6일
0 개 추천
what'is blg0974 ?
카테고리
도움말 센터 및 File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!