I use a checkbox. When the user clicks the "Go" button to start an intensive computation, I make the "Finish Now" checkbox visible and unchecked. In the code, you can check if the user has checked it, and break or exit if you find the user has checked it.
set(handles.chkFinishNow, 'Value', 0); % Uncheck it.
set(handles.chkFinishNow, 'Visible', 'on'); % Show checkbox.
for k = 1 : 100000000
% heavy code...
% Now check if the user has checked the 'Finish Now' checkbox.
if get(handles.chkFinishNow, 'Value')
% User checked it. Bail out.
break;
end
end
% Reset the checkbox.
set(handles.chkFinishNow, 'Value', 0); % Uncheck it.
set(handles.chkFinishNow, 'Visible', 'off'); % Hide it.
