Pb pour la resolution d'un système d'équation non linéaire
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Pb pour la resolution d'un système d'équation non linéaire



  1. #1
    invite38685413

    Pb pour la resolution d'un système d'équation non linéaire


    ------

    Bonjours à tous

    Je suis actuellement en train de faire un peu de modélisation cinématique et je me heurte à un problème concernant la résolution d'un système d'équations non linéaire.

    Le système étudié est le suivant*:
    Je cherche à déterminer les coordonnées dans l'espace d'une chaîne de trois barres, en liaison pivot à chaque extrémité et en liaison rotule entre elles, dont on connaît*:
    - Les dimensions des barres (AB,BC,A1C)
    - Les coordonnées des points extrêmes
    - La direction des liaisons pivots
    - L'orientation de la projetée de la barre BC dans le plan (x,y)

    J'arrive donc au système suivant :

    Xb=Xc+arctan(alpha)*(Yb-Yc)
    (Xa-Xb)^2+(Ya-Yb)^2+(Za-Zb)^2-AaB^2=0

    (Xa-Xb)*Ax+(Ya-Yb)*Ay+(Za-Zb)*Az=0
    (Xb-Xc)^2+(Yb-Yc)^2+(Zb-Zc)^2-BC^2=0
    (Xa1-Xc)^2+(Ya1-Yc)^2+(Za1-Zc)^2-A1C^2=0
    (Xa1-Xc)*A1x+(Ya1-Yc)*A1y+(Za1-Zc)*A1z=0
    Mon problème est que lorsque j'essaye d'appliquer l'algorithme de Newton-Raphson sur ce système, j'aboutis à une matrice non inversible.

    Quelqu'un a-t-il une idée ?

    Merci d'avance

    -----

  2. #2
    invite38685413

    Pb pour la resolution d'un système d'équation non linéaire

    Voici le code matlab que j'utilise. J'essaye un cas particulié dans lequel mon système est plan.

    %% Coordonnées initial du point B et C
    clear
    Xa=0;
    Ya=0;
    Za=0;
    Xa1=0;
    Ya1=0.4;
    Za1=0;

    Ax=0;
    Ay=0;
    Az=1;
    A1x=0;
    A1y=0;
    A1z=1;

    AB = 0.4;
    BC = 0.3;
    A1C = 0.4;

    alpha_init = 0*pi/180;

    %Xc = Xb + tan(alpha_init)*(Yc-Yb)

    x=[Xa+AB Ya Za Ya1 Za1];

    for k=2:10

    %Equation et dérivées partielles relatives à la distance AB
    f = (Xa-x(k-1,1))^2+(Ya-x(k-1,2))^2+(Za-x(k-1,3))^2-AB^2;
    f1 = -2*Xa+2*x(k-1,1);
    f2 = -2*Ya+2*x(k-1,2);
    f3 = -2*Za+2*x(k-1,3);
    f4 = 0;
    f5 = 0;

    %Equation et dérivées partielles relatives à la distance A1C.
    g = (Xa1-x(k-1,1)-tan(alpha_init)*(x(k-1,4)-x(k-1,2)))^2+(Ya1-x(k-1,4))^2+(Za1-x(k-1,5))^2-A1C^2;
    g1 = -2*Xa1+2*x(k-1,1)+2*tan(alpha_init)*(x(k-1,4)-x(k-1,2));
    g2 = 2*(Xa1-x(k-1,1)-tan(alpha_init)*(x(k-1,4)-x(k-1,2)))*tan(alpha_init);
    g3 = 0;
    g4 = -2*(Xa1-x(k-1,1)-tan(alpha_init)*(x(k-1,4)-x(k-1,2)))*tan(alpha_init)-2*Ya1+2*x(k-1,4);
    g5 = -2*Za1+2*x(k-1,5);


    %Equation et dérivées partielles relatives à la distance BC.
    h = tan(alpha_init)^2*(x(k-1,4)-x(k-1,2))^2+(x(k-1,2)-x(k-1,4))^2+(x(k-1,3)-x(k-1,5))^2-A1C^2;
    h1 = 0;
    h2 = 2*x(k-1,3)-2*x(k-1,5);
    h3 = -2*x(k-1,5)+2*x(k-1,3);
    h4 = 2*tan(alpha_init)^2*(x(k-1,4)-x(k-1,2))+2*x(k-1,4)-2*x(k-1,2);
    h5 = -2*x(k-1,3)+2*x(k-1,5);


    %Equation et dérivées partielles relatives à la direction de la
    %droite AB par rapport à la direction de la liaison pivot en A.
    i = (Xa-x(k-1,1))*Ax+(Ya-x(k-1,2))*Ay+(Za-x(k-1,3))*Az;
    i1 = -Ax;
    i2 = -Ay;
    i3 = -Az;
    i4 = 0;
    i5 = 0;

    %Equation et dérivées partielles relatives à la direction de la
    %droite A1C par rapport à la direction de la liaison pivot en A1.
    j = (x(k-1,1)+tan(alpha_init)*(x(k-1,4)-x(k-1,2))-Xa1)*A1x+(x(k-1,4)-Ya1)*A1y+(x(k-1,5)-Za1)*A1z;
    j1 = A1x;
    j2 = -A1x*tan(alpha_init);
    j3 = 0;
    j4 = A1y+A1x*tan(alpha_init);
    j5 = A1z;


    diff=inv([f1 f2 f3 f4 f5 ;g1 g2 g3 g4 g5 ;h1 h2 h3 h4 h5;i1 i2 i3 i4 i5;j1 j2 j3 j4 j5]);
    xy=[x(k-1,1) x(k-1,2) x(k-1,3) x(k-1,4) x(k-1,5)]'-diff*[f,g,h,i,j]';
    x(k,1)=xy(1);
    x(k,2)=xy(2);
    x(k,3)=xy(3);
    x(k,4)=xy(4);
    x(k,5)=xy(5);

    end

    Xb=x(k,1);
    Yb=x(k,2);
    Zb=x(k,3);


    Yc=x(k,4);
    Zc=x(k,5);

  3. #3
    invite986312212
    Invité

    Re : Pb pour la resolution d'un système d'équation non linéaire

    quelques suggestions en vrac:
    1) si tu changes de point intitial, c'est pareil?
    2) peut-être peux-tu utiliser une inverse généralisée
    3) Newton-Raphson si je me souviens bien, c'est une méthode de gradient où la longueur de chaque pas est choisie de manière optimale en faisant l'hypothèse que la surface est quadratique. Peut-être peux-tu utiliser une méthode de gradient plus grossière, à pas constant (tant que ça descend), voire la méthode du simplexe de Nelder-Mead?

Discussions similaires

  1. Résolution numérique d'un système d'équations différentielles d'ordre 2 non linéaire
    Par invitea7473580 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 02/07/2008, 16h55
  2. Résolution de système d'équation
    Par inviteed4b3f7a dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 21/09/2007, 08h10
  3. Systeme d'équation Linéaire à deux inconnues ??!
    Par invitef5dc7e34 dans le forum Mathématiques du collège et du lycée
    Réponses: 11
    Dernier message: 08/05/2007, 10h43
  4. Résolution de système d'équations non linéaire
    Par invite575717c9 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 16/02/2007, 15h39
  5. système d'équation non lineaire
    Par invite7928608b dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 23/01/2007, 08h40