Integrating a function over an array of coordinate

조회 수: 7 (최근 30일)
Jacob Williams
Jacob Williams 2017년 12월 2일
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!

답변 (2개)

John D'Errico
John D'Errico 2017년 12월 2일
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
Jacob Williams
Jacob Williams 2017년 12월 2일
That doesn't answer my question, I am looking to integrate over a 3D grid of coordinates, I understand that I can't currently do that and that is not what the code is programmed for, hence why I am looking for a different solution.
trapz is not that solution as it is only 2D and in future you could be less condescending in your answer

댓글을 달려면 로그인하십시오.


Prajwal Gowdru Shanthamurthy
Prajwal Gowdru Shanthamurthy 2021년 4월 20일
I didn't really understand the integral you're trying to compute. I'm not sure if this might help. Please take a look.

카테고리

Help CenterFile Exchange에서 Numerical Integration and Differentiation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by