My ex did that when her new boyfriend made her feel like crud about herself (go figure, I never made her punch herself... my bad!)
Anyways, I have found that anger is a vent for other issues that have not been dealt with.
I don't know if that's the case for you, but it could be. As with my ex, it wasn't that she was mad at anything in particular, but she took out her negative feelings on herself regardless.
I never recommend relying on any medications unless you absolutely NEED to.
Anyways, it's never enough to just "control" emotions, I did that for years, and I'm very good at it, but that doesn't get rid of the source.
There is always a trigger, but it may be very deep. It could be that something reminds you of something your mom or dad did years and years ago, and it dredges up ancient anger. That has happened to me recently, and I beat a door off it's hinges.
The difference is I dredged up that anger and expressed it specifically for that issue, now I know for a FACT that issue will never make me angry again... I just have to buy a new door.... and fortunately I didn't break my hand, though my insurance would have covered it. I would have lied, too, said I was moving my fridge or something and fell and then the fridge fell on it or something... OK off subject.
It's our instinct to think away from things that hurt, until it's thrown in our face. Instead, when something is eating at you, face it, go after it, think about it until you find why it's bugging you. I've found that writing out my thoughts on a subject helps me realize why it bugs me. I RARELY (as in only once) have actually needed to express violence to vent my anger. That was because it was a particular harsh memory that I was confronting, well, really, a collective amount of anger towards my stepdad. He's gone, and so is the anger, so 1 door is worth it.
WRITE IT OUT, that should help. Just start writing. I wrote 7 pages before I exploded. Then I felt GREAT for the rest of the day.