Unfortunately, subplot won't work well for that kind of layout. Your best bet is to manually set the Position property of the individual axes to align them.
For example:
mainax = axes('Position',[0.1 0.1 0.5 0.5],'Box','on');
topax = axes('Position',[0.1 0.65 0.5 0.25],'XAxisLocation','top','Box','on');
rightax = axes('Position',[0.65 0.1 0.25 0.5],'YAxisLocation','right','Box','on');