calculus - Fast integration technique in matlab? -


so have following function need code:

lm = 1/d integral[exp(-i(a(x)t+mkx)) dx (from 0 d)

what have right is:

l = (1/period) * int(exp(- 1i*(ax*t+(m*k*x))),x,0,period); subs(l,[t,m],[beta0,tt]); 

where symbolic. takes long time if ax challenging (sin(x)). figure out way simplify this. have array a_x(xi) , have been referred colleagues quad function, far not sure how use that.

thanks

if integrand doesn't change (variables not function of x) see no reason why couldn't take output of symbolic integration , use numerically without performing integration:

kmp = k.*m.*period/2 l = exp(-1i*(ax.*t+kmp)).*sin(kmp)./kmp 

otherwise, yes, should matlab's quadrature integration methods – work vary similary sym/int, numerical values , functions. in newer versions of matab try integral or use quadgk. this:

fun = @(x)exp(-1i*(ax*t+(m*k*x))); l = (1/period)*integral(fun,0,period); 

note highly oscillatory functions, quadrature methods have difficulty. should check results correct in such cases. if matlab's built-in quadrature routines have trouble, levin integration schemes or maybe this.


Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

node.js - ldapjs - write after end error -

DOM Manipulation in Wordpress (and elsewhere) using php -