1
에서 재귀 함수의 적분 :내가 재귀되는 다음과 같은 상징적 통합을 계산하려는 MATLAB
function [y] = myfunc(i,T)
s = sym('s');
x= sym('x');
h=[....] %matrix n*n (function of x)
d=[....] %matrix n*1 (constants)
for k=1:n
if (T>0)
y= int(exp(-s*x)*h(i,k)*myfunc(k,T-x/d(i)),'x',0,T);
end
end
적분을 계산하는 동안 내가 MATLAB을 예상, 호출 0에서 'X'의 다른 값에 대한 myfunc(k,T-x/d(i))
T. 그러나 myfunc
은 실제 값이 아닌 기호 값 'x'로 호출되므로 오류를 반환합니다. 실제로, if (T>0)
표현식이 참인지 거짓인지를 판단 할 수 없습니다.
이 재귀 적분을 어떻게 계산할 수 있는지 제안 할 수 있다면 고맙겠습니다. 감사
나는 너를 도울 수있을 것이라고 생각하지 않지만, 너의 문제를 이해하려고 노력할 때, 'h'와 'd'에 들어있는 것이 아직도 불분명하다. 또한 재귀 적 구성표에서 함수를 전달할 때 왜 'i'가 변경되지 않습니까? – Vidar
나는 질문에만 집중할 수 있도록 간단하고 간단한 첫 번째 코드를 작성했습니다. 그러나 질문했을 때, 나는 그것에 대한 자세한 내용을 편집하고 추가했습니다. 또한, 'h'의 요소는 'x'의 함수 인 확률 밀도 함수이고 'd'는 상수 값을 포함합니다 ... thanks – Joseph
심볼릭 통합은 다른 값으로 재귀 적으로'myfunc'를 호출하여 작동하지 않습니다. 이 접근법은 수치 구적 법 (numeric quadrature)에 대해서만 작용합니다 (분명히 적분을 근사 적으로 나타냅니다. –