def _closest_to(self, vals, x):
''' returns the value in vals closest to x '''
closest = vals[0]
closest_dist = abs(x-closest)
for val in vals[1:]:
cur_dist = abs(x-closest)
if cur_dist < closest_dist:
closest = x
closest_dist = cur_dist
return closest
ответ
Используя min
с абсолютной разницей, вы получите индекс наименьшей разницы в качестве второго выходного аргумента. Затем вы можете использовать этот индекс для поиска ближайшего значения.
Вы вызываете функцию как closestValue = closest_to(values,target)
function closest = closest_to(vals,x)
%#CLOSEST_TO returns the value in vals closest to X
delta = abs(vals-x);
[~,minIdx] = min(delta);
closest = vals(minIdx);
Если вы хотите сохранить строку, кода, можно заменить две последние строки с
closest = vals(delta == min(delta));
, где логическое сравнение создает логический вектор с 1, где дельта принимает наименьшее значение. Обратите внимание, что обе версии кода возвращают массив значений для closest
, если есть связь для ближайшего значения в vals
.
Один случай, когда функциональный код matlab гораздо читабельнее, чем императивный питон для цикла. – nimrodm
@nimrodm - для чего это стоит, сопоставимый код в python (используя numpy) по существу идентичен приведенному выше примеру Matlab. –
- 1. преобразование кода matlab в код python
- 2. преобразование matlab в код python
- 3. Преобразование кода Matlab в Python
- 4. Преобразование matlab в python
- 5. Преобразование кода arduino в код matlab
- 6. Преобразование кода MATLAB в библиотеку
- 7. Преобразование Python в Matlab?
- 8. Преобразование кода Matlab в FreeMat
- 9. Преобразование кода MATLAB в Fortran
- 10. Преобразование Matlab в Python
- 11. Преобразование функции MATLAB в python
- 12. Преобразование кода из matlab в python
- 13. преобразование кода Matlab в python 3.5+
- 14. Преобразование кода питона в MATLAB
- 15. Matlab 2 Преобразование кода на Python
- 16. Преобразовать код Matlab в Simulink
- 17. Преобразование кода matlab в c
- 18. Преобразование кода: Matlab в C++
- 19. Преобразование Matlab кода в статической библиотеки C++
- 20. Преобразование кода MATLAB в профессиональное программное обеспечение
- 21. matlab поможет найти размеры
- 22. Преобразование метода matlab в python
- 23. Любой пример кода LDA в MatLab?
- 24. Инструмент для преобразования кода MATLAB в Python
- 25. Преобразование Matlab в OpenCV в python
- 26. Преобразование скрипта matlab в python
- 27. Еореп код MATLAB в Python
- 28. преобразовать код Matlab в код C
- 29. Преобразование кода из Matlab в R
- 30. Matlab в Python преобразование RAND()
Сообщение с отступом и форматированием кода? – payne
Так как в python вдавливание имеет значение, доброжелательно отступывайте свой код и используйте «Code Sample» {}. – log0
Связанный: http://stackoverflow.com/questions/9845292/converting-matlab-to-python?rq=1 –