Объект 'int' не вызывается при вызове функции - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь написать функцию для вывода некоторых данных, которые у меня есть, но при запуске кода ниже с Fpi(mud) я получаю TypeError: 'int' object is not callable.

Я уже убедился, что имяFpi нигде не определяется как целое число, поэтому я не понимаю проблемы.

mud=np.array([0.0014700734999999996,
 0.0011840320799999997,
 0.0014232304799999995,
 0.0008501509799999997,
 0.0007235751599999999,
 0.0005770661399999999,
 0.0005581295999999999,
 0.00028703807999999994,
 0.00014850233999999998])

afij=np.array([1.0944,-1.0])

def Fpi(x,B=2.58,Fc=88,mu=0.77):
    return Fc*(1+ ((2*B*x)/(4*pi*Fc))**2(afij[0]+afij[1]*np.log((2*B*x)**2/mu2)))

Если кто-нибудь может помочь, я буду благодарен!

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Рассмотрите возможность разделения операций:

mud=np.array([0.0014700734999999996,
 0.0011840320799999997,
 0.0014232304799999995,
 0.0008501509799999997,
 0.0007235751599999999,
 0.0005770661399999999,
 0.0005581295999999999,
 0.00028703807999999994,
 0.00014850233999999998])

afij=np.array([1.0944,-1.0])

def Fpi(x,B=2.58,Fc=88,mu=0.77):
    temp2 = ((2*B*x)/(4*pi*Fc))**2
    temp1 = temp2 (afij[0]+afij[1]*np.log((2*B*x)**2/mu2))
    return Fc*(1+ temp1)

Проблема в том, что после temp2 вам не нужно выполнять никаких операций (в исходном коде это было сразу после **2).

0 голосов
/ 16 февраля 2019

return Fc*(1+ ((2*B*x)/(4*pi*Fc))**2(afij[0]+afij[1]*np.log((2*B*x)**2/mu**2)))

Ошибка заключается в приведенном выше утверждении.Если вы не можете его обнаружить, посмотрите еще раз.

((2*B*x)/(4*pi*Fc))**2(afij[0] ...)

Вы видите это сейчас?

(...)**2(afij[0] ...)

Как насчет сейчас?

Если нет, то вот идет спойлер.

РЕДАКТИРОВАТЬ: избавился от обратной косой черты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...