Is there a keyword in Matlab that is roughly equivalent to
None in python?
I am trying to use it to mark an optional argument to a function. I am translating the following Python code
def f(x,y=None): if y == None: return g(x) else: return h(x,y)
function rtrn = f(x,y) if y == : rtrn = g(x); else rtrn = h(x,y); end; end
As you can see currently I am using
None. Is there a better way to do this?
in your specific case. you may use
nargin to determine how many input arguments here provided when calling the function.
from the MATLAB documentation:
The nargin and nargout functions enable you to determine how many input and output arguments a function is called with. You can then use conditional statements to perform different tasks depending on the number of arguments. For example,
function c = testarg1(a, b) if (nargin == 1) c = a .^ 2; elseif (nargin == 2) c = a + b; end
Given a single input argument, this function squares the input value. Given two inputs, it adds them together.
NaN while not equivalent, often serves the similar purpose.