IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

[Portée de numpy]


Sujet :

Calcul scientifique Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 27
    Points : 46
    Points
    46
    Par défaut [Portée de numpy]
    Bonjour ,

    Je joins le code me donnant l'erreur suivante
    AttributeError: 'float' object has no attribute 'np

    S'il y a des avis , je suis preneur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    #!/usr/bin/env python
    #
    # This example display wave.
    #
    # import
    import matplotlib.pyplot as plot
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
    import pylab
    import time
     
    class Wave:
        """
        wave class
        A maximum amplitude (m)
        nu frequency in (Hz)
        wavelength in (m)
        phi0 initial phase (rad) 
        
        Amplitude harmonic plane wave
        u(r,t)=Acos(k.r-wt + phi0) 
        """
     
        def __init__ (self):
            print "Wave Instance"
            self.A = 1.0
            self.nu = 1.0
            self.lambdaWave = 1.0
            self.phi0 = 0.0
            # angular frequency rad.s-1
            self.w = 2*np.pi*self.nu
            # magnitude of wave vector m-1
            self.k = 2*np.pi/self.lambdaWave 
     
        def setWaveParameters(self,A,nu,lambdaWave,phi0):
            self.A = A
            self.nu = nu
            self.lambdaWave = lambdaWave
            self.phi0 = phi0
            # angular frequency rad.s-1
            self.w = 2*np.pi*self.nu
            # magnitude of wave vector m-1
            self.k = 2*np.pi/self.lambdaWave
     
        def printWave(self):
            # Display wave information
            print "Wave information"
            print "amplitude %s m" % self.A
            print "frequency %s Hz" % self.nu
            print "wavelength %s m" % self.lambdaWave
            print "initial phase %s rad" % self.phi0
            print "Dependent proprieties"
            print "angular frequency %s rad.s-1" % self.w
            print "magnitude of wave number %s m-1" % self.k
     
        def getAmplitudeHarmonicPlaneWave(self,x,t):
            r = x
            return np.float(self.A.np.cos(self.k*self.r-self.w*t+self.phi0))
     
        def getAmplitudeHarmonicCentralWave(self,x,y,t):
            r = x*x+y*y
            return np.float(self.A.np.cos(self.k*self.r-self.w*t+self.phi0))
     
    wave1 = Wave()
    wave1.printWave()
     
    wave1.setWaveParameters(4.0, 3.0, 2.0, 0.0)
     
    wave1.printWave()
     
    plot.ion()
    fig = plot.figure()
    ax = Axes3D(fig)
     
    xs = np.linspace(0,10,100)
    ys = np.linspace(0,10,100)
    X,Y = np.meshgrid(xs,ys)
     
    Z = wave1.getAmplitudeHarmonicPlaneWave(X,0)
     
    wframe = None
    tstart =time.time()
    for t in np.linspace(0,2*np.pi,100):
        oldcol=wframe
        Z = wave1.getAmplitudeHarmonicPlaneWave(X,t)
        wframe = ax.plot_surface(X, Y, Z, rstride=5, cstride=5, color='r')
     
        # Remove old line collection before drawing
        if oldcol is not None:
            ax.collections.remove(oldcol)
     
        plot.draw()
     
        print 'FPS: %f' % (100 / (time.time() - tstart))

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 049
    Points : 1 380
    Points
    1 380
    Par défaut
    je suppose que l'erreure est là ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return np.float(self.A.np.cos(self.k*self.r-self.w*t+self.phi0))
    si 'self.A' est un 'float', 'self.A.np' marche pas.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 27
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par josmiley Voir le message
    je suppose que l'erreure est là ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return np.float(self.A.np.cos(self.k*self.r-self.w*t+self.phi0))
    si 'self.A' est un 'float', 'self.A.np' marche pas.
    Oui c'est exact . . Mais pour la solutionner , je ne vois pas quelle direction prendre.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 27
    Points : 46
    Points
    46
    Par défaut
    Parfois , il y a de la brume devant l'écran.

    return np.float(self.A*np.cos(self.k*r-self.w*t+self.phi0))

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ports USB
    Par MAIROT dans le forum Composants VCL
    Réponses: 8
    Dernier message: 23/09/2002, 20h07
  2. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  3. Port parallele
    Par Phoneus dans le forum C
    Réponses: 2
    Dernier message: 05/05/2002, 23h19
  4. [Kylix] Kylix port //
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 01/04/2002, 12h30
  5. [Kylix] Kylix / port serie
    Par Anonymous dans le forum EDI
    Réponses: 3
    Dernier message: 01/04/2002, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo