MATLAB: How to rite a program to roll x number of dice and take the lowest value out while adding the rest

dicerandomrandom number generator

Ok so my friends and I from college are setting up a game of D&D online (because its summer and we are scattered across the country). We are rolling for character stats soon and, in case you are not familiar how its done, you roll 4d6 (four six-sided dice) taking out the lowest value then adding the rest up to give you a combined value range from 3 to 18.
Now I figured out this
A=randi([1 6],1,4)
This will give me a 1×4 random matrix of integers from 1 to 6. I could add a sum command in front to add them all up like this
B=sum(randi([1 6],1,4))
But that will just add up four integers, when I only want the three highest values added up and the lowest thrown out.
Is there a simple way to make a random 1×4 matrix of integers, take out the lowest value, then add the rest?

Best Answer

A=randi([1 6],1,4)
B=sum(setdiff(A,min(A)))
%or
B=sum(A)-min(A)