Specifying a range in a double

7 次查看(过去 30 天)
% Values is a 401x1 double: 1 - 401
% In this example, I want to take the mean from Values(90) to Values(110).
% Specify Bounds
MAX = 90; %
MIN = 110;
idy = find(Values == MIN);
idz = find(Values == MAX);
Values = mean(Values(idy:idz));
This is simple & should be returning 1 number from Values after taking the mean, but it's resulting in a 1x7^6 double.
Is there a syntax error that I'm overlooking here?
  1 个评论
Fangjun Jiang
Fangjun Jiang 2020-5-15
code is simple enough. run the code line by line and see where is wrong.
The numerical value for MAX and MIN seems to be reversed. Is that correct?

请先登录,再进行评论。

采纳的回答

William Alberg
William Alberg 2020-5-15
I think, that you want to do this:
MAX = 110;
MIN = 90;
id = find( (MIN <= Values) & (Values <= MAX) )
Values = mean(Values(id))
I switched the MIN/MAX values
  1 个评论
Keith Grey
Keith Grey 2020-5-15
Ah, I see what I did now! The MAX value was lower than the MIN, so of course the computer's going to hate that. Thank you very much!

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by