2
다음 함수에서 Pt를 선택적 입력 매개 변수로 사용하려고했습니다. Pt가 지정되지 않은 경우 계산할 다른 선택적 매개 변수가 필요합니다 (해당 부분 작동). 하지만 그것을 지정할 때 : 당신의 도움을입력 파서 상호 의존적 인 선택적 인수
function [ v ] = Alg(b,shape,varargin)
%%Parse inputs
p = inputParser;
addRequired(p,'b',@isnumeric);
expectedShapes = {'square','circle'};
addRequired(p,'shape',@(x) any(validatestring(x,expectedShapes)));
defaultIt = 42;
addParameter(p,'It',defaultIter,@isnumeric);
addParameter(p,'t',@isnumeric);
addParameter(p,'v',@isnumeric);
parse(p,b,shape,varargin{:})
b = p.Results.b;
shape = p.Results.shape;
It = p.Results.It;
t = p.Results.t;
v = p.Results.v;
parse(p,b,shape,varargin{:})
defaultPoint = Alg_sq(b,Pt,It);
defaultPoint = Sub_Alg(defaultPoint,shape,t,v);
addParameter(p,'Pt',defaultPoint,@isnumeric);
Pt = p.Results.Pt;
%%Shape
switch shape
case 'circle'
v = Alg_crcl(b,Pt,It);
case 'square'
v = Alg_sq(b,Pt,It);
end
end
고마워 : 함수의
'Pt' is not a recognized parameter. For a list of valid name-value pair arguments, see the documentation for this function.
코드 : 나는 다음과 같은 오류가
Alg(b,'circle','Pt',ones(150,1))
을!
당신이 체크'모든 (STRCMP (p.UsingDefaults, '백금을'))를 추가 싶어 수도'경우에 사용자는 특히'라는 : 당신은 여기에 내가 어떻게 할 것입니다, 약간의 코드를 재구성 할 필요가 Alg (b, 'circle', 'Pt', [])'(Alg (b, 'circle')과 구별하기 위해) – Amro