【发布时间】:2015-02-25 08:19:39
【问题描述】:
我正在尝试将 MATLAB 代码转换为 Python。
我的 MATLAB 代码:
ASE_lamda1=1000e-9;
ASE_lamda2=1100e-9;
del_lamda= 2e-9;
ASE_lamda = (ASE_lamda1:del_lamda: ASE_lamda2)';
以下是我正在尝试的 eqv。 Python代码:
#!/usr/bin/python
import numpy as np
ASE_lamda1 = 9.9999999999999995e-07
ASE_lamda2 = 1100e-9
del_lamda = 2e-9
ASE_lamda = np.transpose(np.arange[ASE_lamda1:del_lamda:ASE_lamda2])
但我收到以下错误:
Traceback (most recent call last):
File "tasks.py", line 22, in <module>
ASE_lamda = np.transpose(np.arange[ASE_lamda1:del_lamda:ASE_lamda2])
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
我不确定这个错误是什么意思,因为我对 Python / Numpy / Scipy 没有太多专业知识。
【问题讨论】:
-
Python 仅在用于索引时识别
a:b:c语法(在[]内)。在那里它将它转换为slice对象(slice(a,b,c))。np.arange(a,b,c)更接近 MATLAB 的用法。
标签: python matlab numpy range multidimensional-array