How to know dimensions to give in trapz function

5 visualizaciones (últimos 30 días)
J K
J K el 11 de Jul. de 2019
Comentada: Rena Berman el 19 de Sept. de 2019
Hi,
Let's say I have a matrix (see below). How do I know what number to put in the dimension variable? Matlab just gives some odd explanation without telling how to determine the dimension. Could someone please help to understand how to get the value for dim?
[Kx, W, Ky] = meshgrid(kx, w, ky);
for j = 1:9;
functione = exp(-((W-w_o).^2)/deltaW.^2).*exp(-(Kx.^2+Ky.^2)/(deltaK.^2)).*exp(1i.*sqrt((W/c).^2-(Kx.^2+Ky.^2)).*z(j));
normw = trapz(functione.^2,dim)*dw
normkx = trapz(functione.^2,dim)*dkx
normky = trapz(functione.^2,dim)*dky
  2 comentarios
TADA
TADA el 11 de Jul. de 2019
It is up to you along which dimension you want it to integrate
Rena Berman
Rena Berman el 19 de Sept. de 2019
(Answers Dev) Restored edit

Iniciar sesión para comentar.

Respuestas (1)

TADA
TADA el 11 de Jul. de 2019
let's say you have a column vector x and you calculate y according to y = ax^2
now if a is a vector, you will get a matrix y:
x = linspace(0,10,5)';
a = [1 10 100];
y = a.*(x.^2)
y =
1.0e+04 *
0 0 0
0.0006 0.0063 0.0625
0.0025 0.0250 0.2500
0.0056 0.0563 0.5625
0.0100 0.1000 1.0000
This y matrix represents 3 possible column vectors ax^2 with different parameter value
Now to integrate correctoly, you should integrate along the first dimension (same dimension as the x column vector)
dim = 1;
A = trapz(x,y,dim)
A =
1.0e+04 *
0.0344 0.3438 3.4375
  7 comentarios
J K
J K el 12 de Jul. de 2019
I understand it all now. Thank you so much for your extensive answers!
TADA
TADA el 14 de Jul. de 2019
Cheers

Iniciar sesión para comentar.

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