Ошибка типа: индексы списка должны быть целыми числами или частями, а не кортежем? - PullRequest
0 голосов
/ 25 апреля 2019

Я хочу разделить каждый элемент матрицы на элементы вектора. Это выглядит очень просто, но я получаю следующую ошибку:

TypeError: списочные индексы должны быть целыми или кусочками, а не кортежем

Как решить эту проблему? Здесь ниже вы можете найти скрипт с другой информацией. Еще раз спасибо за помощь.

Я пытался построить переменные с чьим. Видимо, у меня есть список. Я не знаю, в чем разница между списком и векторами.

enter code here
##-- DATA
Addm_strength=[7, 8 ,9 ,10]
stress= [[1, 4], 
   [-5, -8],
   [ 4, 8 ] ,
   [ 4, 8 ] ]
hef_sigma=[0.005, 0.006]

ratio_lam = np.zeros( (len(Addm_strength), len(hef_sigma)) ) 
print('ratio_lam',ratio_lam)

#-- CODE
for i in range(0, len(Addm_strength)):
    for j in range(0, len(hef_sigma)):
        ratio_lam[i,j]=stress[i,j]h/Addm_strengt[i]

print('ratio_lam',ratio_lam)

Ожидаемый результат - матрица под названием ratio_lam.

1 Ответ

1 голос
/ 25 апреля 2019

Вам нужно изменить:

stress= [[1, 4], 
   [-5, -8],
   [ 4, 8 ] ,
   [ 4, 8 ] ]

Кому:

stress= np.array([[1, 4], 
   [-5, -8],
   [ 4, 8 ] ,
   [ 4, 8 ] ])

Это вывод:

ratio_lam [[ 0.14285714  0.57142857]
 [-0.625      -1.        ]
 [ 0.44444444  0.88888889]
 [ 0.4         0.8       ]]

В строке ratio_lam[i,j]=stress[i,j]/Addm_strength[i], стресс доступен как элемент в массиве. Стресс должен быть массивом, а не списком.

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