Я пытаюсь создать функцию в python, которая добавит кучу математических терминов вместе, которые включают некоторое произвольное имя переменной, которое будет оцениваться после того, как вся вещь была построена , Так, например,Создайте математическую функцию с переменной «dummy», которая будет оценена позже
def transform(terms, xterm):
function=.5
step=terms
odd=1
while step>0:
function+=(2/odd*np.pi)*np.sin(odd*np.pi*xterm)
odd+=2
step-=1
return function
test=transform(10,somexvariable)
print test
Это серия Фурье для определенной функции, которую я должен был выполнять в своем классе механики.
В основном я хочу, на сумму условий (скажем 5), создать переменную, которая выглядит следующим образом:
function = .5 + (2/odd*np.pi)*np.sin(odd*np.pi*xvariable) +.......
к однако многие термины, которые я хочу, где переменная «нечетным» является единственным числом это меняется.
Ключа и сложность этой проблемы вставив некоторые фиктивные переменную I под названием «xvariable» так, что позже я могу создать массив как это:
x2 = np.arange(0,10,.05)
y = transform(2,x2)
Результат будет массивом этих значений х оценивается в функции, которую я создал с помощью «transform».
Уверен, что я об этом поступил неправильно, но я не могу понять, какой порядок действий вы выполняете.
Помогите пожалуйста. Благодаря!
Возможно, [ 'numpy.vectorize()'] (http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.vectorize.html) является то, что вы ищете для? – fjarri
'. .5'' - это строка. '0.5' - это плавающий литерал. –
Вы правы ... '.5' - это артефакт моей попытки другого метода ... просто забыл снять цитаты. –