Calculate mean of matrix for specific interval

9 ビュー (過去 30 日間)
Pelle Adema
Pelle Adema 2021 年 9 月 2 日
コメント済み: Pelle Adema 2021 年 9 月 2 日
Hi all,
I have elevation data stored in a 121x721 matrix called DEM.
I want to calculate 2 things:
1) the cross-sectionally averaged mean elevation along the flume. i.e. the mean elevation per column of matrix DEM. (This works OK)
2) The cross-sectionally averaged mean elevation along the flume for DEM(11:110). So without the edges. (Does not work yet)
My code works for the first but not for the second thing I try to calculate.
See the minimal working example below to see the code I used.
What I need is a 1x721 array of the mean value of columns in DEM between 11 and 110.
Hope this makes sense and someone can point me in the right direction.
Thanks
%% MWE
% DEM contains a digital elevation model (elevation data).
DEM = rand(121,721);
% calcultate DEM means for full DEM
DEM_mean = mean(DEM); % this returns a 1x721 array which is what I need
% calculate DEM means for specific interval of DEM
DEM_mean2 = mean(DEM,11:110); % this returns a 121x721 matrix, but I need a 1x721 array like above.

採用された回答

Konrad
Konrad 2021 年 9 月 2 日
Hi Pelle,
you need to index your variable DEM correctly:
DEM_mean2 = mean(DEM(11:110,:));
Best, Konrad
  1 件のコメント
Pelle Adema
Pelle Adema 2021 年 9 月 2 日
Hi Konrad,
Thanks for your answer. This was indeed the problem and your solution gives me what I need.
Best,
Pelle

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by