Standard Otsu thresholding method is already built in in Matlab image processing toolbox using graythresh function. You can check its documentation as well. Here is an example of how to use:
if true
im=imread('cameraman.tif');
thresh= graythresh(im);
BW_im= im2bw(im,thresh);
imshow(BW_im)
end
