Assume that $f(x,y,z)$ is a function defined over a box $[a, b] \times [c, d] \times [e, g]$ represented by a chebfun3 and $C$ is a 3D curve defined by a parameterization $$ C = \{ (x,y,z): ~x = x(t),~ y = y(t),~ z = z(t),~~ t_1 \leq t \leq t_2 \}. $$ Our aim is to compute the line integral of $f$ over $C$. Recall from calculus that $$ \int_C f(x,y,z) ds = \int_{t_1}^{t_2} f(x(t), y(t), z(t)) \sqrt{(\frac{dx}{dt})^2 + (\frac{dy}{dt})^2 + (\frac{dz}{dt})^2} \, dt. $$
We can use the integral
command of Chebfun3 to compute the path integral. To get a meaningful result, the range of $C$ should be in the domain of $f$. Here is a line integral of $\cos(x+yz)$ over a curve in the form of a sine wave on the unit sphere [p. 30, 1].
format long, p = 10; q = 1; r = 0.3; C = chebfun(@(t) [cos(t).*sqrt(q^2-r^2*(cos(p*t)).^2) ... sin(t).*sqrt(q^2-r^2*(cos(p*t)).^2) ... r*cos(p*t)], [0, 2*pi]); plot3(C(:,1), C(:,2), C(:,3)), axis equal f = chebfun3(@(x,y,z) cos(x+y.*z)); I = integral(f, C)
I = 10.746250564473513
As a second example, consider integration of $x+yz$ over a spherical helix (a special case of a more general type of curve known as a loxodrome).
r = 5; C = chebfun(@(t) [sin(t/(2*r)).*cos(t) sin(t/(2*r)).*sin(t) ... cos(t/(2*r))], [0, 10*pi]); plot3(C(:,1), C(:,2), C(:,3)), axis equal f = chebfun3(@(x,y,z) x+y.*z ); I = integral(f, C)
I = -0.040586850422702
References
- C. Warren, An Interactive Introduction to MATLAB, University of Edinburgh, 2012.