this question has some discussion on why shift+arrow keys don't use the default behaviour of selecting text, but it doesn't have any suggestions on how to make it have that behaviour. I'm ok with it screwing up any command line program that actually uses Shift+arrow (if any exist, which I doubt) but an even better solution would be to have it use the normal behaviour when a foreground program is running.
For anyone who has not used the Matlab CLI: shift+arrow will move the cursor and also select any text between where the cursor was previously and where it is now. Any place where the cursor can't go can't be selected using this method. Moving the cursor without holding shift clears the selection. Then the selected text can be copied using command+c, or whatever your copy shortcut is.