u can use OMNET++ and castila .... amazing platform for Ad Hoc network simulation .. also u can find many algorithm can help u .. if try search in OMNET++ group u can find al ot of help.
Matlab has very limited features. I would suggest ns2, ns3 or Castalia.if you are dealing with energy model then castalia is good. It doesnt means that ns2 and ns3 dont support energy models. I personaly go with ns2. Your work is on physical and mac layer then you should go with ns3. Ns2 and ns3 have wide community support.