Mean of parts of an array

28 次查看(过去 30 天)
Andrew
Andrew 2014-8-19
编辑: Adam 2014-8-20
Good day to all,
I have searched for an answer can't seem to find it so here goes my description.
I have an array called MeanOfSegments which is 152x1 double (see figure)
I wish to take the mean of parts of this array. This worked great for my first few variables which were consecutive. Here is the successful code I used
if true
% code
MeanVariable1 = mean(MeanOfSegments(1:7));
end
Now I wish to create a variable called MeanVariable2 which is the mean of cell 8,12,13,17. I have tried the following code with no success.
if true
% code
MeanVariable2 = mean(MeanOfSegments(8,12,13,17));
end
Does anyone know how this can be obtained? I am using R2014a
Thanks for any and all help. Andrew

采纳的回答

Adam
Adam 2014-8-19
Try putting your 8, 12, 13, 17 in square brackets as
MeanVariable2 = mean(MeanOfSegments( [8,12,13,17] ));

更多回答(1 个)

Andrew
Andrew 2014-8-19
Well that was ridiculously easy. Thank you very much for your answer. I'm new to MatLab syntax. Thank you very very much.
  1 个评论
Adam
Adam 2014-8-20
编辑:Adam 2014-8-20
That syntax just means that all your indices are in an array so they can then be used for non-contiguous indexing.
Passing 4 comma delimited numbers in as they are would be interpreted by Matlab as though you are trying to index into a 4-dimensional matrix.
I get used to many of these things just by trying out syntaxes on the command line so you can pick things up quite quickly like that!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by