Programmation integrale sous Matlab
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Programmation integrale sous Matlab



  1. #1
    invite8a011b82

    Programmation integrale sous Matlab


    ------

    Bonjour,

    Je souhaite comparer les résultats que me donne mon algorithme en C à celui de matlab. Je dois faire un programme qui calcul la vitesse et la position à partir de l'accélération.

    Le problème est que je ne connait pas matlab donc je ne sais pas s'il y a une fonction toute faite pour le calcul d'intégrale et comment prendre en compte le temps??

    J'ai pensé créer une fonction qui calcul la vitesse et une qui calcul la position donc ma formule pour la vitesse est :

    Vn = Vn-1 + an (tn-tn-1)


    et pour la position :

    xn = Vn-1(tn-tn-1) + 1/2 *an (tn-tn-1)+xn-1.

    Merci pour votre aide.

    -----

  2. #2
    invite8a011b82

    Re : Programmation integrale sous Matlab

    Rectification :
    Je veux vérifier grâce à matlab que les équation que j'ai écris plus haut me permette bien d'obtenir la vitesse et la position mai comment je peut intégrer mes accélérations en sachant que c'est à l'instant delta t une constante.

  3. #3
    invitea29b3af3

    Re : Programmation integrale sous Matlab

    Salut,

    Pour le temps, c'est toi qui choisis avec quel "pas" tu veux le discrétiser. Par exemple:
    t=0:0.1:10
    Ca, ça te crée le vecteur suivant:
    t=[0; 0.1; 0.2; 0.3; 0.4; .... 9.8; 9.9; 10]
    Dans ce cas delta_t = 0.1.
    Ensuite c'est une simple boucle for comme en C.

    Code:
    t=0:0.1:10;
    x(1)=A; V(1)=B; a(1)=C;    
    
    for i=2:length(t)
         x(i) = V(i-1)*(t(i)-t(i-1)) + 1/2 *a(i)*(t(i)-t(i-1))^2 + x(i-1);
         V(i) = V(i-1) + a(i)*(t(i)-t(i-1));
    end
    Remarques: A,B,C sont les valeurs initiales à t=0.
    Matlab numérote ses vecteurs depuis 1, pas depuis 0.
    Dans le calcul de x(i), il me semble que tu avais oublié de mettre le temps au carré pour l'accélération...

  4. #4
    invite8a011b82

    Re : Programmation integrale sous Matlab

    Ok merci beaucoup mais le problème c'est que je vais obtenir un résultat mais je n'est rien à quoi le comparer es ce que matlab a des fonctions qui permettent de calculer les intégrales.

    merci

  5. A voir en vidéo sur Futura
  6. #5
    invite8a011b82

    Re : Programmation integrale sous Matlab

    Es ce que tu peux m'expliquer cette ligne stp :
    for i=2:length(t)
    je comprend pas à quoi sert length??

    Je vais regarder tout ce qui est traitement du signal et echantillonnage avec matlab.

  7. #6
    invitea29b3af3

    Re : Programmation integrale sous Matlab

    Salut

    length(t) ça te donne le nombre d'éléments dans ton vecteur t qui est:
    t=[0; 0.1; 0.2; 0.3; 0.4; .... 9.8; 9.9; 10]
    (autrement dit dans ce cas c'est 101 sauf erreur).
    Et donc for i=2:length(t) ça revient à ça en C:
    for(int i=2; i<=101; i++)

    Sinon, pour les intégrales oui il y a apparemment des fonctions, je ne les ai jamais utilisées. J'ai juste tapé "lookfor integral" dans la fenêtre de matlab. Quand tu tapes "lookfor un_truc", ça cherche toutes les fonctions dont l'aide contient le mot "un_truc". Voilà ce que j'ai obtenu:
    Code:
    >> lookfor integral
    ellipke                        - Complete elliptic integral.
    expint                         - Exponential integral function.
    dblquad                        - Numerically evaluate double integral over a rectangle. 
    quad                           - Numerically evaluate integral, adaptive Simpson quadrature.
    quad2d                         - Numerically evaluate double integral over a planar region.
    quadgk                         - Numerically evaluate integral, adaptive Gauss-Kronrod quadrature.
    quadl                          - Numerically evaluate integral, adaptive Lobatto quadrature.
    triplequad                     - Numerically evaluate triple integral. 
    assema                         - Assembles area integral contributions in a PDE problem.
    ellipk                         - Complete elliptic integral of first kind.
    cosint                         - Cosine integral function.
    sinint                         - Sine integral function.
    Là à mon avis par exemple la fonction quad a l'air intéressante. Tape "help quad" dans matlab. Y'a des examples. Pour une aide plus détaillée sur une fonction matlab y'a la "doc" matlab de chaque fonction. Le lien vers la doc est toujours en bas de l'aide de la fonction en question.

  8. #7
    invite8a011b82

    Re : Programmation integrale sous Matlab

    Bonjour,

    Merci beaucoup je ne connaissait pas cette fonction.

Discussions similaires

  1. Programmation d'algorithme sous Matlab
    Par inviteea2db6de dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 13/04/2010, 14h08
  2. Programmation sous Matlab
    Par invitee276f77f dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 18/12/2009, 15h29
  3. intégrale sous matlab
    Par invite171704fd dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 04/05/2008, 19h22
  4. programmation effet sonore sous matlab
    Par invite0ea6f098 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 21/03/2008, 19h06
  5. intégrale sous matlab
    Par invite489dde05 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 08/08/2005, 14h31
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...