Форум сайта python.su
0
ПРИВЕТ!!!!!!!
Помогите пожалуйста разобраться. Я не могу понять почему у меня выдается ошибка. Я создаю следующию функцию:
import numpy as np def mother_wavelet(t): for i in range(np.size(t)): if t[i] >= 0 or t[i] < 0.5: mat_psi = 1 elif t[i] >= 0.5 or t[i] <= 1: mat_psi = -1 else: mat_psi = 0 return mat_psi
t = [0 0.066 0.133 0.2 0.266 0.333 0.4 0.466 0.533 0.6 0.666 0.733 0.8 0.866 0.933 1]
File "D:\......\mother_wavelet.py", line 15, in mother_wavelet if t[i] >= 0 or t[i] < 0.5: IndexError: invalid index to scalar variable.
Офлайн
568
import numpy as np def mother_wavelet(t): for i in range(np.size(t)): if t[i] >= 0 or t[i] < 0.5: mat_psi = 1 elif t[i] >= 0.5 or t[i] <= 1: mat_psi = -1 else: mat_psi = 0 return mat_psi t = [0, 0.066, 0.133, 0.2, 0.266, 0.333, 0.4, 0.466, 0.533, 0.6, 0.666, 0.733, 0.8, 0.866, 0.933, 1] print mother_wavelet(t) >>> 1
Офлайн
0
Эту функцию я использую в другом модуле. Поэтому выдается ошибка.
мне нужно чтобы выдавался не весь отрезок, а числа либо 1, либо -1, либо 0. Если t = 0.333, то mat_psi = 1, если t = 0.933, то mat_psi = -1 и т.д.
Офлайн
568
Elena, я не улавливаю смысла в Вашем коде, т.к Вы передаете в функцию список, а возвращаете результат последнего вычисления, т.е. проверку по последнему элементу списка.
Скажите, что конкретно надо возвращать то.
Отредактировано FishHook (Авг. 22, 2012 09:19:19)
Офлайн
0
спасибо что уделили внимание к моей проблеме, но я уже нашла решения. еще раз СПАСИБО!!!!
Офлайн