indice 4 est en dehors des limites de l'axe 1 à la taille 4, du Code, avec le Double de la Somme

Salut j'ai la fonction suivante, qui produit une erreur de limites:

import numpy as np
import pylab as plt
import scipy
import math
import sympy as sy


T = sy.Symbol('T')
rho = sy.Symbol('rho')


g_T   = [1,T,T**2,T*sy.log(T),T**2*sy.log(T)]
g_rho  = [1,rho,rho**2,rho*sy.log(rho),rho**2*sy.log(rho)]

g_T_np = np.asarray(g_T)
g_rho_np = np.asarray(g_rho)


c = np.loadtxt("c_test.txt")


def F(T,rho):
    ret = 0
    for n in xrange(1,5):
        for m in xrange(1,6):
            inner= c[n,m]*g_T_np*g_rho_np
        ret += inner
    return ret

print F(T,rho)

où la .fichier txt comme ceci:

-0.529586   -0.000208559    -3.36563E-09    2.29441E-05 
2.22722E-06 -0.00014526 -2.48888E-09    1.89488E-05 
-6.26662E-05    0.000421028 6.17407E-09 -5.14488E-05    
0.09977346  -0.000622051    -8.56485E-09    7.49956E-05 
-0.01437627 -9.86754E-05    -1.59808E-09    1.22574E-05

Le message d'erreur est affiché:

Traceback (most recent call last):File "EOS_test.py", line 38, in <module> print F(T,rho) File "EOS_test.py", line 31, in F inner=c[n,m]*g_T_np*g_rho_np IndexError: index 4 is out of bounds for axis 1 with size 4

Comment puis-je résoudre cette erreur?

  • Salut Shaun, bienvenue à Débordement de Pile. J'ai corrigé votre mise en forme. Pour référence future, le code (et les choses que vous voulez ressembler à code) est mis en forme simplement par l'indentation (au moins) 4 espaces. Vous pouvez également sélectionner le code et cliquez sur le bouton dans l'éditeur qui ressemble à {}.
  • Vous pouvez poster l'erreur exacte, et indiquer la ligne à laquelle il se produit dans?
  • merci beaucoup pour la mise en forme semble beaucoup mieux! Et merci pour l'info, comment le faire à l'avenir. L'erreur ressemble à ceci \ Traceback (most recent call last):File "EOS_test.py", à la ligne 38, in <module> print F(T,rho) Fichier "EOS_test.py", à la ligne 31, dans F intérieure= c[n,m]*g_T_np*g_rho_np IndexError: indice 4 est en dehors des limites de l'axe 1 à la taille 4
  • a toujours l'air terrible ... est-ce de travailler dans les commentaires ainsi? 🙂 sry
  • Les commentaires ont limité les capacités de mise en forme. (Cliquez sur l'aide de la boîte de commentaires pour voir ce que.) Votre meilleur pari, surtout pour de l'information pertinente à la question, est de modifier la question avec l'information supplémentaire. Veuillez le faire, même si j'ai déjà répondu. 🙂
InformationsquelleAutor Shaun | 2016-11-14