Python "Невозможно вызвать 'anonym_function_2" - PullRequest
0 голосов
/ 11 февраля 2020

Я не разработчик, поэтому мой вопрос, вероятно, смешной. У меня есть ошибка (см. Сообщение ниже) для двух строк, начинающихся с sum1 sum2.

Код:

#Get single constituent sinusoid on z
sx(i, k, N) =>
    sum1 = ReX_(k)*cos(2*pi*k*i/N)
    sum2 = ImX_(k)*sin(2*pi*k*i/N)
    return = sum1+sum2

Ошибка:

Невозможно вызвать 'anonym_function_2' с аргументами (fun_arg__, fun_arg__, fun_arg__, series [float]);

Можете ли вы сказать мне, если есть синтаксическая ошибка?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

Не работает с возвращением sum1 + sum2: s => 'return' не является допустимым ключевым словом типа в объявлении переменной

//Real part of the Frequency Domain Representation
ReX(k) =>
    sum = 0.0
    for i=0 to N-1
        sum := sum + z[i]*cos(2*pi*k*i/N)
    return = sum

//Imaginary part of the Frequency Domain Representation
ImX(k) =>
    sum = 0.0
    for i=0 to N-1
        sum := sum + z[i]*sin(2*pi*k*i/N)
    return = -sum

//Get sinusoidal amplitude from frequency domain  
ReX_(k) =>
    case = 0.0
    if(k!=0 and k!=N/2)
        case := 2*ReX(k)/N
    if(k==0)
        case := ReX(k)/N
    if(k==N/2)
        case := ReX(k)/N
    return = case

 //Get sinusoidal amplitude from frequency domain  
ImX_(k) =>
    return = -2*ImX(k)/N

//Get full Fourier Transform
x(i, N) =>
    sum1 = 0.0
    sum2 = 0.0
    for k=0 to N/2
        sum1 := sum1 + ReX_(k)*cos(2*pi*k*i/N) 
    for k=0 to N/2
        sum2 := sum2 + ImX_(k)*sin(2*pi*k*i/N)
    return = sum1+sum2
0 голосов
/ 11 февраля 2020

Функция, которую вы пытаетесь написать, должна иметь правильный отступ для интерпретатора python. Второе - иметь правильные ключевые слова, такие как def для объявления функции и return sum1+sum2, а не return =sum1+sum2 для возврата из функции.

Вот правильный псевдокод, который поможет вам понять синтаксис кода .

def sx(i, k, N): 
  sum1 = ReX_(k)*cos(2*pi*k*i/N)
  sum2 = ImX_(k)*sin(2*pi*k*i/N)
  return sum1+sum2

Можете ли вы определить ReX_ и ImX_?

...