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

Python Discussion :

Erreur : in concatenate ValueError: all the input arrays must have same number of dimensions


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2022
    Messages : 6
    Par défaut Erreur : in concatenate ValueError: all the input arrays must have same number of dimensions
    Bonjour, je ne suis pas un expert sur python et donc en essayant mon code, cela me dit qu'il y a une erreur, et je ne comprend pas mon erreur. Pouvez vous m'expliquez mon erreur ?
    Voici mon code :

    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
    from random import random
    import numpy as np
    from math import*
    import matplotlib as plt
    from scipy.integrate import odeint
    import numpy.random as rnd
     
    Xmax=4
    Xmin=1
    N=5
    A=2000
    B=0.08
    r=0.2
    K=120000
    V=1
    tau=0.5
    m=80
    X0=rnd.random((2*N))*(Xmax-Xmin)+Xmin
    V0=rnd.random(2*N)
    Y0=np.concatenate((X0,V0))
    Z=[5,2]
    temps=np.linspace(0,100,1000)
     
    def vec(a,b):
    	return b-a
     
    def ps(u,v):
    	return np.inner(u,v)
     
    def norme(v):
    	return sqrt(ps(v,v))
     
    def unitaire(v):
    	return (1/norme(v))*v
     
    def dir (A,B):
    	return unitaire(vec(A,B))
     
    def g(x):
    	if x>0:
    		return 0
    	else :
    		return x
     
     
     
    def f(i,j):
    	if i==j :
    		return 0
    	else :
    		h=norme(vec(i,j))
    		D=h-2*r
    	return (A*exp(-D/B)+K*g(D))*dir(i,j)
     
    def fw(i,k):
    	h=norme(vec(i,k))
    	D=h-r
    	return (A*exp(-D/B)+K*g(D))*dir(i,k)
     
    def S(i):
    	C,E=0,0
    	for k in range(2*N):
    		C=C+fw(X0[i],k)
    	for j in range(2*N):
    		E=E+f(X0[i],X0[j])
    	return m*(V-V0[i])*dir(X0[i],Z)+C+E
     
    def F(Y,t):
    	X=Y[0:2*N]
    	V=Y[2*N:4*N]
    	X1=V
    	V1=[]
    	for i in range (2*N):
    		V1=V1+[(1/m)*S(i)]
    	return np.concatenate((X1,V1))
     
    Y1=odeint(F,Y0,temps)
    plt.plot(temps,Y)
    plt.show()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,

    Citation Envoyé par Zakkka Voir le message
    cela me dit qu'il y a une erreur, et je ne comprend pas mon erreur. Pouvez vous m'expliquez mon erreur ?
    S'il faut traduire le message d'erreur, ne pensez vous pas qu'il serait intéressant de le poster?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2022
    Messages : 6
    Par défaut
    Voici le log que j'ai eu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Traceback (most recent call last):
      File "/storage/emulated/0/Documents/Tipe/tipe.py", line 77, in <module>
        Y1=odeint(F,Y0,temps)
      File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/scipy/integrate/odepack.py", line 241, in odeint
        output = _odepack.odeint(func, y0, t, args, Dfun, col_deriv, ml, mu,
      File "/storage/emulated/0/Documents/Tipe/tipe.py", line 75, in F
        return np.concatenate((X1,V1))
      File "<__array_function__ internals>", line 5, in concatenate
    ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 1 dimension(s) and the array at index 1 has 2 dimension(s)

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    in concatenate
    ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 1 dimension(s) and the array at index 1 has 2 dimension(s)
    Le message d'erreur est clair... vous ne pouvez concaténer que des tableaux qui ont le même nombre de dimensions.
    Après corriger l'erreur dépend de ce que vous cherchiez à faire... et pourquoi. C'est pas en lisant le code qu'on le saura... donc impossible à corriger "intelligemment".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2022
    Messages : 6
    Par défaut
    Merci de ta réponse, mais je n'arrive à comprendre à comment faire pour que V1 ait la même dimension que X1, il y a t-il un moyen pour que en gardant à peu près la même formule, V1 ait la même dimension que X1 ?
    J'ai essayé d'utiliser V1.append(formule) et/ou à la fin quand je concatène j'utilise np.array(V1) mais toujours la même erreur.
    Je vais continuer (même si je ne suis pas doué) à chercher une solution et si vous trouviez une piste, pourriez-vous me l'indiquez ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2022
    Messages : 6
    Par défaut
    Et aussi si j'ai bien compris, c'est V1 qui est de dimension 2 or un tableau de dimension 2 devrait resembler à quelque chose comme ça [[1,2],[3,4]] or je comprend pas comment V1 est un tableau de dimension 2

Discussions similaires

  1. [MySQL] demande d'aide pour mon code php
    Par Ingénieur 99 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 18/07/2018, 13h29
  2. [Toutes versions] Besoin d'aide pour mon code
    Par YannQMRX dans le forum VBA Outlook
    Réponses: 3
    Dernier message: 29/06/2017, 12h39
  3. [Débutant] Besoin d'aide pour mon code C# (DataGrid vide)
    Par katsenkatorz dans le forum C#
    Réponses: 3
    Dernier message: 27/05/2014, 14h24
  4. Petite aide pour mon code javascript
    Par bennji dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/12/2008, 19h42

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