2015-01-16 6 views
0

У меня есть матрица точек F (x, y) = z, но у меня нет выражения для F (x, y). x от [0-2pi] и y от [0-pi]. Для каждой пары «координат» у меня есть значение z.Интегрируя по матрице точек

Я хотел бы выполнить двойное интегрирование из 0-2pi и 0-pi F. Могу ли я сделать это вычислительно (MatLab) без аналитического выражения?

Спасибо!

+1

Я не думаю, что это дубликат, потому что сетка (_x _, _ y_) не является однородной в связанном вопросе –

ответ

2

Предполагая, что (х, у) сетки равномерно, можно аппроксимировать интеграл по 2D- Riemman sum следующим образом:

result = sum(z(:))*delta_x*delta_y; 

где delta_x, delta_y являются сетевыми расстояниями в x и y направления. В вашем случае это может быть вычислено как

delta_x = 2*pi/numel(x); %// or 2*pi/(numel(x)-1) 
delta_y = pi/numel(x); %// or pi/(numel(x)-1) 

А, возможно, более интуитивной интерпретации: вычислить среднее значение функции и умножить на площади (х, у) домена:

result = sum(z(:))/(numel(x)*numel(y)) * 2*pi^2; %// or replace numel(x)*numel(y) 
               %// by numel(z) 

 Смежные вопросы

  • Нет связанных вопросов^_^