Probably easiest is to just process each column in a loop...
for i=1:size(x,2) % over each column in x
iz=find(x(:,i),1); % first nonzero x location
res(i)=findchangept(x(iz:end,i)); % call the function wanted over those data
...
I don't know the findchangept function and didn't look it up to see what it returns; obviously preallocate for its output if saving for each column or use the result in the loop and go on to the next.
And, of course, you wouldn't necessarily have to have the temporaries as shown; put them here to illustrate the process more clearly.