MATLAB: Array inside an Array

arrayonarray

if i have one array smaller than another
expample. D=[0 1 1 2 3 4] and d=[1 2 3] and i want to find if the D vector has inside the d array also to return the position of the start of d vector for example in this case the position is 3

Best Answer

If you have only positive integers, you can use an undocumented feature of strfind:
D=[0 1 1 2 3 4];d=[1 2 3];
strfind(D,d) % returns 3
If you have also other values, you can use third output of unique to convert your values into positive integers. If you're using GNU Octave you will have to cast to char to make this work (in which case only 0-255 values are likely to work).