У меня есть 2D матрица Z (x, y), из которой мне нужно вычислить уравнение:
![enter image description here](https://i.stack.imgur.com/K14jT.png)
Я делаю это, используя код:
Sa = nansum(nansum(abs(Z - Zbar))) / (nX*nY);
N / B: я использую nansum
, потому что Z(x,y)
содержит некоторые NaN
значения.
Теперь мне сложно вычислить уравнение:
![enter image description here](https://i.stack.imgur.com/IuoaG.png)
Я попытался сломать уравнение с помощью следующего кода:
% 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
значения всегда должны быть дробными, но вместо этого я получаю смехотворно большие значения.
Мне просто интересно, действительно ли мне нужен цикл для этого и как я могу это сделать?