-5
A
回答
1
NumPy的没有拿到第一个匹配,not yet anyway
的能力。
所以,我们需要用np.where
取代所有匹配的取代find
和numpy.abs
将替代abs
。因此,这将是 -
import numpy as np
lam = np.where(np.abs(a)>tol)[0][0]-1
因此,我们得到的所有匹配指数与np.where(np.abs(a)>tol)[0]
,然后通过索引到其与np.where(np.abs(a)>tol)[0][0]
第一个元素,最后减去它1
获得的第一个索引,就像我们在MATLAB 。
采样运行 -
在MATLAB:
>> b = [-4,6,-7,-2,8];
>> tol = 6;
>> find(abs(b)>tol,1,'first')-1
ans =
2
在NumPy的:
In [23]: a = np.array([-4,6,-7,-2,8])
In [24]: tol = 6
In [25]: np.where(np.abs(a)>tol)[0][0]-1
Out[25]: 1 # 1 lesser than MATLAB vesion because of 0-based indexing
出于性能考虑,我建议使用np.argmax
给我们的第一个匹配的一个指数,而不是使用np.where(np.abs(a)>tol)[0]
来计算所有匹配的索引,像这样 -
In [40]: np.argmax(np.abs(a)>tol)-1
Out[40]: 1
相关问题
- 1. 从f90到where语句的转换到matlab转换
- 2. 转换MATLAB代码到Python
- 3. matlab到python代码转换
- 4. Python到Matlab的转换?
- 5. 转换SQL语句到LINQ
- 6. 转换语句
- 7. Python替换语句
- 8. 转换select语句
- 9. SQL转换语句
- 10. SQL语句转换
- 11. IF语句转换成SWITCH语句
- 12. 转换SQL语句JPQL语句
- 13. 转换UPDATE语句的SELECT语句
- 14. 将UPDATE语句转换为SELECT语句
- 15. 困难MATLAB到Python代码转换
- 16. 哈尔从Matlab转换矩阵到Python
- 17. 从matlab到python的代码转换
- 18. 将matlab转换为python/numpy
- 19. Matlab/Python的数据转换
- 20. 将matlab转换为python
- 21. MATLAB IF语句
- 22. matlab到c + +转换
- 23. 转换SQL语句到Rails的ActiveRecord
- 24. 转换左外连接到WHERE语句
- 25. 将HTML转换到PHP条件语句
- 26. 转换CSV文件到MySQL INSERT语句
- 27. 转换SQL ALTER语句到MySql
- 28. 从if转换到switch语句
- 29. 转换PHP条件语句到MySQL的if-then条件语句
- 30. Python语句反转器
这将是有用的,如果你提供一些'实际'b,tol,并显示什么Matlab –