Inspired by problem http://www.mathworks.co.kr/matlabcentral/cody/problems/856-getting-the-indices-from-a-matrice Inputs: - matrix A, lower limit, upper limit Ouputs: - indices of matrix elements which are bigger than or equal to lower limit and smaller than upper limit
A little complication: let your function be able to deal with a random order of the input arguments.
If all input arguments have the same size, assume that the first argument is the "matrix" with value(s).
Don't use "find" and don't use "regexp".
last test suit gives an error:"'Error using assert The condition input argument must be a scalar logical. Error in TestPoint11 (line 5) assert(and(R9==1,C9==1))"
also even when I'm using find just to check the results of test suits some of them fail. please fix it ... Thank you !
HINT!
although the problem does not STATE it you are required to post the solution as a column vector (rowidx colidx that is) . In the case that donnot use magic matrix the solution will pass as row vector too but for the ones that the matrix is magic it wont.
My bad on the comment. But still test suits have problems:
#1: assumes x2 is the lower limit and x3 is the upper limit while all other take x2 as upper limit
#4 same issue
In my own solution I did not use ind2sub.
Nice solution, I overlooked the potential usage of ind2sub.
You should use 'varargin' here ;-)
take a look: http://www.mathworks.de/matlabcentral/cody/problems/2091-return-row-and-column-indices-given-2-values-which-define-a-range/solutions/382339
using varargin is also a good suggestion. Thanks.
577 Solvers
Getting the indices from a vector
2152 Solvers
469 Solvers
07 - Common functions and indexing 6
325 Solvers
510 Solvers