Q: Do I need parenthesis in function calls (why "grid on" works)?
No!!title 'Figure 1' xlabel Time ylabel TemperatureMatlab treats everything that follows the function name as a space-separated argument list (if you want include spaces in an argument, use quotes). Arguments are always passed as strings, so you have to use parenthesis with any numerical arguments. But if a function requires only string arguments, you can always omit parenthesis (and often quotes too!)
Suppose you are tired of typing set(gca,'property','value') evry time. Write a function
function aset(varargin)
% ASET sets properties of the current axis
% alias to set(gca,varargin{:});
set(gca,varargin{:});
Now you can save yourself some typing:
aset visible on
aset layer top
aset tickdir out yaxislocation right
Note: no parenthesis, no quotes...