Asked by J K
on 11 Jul 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

Answer by TADA
on 11 Jul 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

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## TADA (view profile)

## Direct link to this comment

https://la.mathworks.com/matlabcentral/answers/471328-how-to-know-dimensions-to-give-in-trapz-function#comment_723679

## Rena Berman (view profile)

## Direct link to this comment

https://la.mathworks.com/matlabcentral/answers/471328-how-to-know-dimensions-to-give-in-trapz-function#comment_747754

Sign in to comment.