Dynamic-Calibration/utils/YALMIP-master/@sdpvar/erfinv.m

38 lines
804 B
Mathematica
Raw Normal View History

2019-12-18 11:25:45 +00:00
function varargout = erfinv(varargin)
%ERFINV (overloaded)
switch class(varargin{1})
case 'double'
error('Overloaded SDPVAR/ERFINV CALLED WITH DOUBLE. Report error')
case 'sdpvar'
varargout{1} = InstantiateElementWise(mfilename,varargin{:});
case 'char'
X = varargin{3};
F = (-1+1e-9 <= X <= 1-1e-9);
operator = struct('convexity','none','monotonicity','increasing','definiteness','none','model','callback');
operator.bounds = @bounds;
varargout{1} = F;
varargout{2} = operator;
varargout{3} = X;
otherwise
error('SDPVAR/ERF called with CHAR argument?');
end
function [L,U] = bounds(xL,xU)
if xL<=-1
L = -inf
else
L = erfinv(xL);
end
if xU>=1
U = inf;
else
U = erfinv(xU);
end