我想计算以下递归的符号积分:
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))
从 0 到 T 的不同“x”值。但是,它会返回错误,因为myfunc
会使用符号值“x”而不是实际值来调用。事实上,它不能确定if (T>0)
表达式是真还是假。
如果您能建议如何计算这个递归积分,我将不胜感激?谢谢