is there a way of typing for if like:
var = (cond) ? true : false;
or do we have to use this format?
if (cond)
true
else
You can do
var = 5 > 4;
which will set var to true. Just substitute what ever you need for 5 > 4.
Hmm... no one has mentioned this
fi = @(varargin)varargin{end-varargin{1}}
somewhere in the docs it is written the `end' is coming to one so this will be more future proof
fi = @(varargin)varargin{length(varargin)-varargin{1}}
Usage :
fi(input('Do you like Matlab ? '),'yes','no')
>> no
If your in the need of inline cases see Mathworks ...
I use this style frequently:
cond = what < ever;
n = getfield([23,42], {1+(what < ever)}) % for any 1x1-data
s = cell2mat(getfield({'no','yes'}, {1+(what < ever)})) % for nonuniform
it's compact enough to not require a helper function