Problem 801. Construct an index vector from two input vectors in vectorized fashion
Solution Stats
Problem Comments

9 Comments
Please do not check for the occurance of "for" in general, because "UniFORmOutput" has nothing to do with looping ;)
Your predefined function signature has only one parameter, altough two were submitted. Same problem without the "for" restriction: http://www.mathworks.com/matlabcentral/cody/problems/555lowhighlowhighturnaroundcreateasubindicesvector
This is an excellent problem.
I agree with Dirk. Change your regexp to check for instances of eval, for, and while that are not preceded or followed by additional letters.
give me a hint, should we use a specific function here?
Tip: replace UniformOutput with uni.
Actually arrayfun should also be outlawed, as that simply hides the loop at a performance cost. I haven't seen a vectorized solution yet, only recursions and implicit loops (and the usual cheatsubmissions).
If you want a more robust cheatdetection you should have a separate test which runs as first test. That one should not call the submission to avoid it overwriting functions like fileread and assert.
I hate problems that disallow basic programming skills. Unless you know the one specific function that probably just does this for free, you have no idea how to solve it. And from the sounds of it, there isn't a vectorized solution anyway.
I wish you could peek at the functions in the solutions to see what people used.
Rik, your suggestion for a separate test case for cheat detection has been implemented. And ideally, arrayfun should be banned as well for the reason you have stated, but since author has not chosen to, I will refrain from doing so as well.
Also, I can say that the reference solution is a vectorized solution.
Brandon, the idea of such problems is to allow you to brainstorm through different methods, approaches and concepts, and in doing so, learn new programming techniques and/or functions. Without the restrictions, the problem would be extremely easy. And there are already problems with the same theme without any restrictions on Cody, you can explore and find them easily.
As I stated above, I can assure your there is atleast one vectorized solution.
Solution Comments

1 Comment
not good

1 Comment
'uniformoutput' is innocent orz~~

2 Comments
A separate test case that tests for functions that are against the rules would improve this problem. In this case, the "for" in "UniformOutput" was getting caught by the search. A separate test case would have made clear that the solution functions properly but contains an outlawed string.
'Uniformoutput' is now valid, while as for OP's rules for loop is still not allowed.

1 Comment
Wonderful !

1 Comment
Why x3=[] in the test ?
Nice recursion !

1 Comment
Each solution of Richard is a gem.
Problem Recent Solvers346
Suggested Problems

Getting the indices from a vector
7112 Solvers

Put two time series onto the same time basis
302 Solvers

Multiples of a Number in a Given Range
497 Solvers

Rounding off numbers to n decimals
3099 Solvers

Matrix multiplication across rows
268 Solvers
More from this Author3
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!