26. Как мне вычислить частный интеграл по двумерной матрице в Matlab? - PullRequest
0 голосов
/ 27 июня 2018

У меня есть 2D матрица Z (x, y), из которой мне нужно вычислить уравнение:

enter image description here

Я делаю это, используя код:

Sa        = nansum(nansum(abs(Z - Zbar))) / (nX*nY);

N / B: я использую nansum, потому что Z(x,y) содержит некоторые NaN значения.

Теперь мне сложно вычислить уравнение:

enter image description here

Я попытался сломать уравнение с помощью следующего кода:

% compute the partial sums in the equation
for jj = 1: nY-1
    for ii = 1: nX-1
        Z_abt(jj,ii) = ( Z(jj,ii)- Z(jj,ii+1) )^2 + ( Z(jj,ii)- Z(jj+1,ii) )^2;       
    end
end

% compute Sdr
Sdr = nansum( nansum( sqrt(1+Z_abt) - 1) );

Sdr значения всегда должны быть дробными, но вместо этого я получаю смехотворно большие значения.

Мне просто интересно, действительно ли мне нужен цикл для этого и как я могу это сделать?

...