Matlab中的空间平均

时间:2015-01-21 16:23:21

标签: matlab average spatial

我想对离散速度数据U The averaging formula along one dimension

进行积分平均

U是一维数组,每个值对应于phi的空间值。

   U(phi) =[15 20 30 74 89 25 78 75 72 56 15]  
            0              pi             2pi     

U(theta + phi)只是将数组U(phi)旋转一个θ值,该值也从(0到2pi)变化

 if (theta = pi)  % example % 
 U(theta+phi) = [25 78 75 56 15 15 20 30 74 89]  % Matrix is shifted by pi

我的问题是如何整合这两个矩阵,截至目前我已应用此方法(如下),但我不确定它是否正确:

U = [15 20 30 74 89 25 78 75 72 56 15];
L = 0:(2*pi)/10:2*pi;
C1 = U;

for lt = 1:1:length(L)

                    if (lt > 1)

                           rt = lt -1;
                           C1 = circshift(U , [1 -rt]);

                    end

             Cm(lt) = 1/(2*pi) * trapz(C1.*U,L);


end

任何人都可以为我验证这一点,或者在可能的情况下给我一些其他建议。

谢谢

2 个答案:

答案 0 :(得分:1)

根据我对你要整合的内容的理解,你应该做什么

Cm(lt) = 1/(2*pi) * trapz(L,C1.*U);

因为如果你看一下帮助trapz

Q = trapz(X,Y)Y与间距增量X进行整合。 [..] length(X)必须等于此维度的大小

答案 1 :(得分:0)

(1维)空间平均的这种方法非常有效

  U = [15 20 30 74 89 25 78 75 72 56 15];
  L = 0:(2*pi)/10:2*pi;
  C1 = U;

      for lt = 1:1:length(L)

                  if (lt > 1)
                       rt = lt -1;
                       C1 = circshift(U , [1 -rt]); % Shifts the matrix 
                end

         Cm(lt) = 1/(2*pi) * trapz(L,C1.*U);   % Integration over the data