Find index in each column of a matrix using for

3 views (last 30 days)
Good evening,
I am attempting to find the index of the last non-NaN for each column in a matrix. I can't really get it to work correctly; instead of giving me a column vector of indices, it sums the indices together in every cell. Here is my code:
xDate=zeros(1,size(forward,2)); % preallocate a vector
xDate=xDate'; % transpose to a column
for i = 1:size(forward,2)
xDate(i) = find(~isnan(forward),1,'last')
end
I'm sure it is an easy fix; but I've been racking my brain on it for hours now with no solution.
Thanks to all who are generous enough to help.

Accepted Answer

Star Strider
Star Strider on 28 Jun 2015
I don’t have your ‘forward’ matrix so this is just a guess.
See if indexing ‘forward’ as well works:
xDate(i) = find(~isnan(forward(:,i)),1,'last')

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!