我正在尝试使用 MATLAB 计算一个相当难看的积分。我遇到的问题是我将一个非常大的数字(> 10 ^ 300)与一个非常小的数字(< 10 ^ -300)相乘。MATLAB 为此返回“inf”,即使它应该在 0-0.0005 的范围内。这就是我所拥有的
besselFunction = @(u)besseli(qb,2*sqrt(lambda*(theta + mu)).*u);
exponentFuncion = @(u)exp(-u.*(lambda + theta + mu));
其中 qb = 5,lambda = 12,theta = 10,mu = 3。我想找到的是
besselFunction(u)*exponentFunction(u)
对于 u 的所有真实值。问题是,每当 u>28 时,它都会被评估为“inf”。我听说过并尝试过使用 MATLAB 函数“vpa”,但是当我想使用函数时它似乎效果不佳......
在这一点上,任何提示将不胜感激!