Я хочу вычислить следующий символический интеграл, который является рекурсивным:
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, вычисляя интеграл, вызывает myfunc(k,T-x/d(i))
для различных значений 'x' от 0 до T. Однако, он возвращает ошибку, поскольку myfunc
будет вызываться с символическим значением 'x', а не с реальным значением.Действительно, он не может определить if (T>0)
выражение, истинное или ложное.
Буду признателен, если вы подскажете, как можно вычислить этот рекурсивный интеграл?Спасибо