Обнаружил странную вещь при кодировании числового интегрирования для пользовательской функции. В руководстве по MATLAB сказано:
Integer3 вызывает интеграл для интегрирования по xmin ≤ x ≤ xmax. Он вызывает Integer2 с методом "плитки" для вычисления двойного интеграла...
Я сделал правильную (я думаю, что это) векторизацию моей функции, поэтому она принимает мозаичный вход от Integer3 и возвращает правильный массив значений. Интеграция проходит без ошибок, но при интегрировании возвращается значение NaN (хотя сама интегрируемая функция всегда возвращает массив комплексных чисел).
Наряду с этим, если я использую интеграл (с методом «ArrayValued») интеграла2 (метод плитки) той же функции, как указано в руководстве, интеграл3, возвращаемые значения являются не NaN, а комплексными числами.
Любая идея, откуда может взяться NaN?
integral3(@(x,y,z) F(x,y,z),x1,x2,y1,y2,z1,z2)
кintegral3(@(z,x,y) F(x,y,z),z1,z2,x1,x2,y1,y2)
- person Mike   schedule 27.11.2014