Yes, totally have been there - for weeks and weeks. It stopped for a while, then a couple of months ago he started doing it again - ALL. THE. TIME. Exactly the same as your describing - when hungry/not hungry, when likes the food/when he doesn't etc etc. No apparent reason apart from desire to fling his food, hurl his plate, toss his fork etc

!
One day I was feeling SO angry

, and I decided that it was not OK that my blood was boiling

and that I had to do something about it. We'd tried all the usual stuff, nothing was working. I'd been reading a parenting book that was talking about how we can't actually control our kids, we can only control ourselves. So it was suggesting ways of helping them learn stuff that is more based on consequences - not punishment, but consequences for themselves. I can't explain it very well! Anyway, on the 'Angry Day' I thought I'd give it a try......
...So, Ben LOVES cars - seriously, he is crazy about them. At the end of a meal he's always saying "Down, play with cars!". So, this particular day, when he threw his plate on the floor I just said "oh dear (in a very nonchalent way, and smiled nicely at him), you can't get down from the table until you put your plate on the mat". I passed him his plate and he hurled it to the floor. So I just passed him it back and said the same thing. Wash, rinse, repeat...wash, rinse, repeat. Sometimes I would add "Wow, Ben would you like to play with your cars?!" (with a big smile on my face), and he would excitedly answer "YES!", and I'd say "Great, just pop your plate on the mat then

". And yet he would proceed to throw the plate, over and over again

!
..........We did this for a total of 50 minutes

, he has seriously got some willpower!! I remained calm and pleasant throughout, because I actually realised that it was him who was feeling the consequence of him throwing his plate, and I actually felt in control of myself, rather than annoyed like usual. After 50 minutes I finally said, "Ben, would you like Mummy to help you put that plate on the mat?". I took his hand and we both guided the plate onto the mat and he left the plate on the table - hurrah

!! I then said "Great! You put your plate on the table - now we can play with your cars

".I got him down from the table, made no more mention of anything to do with plates(!) and just let him get on with playing. Over the next few days we re-did the whole process, but for much shorter periods of time. There were also a couple of times where he threw lots of food on the floor and I used the same sort of response but I just made him wait until I had *slowly* swept it up.
SInce then he has pretty much stopped it altogether. I know that everyone seems to say that kids this age can't 'control' their impulses, but I really have to question that sometimes. I *know* that Ben gets that he needs to put his plate on the table now, and I only have to remind him what happens when he doesn't and I can see the cogs turning in his head!! The whole process is SO much more calm and pleasant now than when I would try and use other 'techniques'!! Neither of us get annoyed (usually!) because the rules are much clearer.
Not sure if any of that helps. I suppose it depends on the child, but I have found that Ben is definately responding well to these sorts of ways of helping him make good choices!!