Specifying a range in a double

11 Ansichten (letzte 30 Tage)
Keith Grey
Keith Grey am 15 Mai 2020
Kommentiert: Keith Grey am 15 Mai 2020
% 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 Kommentar
Fangjun Jiang
Fangjun Jiang am 15 Mai 2020
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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

William Alberg
William Alberg am 15 Mai 2020
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 Kommentar
Keith Grey
Keith Grey am 15 Mai 2020
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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by