Double numerical integration of an Experimental data (no function)

Hi all,
I have a rectangular domain ( in x and y) and have 64 points equally distributed data points around this rectangular domain (lets call the data points as A). I have the numerical value of each point on the grid. (sizes: x = 1 x 64, y = 1 x 64, A = 8 x 8)
B = double_integration(A) dx dy.
I tried the already given solution , result = trapz(x,trapz(y,mat,1),2) , but did not get any result. (Error was, LENGTH(X) must equal the length of Y in dim 1.)
Any ideas?
Many thanks

2 commentaires

Are the points scattered irregularly around the domain? Or are they on a regular lattice of some sort? Like an 8x8 grid?
Yes the data points are arranged as 8 x 8 and I have coordinates in x and y for each point.

Connectez-vous pour commenter.

Réponses (1)

I would use trapz on each dimension of ‘A’:
int_1 = trapz(A);
Result = trapz(int_1)

5 commentaires

I tried this, it worked but the result does not look right.
A = reshape(A,64,1);
for i = 1:64
int1(i,1) = trapz(Y64,A);
end
int2 = trapz(X64,int1);
I thought ‘A’ is (8x8), and you want to integrate it.
The trapz function integrates a matrix by integrating the columns, creating a vector. The second trapz call integrates the vector to produce the result of the double integration.
What are your data and what do you want to do with them?
Think of trapz as a single integration, along one axis of the array. You wanted to do a double integration. The first call to trapz will turn the array into a vector of length 8, integrating down the columns of your array by default. Then the second call will integrate the vector, so doing the outer integral.
My data is 8x8 but I changed it to 64x1 to make the trapz work.
I want to double integrate my data first respect to x and then with respect to y.
The trapz function works very well with matrices. It considers each column of a matrix as individual vectors, and integrates them, creating a vector. The second trapz call integrates the vector. I do not know what ‘x’ and ‘y’ are with respect to ‘A’, but you can easily transpose ‘A’ to integrate with respect to each variable in order, if necessary.

Connectez-vous pour commenter.

Catégories

Commenté :

le 10 Août 2016

Community Treasure Hunt

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

Start Hunting!

Translated by