MATLAB Answers

i cannot find the minimum values for matrix.

1 view (last 30 days)
theres no problem to find maximum values. but when it come to find minimum values, got error as below.
can somebody tell me what is the error mean ? and how exactly to find the minimum values in each colum in matrix T ?
Thank you,
T =
1.0000 242.0000 24.7385 33.8409 1.0000
2.0000 716.0000 83.2151 50.1744 1.0000
>> M = max (T)
M =
2.0000 716.0000 83.2151 50.1744 1.0000
>> N = min (T)
Array indices must be positive integers or logical values.

  1 Comment

Erivelton Gualter
Erivelton Gualter on 19 Nov 2019
I could not reproduce this error. The following works fine to me.
T =[1.0000, 242.0000, 24.7385, 33.8409, 1.0000; ...
2.0000, 716.0000, 83.2151, 50.1744, 1.0000]
M = max (T)
N = min (T)

Sign in to comment.

Accepted Answer

Erivelton Gualter
Erivelton Gualter on 19 Nov 2019
Alternative method to find the minium value for each column:
min(T,[],1)

  4 Comments

Show 1 older comment
Erivelton Gualter
Erivelton Gualter on 19 Nov 2019
Here:
column = 2; % Pick column indice
min(T(:,column))
Daniel M
Daniel M on 19 Nov 2019
This answer shouldn't have worked. You must have inadvertently solved the issue of overloading the min function.
Otherwise, to get the min of just some columns, only pass in those columns:
T = [1.0000 242.0000 24.7385 33.8409 1.0000; 2.0000 716.0000 83.2151 50.1744 1.0000];
cols = [1 3 5]; % pick these columns
N = min(T(:,cols));
ARIFF HAIKAL
ARIFF HAIKAL on 19 Nov 2019
hi brothers,
yup it got 1 overwritten variable 'min'. so i put 'clear min' .
and it succeed. this one also " N = min(T(:,cols)); " can be used.
Thank you. :)

Sign in to comment.

More Answers (1)

Daniel M
Daniel M on 19 Nov 2019
You must have overwritten 'min' as a variable, and doing min(T) is trying to index into a variable at non-integer positions. That, or you've overloaded the function min with another. To check for this, what is the output of
which min -all
Also, copy and paste the following code exactly, and tell me if it works
clear all
T = [1.0000 242.0000 24.7385 33.8409 1.0000; 2.0000 716.0000 83.2151 50.1744 1.0000];
min(T)

  0 Comments

Sign in to comment.

Sign in to answer this question.