Under some conditions, inputParser can cause recent versions of Matlab to segfault?!
Best Answer
MathWorks added a new option to inputParser called PartialMatching. This defaults to true although it changes the behavior of inputParser. Unfortunately when used in conjunction with KeepUnmatched it can also cause Matlab to segfault!
Until this is fixed, you can work around with:
ip = inputParser();
if isprop(ip, 'PartialMatching'), ip.PartialMatching = false; end
I've asked MathWorks to make a bug report so we'll know when this is fixed; will post it here if I hear back.
@double is not an input validation function: it just takes the input and converts to double datatype. Whatever test is being done internally appears to accept positive results from the validation function.
You should be using a validation function such as @(x) isa(x, 'double') or @isfloat if single precision is also acceptable.
Best Answer