Похоже, вам нужно перебрать элементы вектора Температуры и найти, какие из них ниже 10 градусов или выше 80 градусов.В традиционном языке программирования вы бы использовали цикл FOR для прохождения элементов массива или вектора, но обычно в MATLAB вы хотите избегать циклов FOR, если вы можете и вместо этого использовать векторизацию MATLAB, потому что она намного быстрее.
Возможно, вы захотите взглянуть на функцию НАЙТИ (для получения дополнительной информации введите «help find» в консоли).Но, например, если бы у меня был вектор:
A = [0 1 2 1 2 1 1 0];
И использовал
find(A==0)
На выходе был бы вектор индексов A, где элемент равен 0:
[1 8]
Я мог бы так же сделать:
find(A==1 & A==0)
И я бы получил
[1 2 4 6 7 8]
Это полезно, потому что, хотя традиционно вы получаете доступ к элементам вектора синдекс, вы можете получить доступ к элементам вектора в MATLAB с другим вектором.Например:
>> A = [-10 4 -2 3];
>> ind = [2 3];
>> A(ind)
ans =
4 -2
MATLAB также немного упрощает синтаксис, потому что вы можете использовать следующий ярлык вместо явного использования функции FIND:
>> A = [-10 4 -2 3];
>> A( A<-5 | A>3)
ans =
-10 4
Что будет таким жекак при использовании функции НАЙТИ:
>> A(find(A<-5 | A>3))
ans =
-10 4
Надеюсь, это поможет.Простите за длинный пост.Требуется некоторое время, чтобы привыкнуть к векторизованному способу написания кода MATLAB, но как только вы к нему привыкнете, вы обнаружите, что он очень полезен для вычислений.