You can try to get an account with MATLAB on the Teragrid, operated jointly by Cornell university and Purdue university. It is an NSF funded project and provides access to researchers (both academic and industrial) for free. You just need to fill out a request form and you should get an account setup in a day or two.
I have used the Teragrid for my projects and I am entirely satisfied with it. They have a good infrastructure with 64 servers w/ 8 cores each, for a total of 512 cores of processing power and 16 GB of RAM/server.
However, do note that you will have to change your workflow drastically and switch to writing distributed jobs instead of parallel (or serial jobs), which can be a pain in the initial days (if you're not used to it). They do have helpful resources for that.
Also important when working with shared resources is the concept of "wall time", which also directly relates to how long your job stays in the queue. Wall time is basically how long a single task takes to run. In order to set a sufficient wall time, you must be intricately familiar with your code's complexity (number of operations, etc) so that you don't under estimate the time required (tasks are terminated if they exceed wall time!). On the other hand, you don't want to be too lax and choose a high wall time, because then your job will stay longer in the queue. In other words, you can't just set a wall time of 7 days just to be safe, because the scheduler will make you wait till a resource can be freed for 7 days (once you access a core, it's yours and yours only), which is close to never.