Problem 105. How to find the position of an element in a vector without using the find function
Write a function posX=findPosition(x,y) where x is a vector and y is the number that you are searching for.
Examples:
findPosition([1 3 5 4 2], 2) posX is 5
findPosition([1 5 8 6 7 6 0], 8) posX is 3
Solution Stats
Problem Comments
-
8 Comments
May you please add this (or something similar) to the test suite:
% Test for find usage
fid = fopen(which('test'), 'r');
c = onCleanup(@()fclose(fid));
tline = fgetl(fid);
while ischar(tline),
if strfind(tline,'find'),
error('Don''t use find');
end
tline = fgetl(fid);
end
This should work fine after you've renamed your function.
there should be more test suite. such as x =[1 2 3;4 5 6;7 8 9];y =5;then the output is [2,2]; x = [1 2 2 3]; y =2;then the output is [2;2];
The test suite needs to be very restrictive here, the amount of trivial solutions is alarming. Yan
Solution Comments
Show commentsProblem Recent Solvers2746
Suggested Problems
-
4549 Solvers
-
1231 Solvers
-
586 Solvers
-
5334 Solvers
-
What is Sum Of all elements of Matrix
419 Solvers
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!