Найти - Пользователи
Полная версия: ошибка: invalid index to scalar variable.
Начало » Python для новичков » ошибка: invalid index to scalar variable.
1
Elena
ПРИВЕТ!!!!!!!
Помогите пожалуйста разобраться. Я не могу понять почему у меня выдается ошибка. Я создаю следующию функцию:
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:
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.

FishHook
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
Никаких ошибок
Elena
Эту функцию я использую в другом модуле. Поэтому выдается ошибка.
мне нужно чтобы выдавался не весь отрезок, а числа либо 1, либо -1, либо 0. Если t = 0.333, то mat_psi = 1, если t = 0.933, то mat_psi = -1 и т.д.
FishHook
Elena, я не улавливаю смысла в Вашем коде, т.к Вы передаете в функцию список, а возвращаете результат последнего вычисления, т.е. проверку по последнему элементу списка.
Скажите, что конкретно надо возвращать то.
Elena
спасибо что уделили внимание к моей проблеме, но я уже нашла решения. еще раз СПАСИБО!!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB