Integrating a function over an array of coordinate
Show older comments
Hi I'm looking to evaluate an integral w.r.t T over a 3D mesh grid array of coordinates and I'm not quite sure how to do it.
Currently I have this but it doesn't work and I'm not sure why:
% Function to evaluate theta w.r.t T over a 3D meshgrid
[X, Y, Z] = meshgrid(0:1:10, 0:1:10, 0:1:10);
fun = @(T) (T.*((x.^2)+(y.^2)+(z.^2)));
fun2 = @(x,y,z) integral(fun,0,inf);
theta = arrayfun(fun2, X, Y, Z);
Any help would be greatly appreciated Thanks!
Answers (2)
John D'Errico
on 2 Dec 2017
You CANNOT use integral on a function defined on a list or array of points. Just wanting code to do what it is not programmed to do is a waste of time.
Instead, use a tool that is designed to solve your problem.
help trapz
1 Comment
Jacob Williams
on 2 Dec 2017
Prajwal Gowdru Shanthamurthy
on 20 Apr 2021
0 votes
I didn't really understand the integral you're trying to compute. I'm not sure if this might help. Please take a look.
Categories
Find more on Numerical Integration and Differentiation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!