Extract the largest value for each day from a matrix
A few notes:  (I implemented this in Octave, so there may be differences between my code and a proper Matlab implementation, but there shouldn't be).


First we care about only unique dates, right?  So lets grab
indices for their groupings.  I'm assuming this original data is
stored in the matrix A.

[X, y, z] = unique(A(:, 4))


Now z is the only value I used from this output, so you could
ignore the other returns by putting ~ in their place.
Second, let's split out data up based on these groups.  We can use
the function accumarray() to accomplish this nicely.  If we
pass in the function handle @max to it, it'll even find the max
within these groups.

B = accumarray(z, A(:, 1), [], @max)


There is some trick to get each row corresponding to that maximum value based on the z parameter, but after investigating this for a few hours I still haven't figured it out and have given up.  You could try using find() to get these rows instead, using z to make sure we are grabbing the right values.