#matlab
#matlab
Вопрос:
У меня есть график (y = t ^ 2), и мне нужно найти первое значение t, где y> 20
t = 0:.01:10;
y = t.^2;
plot(t,y)
Ответ №1:
Второй аргумент find
позволит вам указать количество возвращаемых индексов.
find(y>20, 1)
Если вам нужно фактическое значение, а не индекс, просто индексируйте массив своим результатом.
y(find(y>20, 1)) % first value in y where y>20
t(find(y>20, 1)) % first value in t where y>20
Комментарии:
1. Вопрос был странно сформулирован в моем домашнем задании, и на самом деле он запрашивает первый раз (значение t), где y> 20.
2. Я соответствующим образом обновил свой ответ. Вы можете произвести индексацию в y или t с результатом
find
.3. Если вы вызываете
find
без определения количества индексов, которые вы хотите вернуть, он вернет все индексы, которые соответствуют вашему условию. Длина этого массива равна количеству раз, когда выполняется условие. В качестве альтернативы вы можете использовать что-то вродеsum(y>20)
.