У меня есть функция вида a*x + b, и я хочу интегрировать эту функцию от 0 до t, где t будет неоднократно устанавливаться в значения очень большого (длиной 100000) вектора. Я использовал функцию quad в цикле for, но вычисление интеграла для каждого значения в векторе занимает слишком много времени. Есть ли эффективный способ реализовать это в Matlab?
Эффективная интегральная функция в Matlab
comment
Разве это не сводится к вычислению 1/2 * att + b*t для всех элементов t вашего вектора?
- person jmhl   schedule 05.04.2012
Ответы (2)
На самом деле вам не нужно реализовывать его самостоятельно, вы можете найти его, используя «функции численного интегрирования Matlab»...
Первые функции, которые приходят мне на ум, это;
Trapezoidal --> trapz(X,Y)
Cumulative Trapezoidal --> cumtrapz(X,Y)
Adaptive Lobatto Quadrature --> quadl
Adaptive Gauss-Kronrod Quadrature --> quadgk
Vectorized Quadrature --> quadv
person
Semih Ozmen
schedule
04.04.2012
камтрапз();
серьезно
Он вычисляет трапазоидальную аппроксимацию интеграла.
person
Adam Hess
schedule
04.04.2012