У меня есть вектор, скажем [1,2,710]. Когда я беру exp ([1,2,710]), я получаю ans = [2.7183,7.2891, Inf]. Поскольку окончательный ответ - очень большое число, я хочу сначала его обнаружить и сбросить его до очень большого значения, скажем, 1e + 305. Я использую isinf, чтобы помочь мне, но isinf (ans) дает все 0. Что мне делать, чтобы решить проблему? Обратите внимание, что входной вектор может измениться.Как определить некоторые элементы в векторе?
0
A
ответ
0
Попробуйте это:
maximum_num = 99999;
vec = [1,2,710];
expVec = exp(vec);
expVec(expVec > maximum_num) = maximum_num;
maximum_num
сохраняет наибольшее значение, которое позволит в вашем векторе. поэтому, если вы работаете с двойным, вы можете просто использовать maximum_num= realmax
вместо первой строки кода.
Смежные вопросы
- 1. Как обменять только некоторые элементы структуры в векторе?
- 2. Элементы удаления в векторе
- 3. Как эффективно искать элементы в большом векторе
- 4. Как получить элементы в векторе в ArrayList
- 5. Игнорировать нецифровых элементы в векторе
- 6. Не скопируемые элементы в векторе
- 7. Выбрать элементы в векторе имени
- 8. C++ удалять элементы в векторе
- 9. определить изменение значений в векторе
- 10. R: нумерационные элементы в векторе
- 11. Хранить элементы в векторе Fortran
- 12. Как определить порядок элементов в векторе?
- 13. Как определить нулевые значения в векторе
- 14. Как определить показатели серии NA в векторе
- 15. Выделить все элементы, кроме одного в векторе
- 16. C++ Умножающие элементы в векторе
- 17. условно удалить элементы в векторе
- 18. Элементы сортировки в векторе кривых
- 19. Найти повторяющиеся элементы в векторе
- 20. Как считать равные, смежные элементы в векторе?
- 21. R - Некоторые значения не добавлены в векторе?
- 22. Распределитель карт C++ хранит элементы в векторе?
- 23. Как определить некоторые QGraphicItems в QGraphicsScene
- 24. using find(), чтобы найти элементы в векторе
- 25. Определить индексы максимальных значений кластеров в векторе
- 26. Проверить общие элементы в векторе C++
- 27. Обрезающие элементы в длинном векторе до +/- порога
- 28. Как определить некоторые переменные конфигурации
- 29. R: Средние близлежащие элементы в векторе
- 30. Указатели на элементы в векторе нестабильны.
Какая версия вы используете? Для меня на R2015a, R2013a и R2009, 'isinf (exp ([1,2,710]))' возвращает '[0 0 1]'. И функция ['isfinite'] (https://mathworks.com/help/matlab/ref/isfinite.html) работает одинаково в обратном порядке:' isfinite (exp ([1,2,710])) '=>' [ 1 1 0] '. Я предполагаю, что 'ans' не держит то, что вы думаете (вы, вероятно, уже перезаписали его). Не используйте 'ans'. Назовите свои переменные адекватно и выполните свои операции над ними. – Hoki
Я использую версию R2014a. Позвольте мне снова проверить. Спасибо за вашу помощь! –
Btw, какое наибольшее число может отображаться в Matlab, который не дает Inf? Как получить такой номер в Matlab? –