Интеграция IDL

Я хочу интегрировать функцию, которую создаю, но функция будет изменять каждую итерацию на основе заданного ввода. Например:

    y=4e^(mx/4)

Я хотел бы интегрировать по x с нижней и верхней границей, но значение m изменится. Я знаю все свои значения m.

Могу я с этим работать? Мое первоначальное предположение заключалось в использовании QROMB, но это кажется ограниченным и неспособным справиться с моей проблемой.


person Cam    schedule 27.06.2016    source источник


Ответы (1)


QROMB (и другие интеграторы) хотят иметь функцию одной переменной, поэтому вам нужно ввести m через черный ход. Один из способов - с общим блоком:

function integrand,x
common int_common,int_m
return,4*exp(int_m*x/4)
end

function integrator,m,xlow,xhigh
common int_common,int_m
int_m=m
return,qromb('integrand',xlow,xhigh)
end

интегратор (m, xlow, xhigh) вернет нужный вам интеграл.

person Ted Bunn    schedule 08.07.2016