Numerical integration using Trapz

26 visualizaciones (últimos 30 días)
Waseem Akhtar
Waseem Akhtar el 6 de Mayo de 2021
Comentada: Star Strider el 7 de Mayo de 2021
Hi all,
I am trying to calculate a double integral over a rectangular grid using trapz.
The grid is defined as:
[x,z] = meshgrid(xp,zp);
xp and zp are the 1d arrays of x and z coordinates of the grid.
I trying to calculate the function values (F) at the grid nodes as:
F(i,j)=trapz(zp,trapz(xp,g.*f,2));
here,
g is a function of x and z i.e. g(x,z) whereas, f values are already calculated values at each node of the grid i.e. not a function of x and z.
Can someone suggest how may I do it, please.

Respuesta aceptada

Star Strider
Star Strider el 6 de Mayo de 2021
That should produce one scalar value as ‘F’, so the subscripts are not necessary.
I would do something like this —
F = trapz(zp,trapz(xp,g.*f));
The result of the first trapz call will be a vector, and of the second will be a scalar. So long as ‘g’ and ‘f’ have compatible dimensions, and they match ‘xp’ and ‘zp’ appropriately, that should work.
  6 comentarios
Waseem Akhtar
Waseem Akhtar el 7 de Mayo de 2021
Thank you Star Strider, your first answer was correct.
Star Strider
Star Strider el 7 de Mayo de 2021
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Numerical Integration and Differentiation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by