Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Résolution de DAE
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en analyse
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 05 Déc 2012 10:10    Sujet du message: Résolution de DAE Répondre en citant

Bonjour,

Je cherche à résoudre un système d'équations différentielles de type DAE. Il s'agit d'un système d'équations différentielles de 27 équations (15 équations de lagrange + 12 équations de liaisons) à 27 inconnues.

Voici le message d'erreur que j'obtiens:

[img][/img]

Avant d'aller plus loin dans le détail de mes équations, à la vue du message d'erreurs, vous pouvez peut-être m'orienter pour savoir la syntaxe qui est mal réalisée.

Merci d'avance pour votre aide.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 05 Déc 2012 14:49    Sujet du message: Re: Répondre en citant

Bonjour,
Ne manque-t-il pas l'appel au package plots au tout début?

> with(plots):

Sinon, la syntaxe a l'air correcte.

Je suis impressionné si Maple arrive à résoudre un tel système.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 05 Déc 2012 15:17    Sujet du message: Répondre en citant

Bonjour,

Non, c'est bon j'ai bien chargé la librairie > with(plots):
Sinon, vous ne me rassurez pas dans vos propos... J'espère que je vais reussir à la faire la résolution.
J'ai changé mes multiplicateurs de lagrange qui étaient des constantes par des fonctions du temps et j'obtiens un nouveau message d'erreur qui est le suivant :

[img][/img]

Sinon, pour imager un peu (si çà image vraiment ...) mon système d'équations, voilà mes équations de lagrange :

Code:
(2.1590816 sin(alpha(t)) - 292.4 cos(alpha(t)) sin(beta(t)) (0, 208)

                                                           2   
                                             / d          \     
   - 256.6985448 cos(alpha(t)) cos(beta(t))) |--- alpha(t)|  + (
                                             \ dt         /     
-584.8 sin(alpha(t)) cos(beta(t)) (0, 208)

                                             / d         \ / d          \   
   + 513.3970896 sin(alpha(t)) sin(beta(t))) |--- beta(t)| |--- alpha(t)| + (
                                             \ dt        / \ dt         /   
-292.4 cos(alpha(t)) sin(beta(t)) (0, 208)

                                                          2
                                             / d         \
   - 256.6985448 cos(alpha(t)) cos(beta(t))) |--- beta(t)|
                                             \ dt        /

           / d  / d      \\                                           
   + 292.4 |--- |--- z(t)|| + (-256.6985448 sin(alpha(t)) cos(beta(t))
           \ dt \ dt     //                                           

                                                                          / d
   - 2.1590816 cos(alpha(t)) - 292.4 sin(alpha(t)) sin(beta(t)) (0, 208)) |---
                                                                          \ dt

   / d          \\                                           
   |--- alpha(t)|| + (-256.6985448 cos(alpha(t)) sin(beta(t))
   \ dt         //                                           

                                                / d  / d         \\           
   + 292.4 cos(alpha(t)) cos(beta(t)) (0, 208)) |--- |--- beta(t)|| = 2868.444
                                                \ dt \ dt        //           

   - lambda3(t) - lambda6(t) - lambda9(t) - lambda12(t)
/                                                                   
|(2.1590816 sin(alpha(t)) - 292.4 cos(alpha(t)) sin(beta(t)) (0, 208)
\                                                                   

                                             / d          \                   
   - 256.6985448 cos(alpha(t)) cos(beta(t))) |--- alpha(t)| + (256.6985448 sin(
                                             \ dt         /                   

                                                                      / d 
  alpha(t)) sin(beta(t)) - 292.4 sin(alpha(t)) cos(beta(t)) (0, 208)) |---
                                                                      \ dt

         \\ / d      \   /              2                           2
  beta(t)|| |--- z(t)| + \292.4 (0, 208)  + 522.2781659 cos(beta(t))
         // \ dt     /                                               

   + 2.033942659 - 2. cos(beta(t)) (0, 5) sin(beta(t))

                   2             2
   - 292.4 (0, 208)  cos(beta(t))

                                                   \ / d  / d          \\   /
   + 513.3970896 sin(beta(t)) (0, 208) cos(beta(t))/ |--- |--- alpha(t)|| + \
                                                     \ dt \ dt         //   
                                                        2       
-1044.556332 sin(beta(t)) cos(beta(t)) - 2. cos(beta(t))  (0, 5)

                             2                                    2         
   + 513.3970896 cos(beta(t))  (0, 208) - 513.3970896 sin(beta(t))  (0, 208)

                   2                                            2       \ / d
   + 584.8 (0, 208)  cos(beta(t)) sin(beta(t)) + 2. sin(beta(t))  (0, 5)/ |---
                                                                          \ dt

          \ / d          \                           
   beta(t)| |--- alpha(t)| + (1.895462055 cos(beta(t))
          / \ dt         /                           

   + 2.1590816 sin(beta(t)) (0, 208) - 1. (-2, 13) cos(beta(t))

                                           2   
                              / d         \     
   - 1. (0, 83) sin(beta(t))) |--- beta(t)|  + (
                              \ dt        /     
-256.6985448 sin(alpha(t)) cos(beta(t)) - 2.1590816 cos(alpha(t))

                                                / d  / d      \\               
   - 292.4 sin(alpha(t)) sin(beta(t)) (0, 208)) |--- |--- z(t)|| + (1.895462055
                                                \ dt \ dt     //               

  sin(beta(t)) + (0, 83) cos(beta(t)) - 1. (-2, 13) sin(beta(t))

                                      / d  / d         \\   
   - 2.1590816 cos(beta(t)) (0, 208)) |--- |--- beta(t)|| =
                                      \ dt \ dt        //   
-21.18059050 cos(alpha(t)) - 2868.444 sin(alpha(t)) sin(beta(t)) (0, 208)

   - 2518.212724 sin(alpha(t)) cos(beta(t)) + (0.1029250418 sin(alpha(t))

   - 0.06169631900 cos(alpha(t)) sin(beta(t))

   - 0.706007 cos(alpha(t)) cos(beta(t))) lambda1(t) + (0.1029250418 cos(alpha(t

  )) + 0.06169631900 sin(alpha(t)) sin(beta(t))

   + 0.706007 sin(alpha(t)) cos(beta(t))) lambda3(t) + (0.1029250418 sin(alpha(t

  )) + 0.06169631900 cos(alpha(t)) sin(beta(t))

   - 0.706007 cos(alpha(t)) cos(beta(t))) lambda4(t) + (0.1029250418 cos(alpha(t

  )) - 0.06169631900 sin(alpha(t)) sin(beta(t))

........




Merci d'avance pour votre aide


Dernière édition par bendesarts le 06 Déc 2012 10:48; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 05 Déc 2012 17:26    Sujet du message: Répondre en citant

Difficile d'y voir dans ce flot d'équations, mais le (0, 208)
apparait suspect effectivement.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 06 Déc 2012 10:51    Sujet du message: Répondre en citant

J'avais fait quelques erreurs dans les valeurs numériques que j'utilise où j'avais mis des virgules à la place de points.

En corrigeant ce problème, la résolution avec dsolve se lance maintenant. Par contre, au bout d'un moment, elle s'arrete et j'arrive sur le message d'erreur suivant.

Error, (in expand/bigprod) object too large

Je crois qu'il faut que je simplifie les équations avant. En tout cas, si vous avez des conseils, je suis preneur.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 11 Déc 2012 19:47    Sujet du message: Répondre en citant

Bonjour,

Je suis toujours sur le problème de résolution de ma DAE. Pour résoudre mon système d'équations différentiels, il faut que j'arrive à le mettre sous la forme :



Voici mes équations

Code:

eq_z_li := -2.1590816*(diff(alpha(t), t, t))-0.608192e-1*(diff(beta(t), t, t))+292.4*(diff(z(t), t, t)) = -delta_lambda[3](t)-delta_lambda[6](t)-delta_lambda[9](t)-delta_lambda[12](t);
eq_alpha_li := -2.1590816*(diff(z(t), t, t))+524.3121086*(diff(alpha(t), t, t))-0.7850911027e-2*(diff(beta(t), t, t)) = .1029250418*delta_lambda[3](t)+.1029250418*delta_lambda[6](t)-0.9267105835e-1*delta_lambda[9](t)-0.9165782425e-1*delta_lambda[12](t)-.706007*delta_lambda[1](t)-.706007*delta_lambda[4](t)-.706007*delta_lambda[7](t)-.706007*delta_lambda[10](t)-2954.959741*alpha(t)+0.26004840e-1*beta(t);
eq_beta_li := -2.1590816*(diff(z(t), t, t))+524.3121086*(diff(alpha(t), t, t))-0.7850911027e-2*(diff(beta(t), t, t)) = -0.6169631900e-1*delta_lambda[3](t)+0.6169631900e-1*delta_lambda[6](t)+0.7623696572e-1*delta_lambda[9](t)-0.7745219980e-1*delta_lambda[12](t)+.706007*delta_lambda[2](t)+.706007*delta_lambda[5](t)+.706007*delta_lambda[8](t)+.706007*delta_lambda[11](t)+0.26004840e-1*alpha(t)-2977.819694*beta(t);
eq_gamma_li[1] := 2.663067837*(diff(delta_gamma[1](t), t, t))+1.715761422*(diff(delta_psi[1](t), t, t)) = 190.5753782*delta_gamma[1](t)+.4637616218*delta_lambda[1](t)+.2779924542*delta_lambda[2](t)+.6557684062*delta_lambda[3](t)+163.8826945*delta_psi[1](t);
eq_psi_li[1] := 1.715761422*(diff(delta_gamma[1](t), t, t))+1.471580007*(diff(delta_psi[1](t), t, t)) = 2.*10^(-8)+163.8826945*delta_gamma[1](t)+.4197585749*delta_lambda[1](t)+.2516157244*delta_lambda[2](t)+.5148145131*delta_lambda[3](t)+163.8826945*delta_psi[1](t);
eq_phi_li[1] := 1.471580007*(diff(delta_phi[1](t), t, t)) = -1.*10^(-8)+.3651964504*delta_lambda[1](t)-.6092399112*delta_lambda[2](t)+163.8826945*delta_phi[1](t);
eq_gamma_li[2] := 2.663067837*(diff(delta_gamma[2](t), t, t))+1.715761422*(diff(delta_psi[2](t), t, t)) = 190.5753782*delta_gamma[2](t)+.4637616218*delta_lambda[4](t)-.2779924542*delta_lambda[5](t)+.6557684062*delta_lambda[6](t)+163.8826945*delta_psi[2](t);
eq_psi_li[2] := 1.715761422*(diff(delta_gamma[2](t), t, t))+1.471580007*(diff(delta_psi[2](t), t, t)) = 2.*10^(-8)+163.8826945*delta_gamma[2](t)+.4197585749*delta_lambda[4](t)-.2516157244*delta_lambda[5](t)+.5148145131*delta_lambda[6](t)+163.8826945*delta_psi[2](t);
eq_phi_li[2] := 1.471580007*(diff(delta_phi[2](t), t, t)) = 1.*10^(-8)-.3651964504*delta_lambda[4](t)-.6092399112*delta_lambda[5](t)+163.8826945*delta_phi[2](t);
eq_gamma_li[3] := 2.304829127*(diff(delta_gamma[3](t), t, t))+1.404485120*(diff(delta_psi[3](t), t, t)) = 117.5552310*delta_gamma[3](t)-.4474546196*delta_lambda[7](t)-.3681039486*delta_lambda[8](t)+.5084081649*delta_lambda[9](t)+102.9644119*delta_psi[3](t);
eq_psi_li[3] := 1.404485120*(diff(delta_gamma[3](t), t, t))+1.207266112*(diff(delta_psi[3](t), t, t)) = 102.9644119*delta_gamma[3](t)-.4078354088*delta_lambda[7](t)-.3355107262*delta_lambda[8](t)+.3674542718*delta_lambda[9](t)+102.9644119*delta_psi[3](t);
eq_phi_li[3] := 1.207266112*(diff(delta_phi[3](t), t, t)) = -1.*10^(-8)-.4087355974*delta_lambda[7](t)+.4968450677*delta_lambda[8](t)+102.9644119*delta_phi[3](t);
eq_gamma_li[4] := 2.304829127*(diff(delta_gamma[4](t), t, t))+1.404485120*(diff(delta_psi[4](t), t, t)) = 4.*10^(-8)+117.5552310*delta_gamma[4](t)-.4425623018*delta_lambda[10](t)+.3739716068*delta_lambda[11](t)+.5084081649*delta_lambda[12](t)+102.9644119*delta_psi[4](t);
eq_psi_li[4] := 1.404485120*(diff(delta_gamma[4](t), t, t))+1.207266112*(diff(delta_psi[4](t), t, t)) = 6.*10^(-8)+102.9644119*delta_gamma[4](t)-.4033762741*delta_lambda[10](t)+.3408588412*delta_lambda[11](t)+.3674542718*delta_lambda[12](t)+102.9644119*delta_psi[4](t);
eq_phi_li[4] := 1.207266112*(diff(delta_phi[4](t), t, t)) = .4152509331*delta_lambda[10](t)+.4914127313*delta_lambda[11](t)+102.9644119*delta_phi[4](t);
eq_liai_li_dd[1] := -.706007*(diff(alpha(t), t, t))+.4637616218*(diff(delta_gamma[1](t), t, t))+.3651964504*(diff(delta_phi[1](t), t, t))+.4197585749*(diff(delta_psi[1](t), t, t)) = 0;
eq_liai_li_dd[2] := .706007*(diff(beta(t), t, t))+.2779924542*(diff(delta_gamma[1](t), t, t))-.6092399112*(diff(delta_phi[1](t), t, t))+.2516157244*(diff(delta_psi[1](t), t, t)) = 0;
eq_liai_li_dd[3] := .1029250418*(diff(alpha(t), t, t))-0.6169631900e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.6557684062*(diff(delta_gamma[1](t), t, t))+.5148145131*(diff(delta_psi[1](t), t, t)) = 0;
eq_liai_li_dd[4] := -.706007*(diff(alpha(t), t, t))+.4637616218*(diff(delta_gamma[2](t), t, t))-.3651964504*(diff(delta_phi[2](t), t, t))+.4197585749*(diff(delta_psi[2](t), t, t)) = 0;
eq_liai_li_dd[5] := .706007*(diff(beta(t), t, t))-.2779924542*(diff(delta_gamma[2](t), t, t))-.6092399112*(diff(delta_phi[2](t), t, t))-.2516157244*(diff(delta_psi[2](t), t, t)) = 0;
eq_liai_li_dd[6] := .1029250418*(diff(alpha(t), t, t))+0.6169631900e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.6557684062*(diff(delta_gamma[2](t), t, t))+.5148145131*(diff(delta_psi[2](t), t, t)) = 0;
eq_liai_li_dd[7] := -.706007*(diff(alpha(t), t, t))-.4474546196*(diff(delta_gamma[3](t), t, t))-.4087355974*(diff(delta_phi[3](t), t, t))-.4078354088*(diff(delta_psi[3](t), t, t)) = 0;
eq_liai_li_dd[8] := .706007*(diff(beta(t), t, t))-.3681039486*(diff(delta_gamma[3](t), t, t))+.4968450677*(diff(delta_phi[3](t), t, t))-.3355107262*(diff(delta_psi[3](t), t, t)) = 0;
eq_liai_li_dd[9] := -0.9267105835e-1*(diff(alpha(t), t, t))+0.7623696572e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.5084081649*(diff(delta_gamma[3](t), t, t))+.3674542718*(diff(delta_psi[3](t), t, t)) = 0;
eq_liai_li_dd[10] := -.706007*(diff(alpha(t), t, t))-.4425623018*(diff(delta_gamma[4](t), t, t))+.4152509331*(diff(delta_phi[4](t), t, t))-.4033762741*(diff(delta_psi[4](t), t, t)) = 0;
eq_liai_li_dd[11] := .706007*(diff(beta(t), t, t))+.3739716068*(diff(delta_gamma[4](t), t, t))+.4914127313*(diff(delta_phi[4](t), t, t))+.3408588412*(diff(delta_psi[4](t), t, t)) = 0;
eq_liai_li_dd[12] := -0.9165782425e-1*(diff(alpha(t), t, t))-0.7745219980e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.5084081649*(diff(delta_gamma[4](t), t, t))+.3674542718*(diff(delta_psi[4](t), t, t)) = 0;


Pouvez-vous m'aider à programmer les lignes de code qui me permettra à aboutir au système matriciel tel qu'il a été défini au début ?

Merci d'avance pour votre aide
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 12 Déc 2012 8:38    Sujet du message: Répondre en citant

Bonjour,
Voici une première approche, où je trouve la matrice A 27*27 du système.
Par contre, je ne connais pas la taille des matrices Auu, Auv.. que vous voulez extraire de A.
Je vous laisse terminer en vous donnant la première matrice Auu, si elle est de taille 9*9 (on utilise SubMatrix).
Par contre, êtes-vous sur de vos coefficients car je n'ai pas l'impression que l'on trouve des matrices transposées Cu et t(Cu) à partir de A.


Code:

> with(LinearAlgebra):
>
> sys:=NULL:
> eq_z_li := -2.1590816*(diff(alpha(t), t, t))-0.608192e-1*(diff(beta(t), t, t))+292.4*(diff(z(t), t, t)) = -delta_lambda[3](t)-delta_lambda[6](t)-delta_lambda[9](t)-delta_lambda[12](t):sys:=sys,eq_z_li:
> eq_alpha_li := -2.1590816*(diff(z(t), t, t))+524.3121086*(diff(alpha(t), t, t))-0.7850911027e-2*(diff(beta(t), t, t)) = .1029250418*delta_lambda[3](t)+.1029250418*delta_lambda[6](t)-0.9267105835e-1*delta_lambda[9](t)-0.9165782425e-1*delta_lambda[12](t)-.706007*delta_lambda[1](t)-.706007*delta_lambda[4](t)-.706007*delta_lambda[7](t)-.706007*delta_lambda[10](t)-2954.959741*alpha(t)+0.26004840e-1*beta(t): sys:=sys,eq_alpha_li:
> eq_beta_li := -2.1590816*(diff(z(t), t, t))+524.3121086*(diff(alpha(t), t, t))-0.7850911027e-2*(diff(beta(t), t, t)) = -0.6169631900e-1*delta_lambda[3](t)+0.6169631900e-1*delta_lambda[6](t)+0.7623696572e-1*delta_lambda[9](t)-0.7745219980e-1*delta_lambda[12](t)+.706007*delta_lambda[2](t)+.706007*delta_lambda[5](t)+.706007*delta_lambda[8](t)+.706007*delta_lambda[11](t)+0.26004840e-1*alpha(t)-2977.819694*beta(t): sys:=sys,eq_beta_li:
> eq_gamma_li[1] := 2.663067837*(diff(delta_gamma[1](t), t, t))+1.715761422*(diff(delta_psi[1](t), t, t)) = 190.5753782*delta_gamma[1](t)+.4637616218*delta_lambda[1](t)+.2779924542*delta_lambda[2](t)+.6557684062*delta_lambda[3](t)+163.8826945*delta_psi[1](t): sys:=sys,eq_gamma_li[1]:
> eq_psi_li[1] := 1.715761422*(diff(delta_gamma[1](t), t, t))+1.471580007*(diff(delta_psi[1](t), t, t)) = 2.*10^(-8)+163.8826945*delta_gamma[1](t)+.4197585749*delta_lambda[1](t)+.2516157244*delta_lambda[2](t)+.5148145131*delta_lambda[3](t)+163.8826945*delta_psi[1](t): sys:=sys,eq_psi_li[1]:
> eq_phi_li[1] := 1.471580007*(diff(delta_phi[1](t), t, t)) = -1.*10^(-8)+.3651964504*delta_lambda[1](t)-.6092399112*delta_lambda[2](t)+163.8826945*delta_phi[1](t):sys:=sys,eq_phi_li[1]: 
> eq_gamma_li[2] := 2.663067837*(diff(delta_gamma[2](t), t, t))+1.715761422*(diff(delta_psi[2](t), t, t)) = 190.5753782*delta_gamma[2](t)+.4637616218*delta_lambda[4](t)-.2779924542*delta_lambda[5](t)+.6557684062*delta_lambda[6](t)+163.8826945*delta_psi[2](t):sys:=sys,eq_gamma_li[2]:
> eq_psi_li[2] := 1.715761422*(diff(delta_gamma[2](t), t, t))+1.471580007*(diff(delta_psi[2](t), t, t)) = 2.*10^(-8)+163.8826945*delta_gamma[2](t)+.4197585749*delta_lambda[4](t)-.2516157244*delta_lambda[5](t)+.5148145131*delta_lambda[6](t)+163.8826945*delta_psi[2](t): sys:=sys,eq_psi_li[2] : 
> eq_phi_li[2] := 1.471580007*(diff(delta_phi[2](t), t, t)) = 1.*10^(-8)-.3651964504*delta_lambda[4](t)-.6092399112*delta_lambda[5](t)+163.8826945*delta_phi[2](t):  sys:=sys,eq_phi_li[2]:
> eq_gamma_li[3] := 2.304829127*(diff(delta_gamma[3](t), t, t))+1.404485120*(diff(delta_psi[3](t), t, t)) = 117.5552310*delta_gamma[3](t)-.4474546196*delta_lambda[7](t)-.3681039486*delta_lambda[8](t)+.5084081649*delta_lambda[9](t)+102.9644119*delta_psi[3](t): sys:=sys,eq_gamma_li[3]:
> eq_psi_li[3] := 1.404485120*(diff(delta_gamma[3](t), t, t))+1.207266112*(diff(delta_psi[3](t), t, t)) = 102.9644119*delta_gamma[3](t)-.4078354088*delta_lambda[7](t)-.3355107262*delta_lambda[8](t)+.3674542718*delta_lambda[9](t)+102.9644119*delta_psi[3](t): sys:=sys,eq_psi_li[3]:
> eq_phi_li[3] := 1.207266112*(diff(delta_phi[3](t), t, t)) = -1.*10^(-8)-.4087355974*delta_lambda[7](t)+.4968450677*delta_lambda[8](t)+102.9644119*delta_phi[3](t): sys:=sys,eq_phi_li[3]:
> eq_gamma_li[4] := 2.304829127*(diff(delta_gamma[4](t), t, t))+1.404485120*(diff(delta_psi[4](t), t, t)) = 4.*10^(-8)+117.5552310*delta_gamma[4](t)-.4425623018*delta_lambda[10](t)+.3739716068*delta_lambda[11](t)+.5084081649*delta_lambda[12](t)+102.9644119*delta_psi[4](t) : sys:=sys,eq_gamma_li[4]:
> eq_psi_li[4] := 1.404485120*(diff(delta_gamma[4](t), t, t))+1.207266112*(diff(delta_psi[4](t), t, t)) = 6.*10^(-8)+102.9644119*delta_gamma[4](t)-.4033762741*delta_lambda[10](t)+.3408588412*delta_lambda[11](t)+.3674542718*delta_lambda[12](t)+102.9644119*delta_psi[4](t): sys:=sys,eq_psi_li[4]:
> eq_phi_li[4] := 1.207266112*(diff(delta_phi[4](t), t, t)) = .4152509331*delta_lambda[10](t)+.4914127313*delta_lambda[11](t)+102.9644119*delta_phi[4](t): sys:=sys,eq_phi_li[4]:
> eq_liai_li_dd[1] := -.706007*(diff(alpha(t), t, t))+.4637616218*(diff(delta_gamma[1](t), t, t))+.3651964504*(diff(delta_phi[1](t), t, t))+.4197585749*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[1] : 
> eq_liai_li_dd[2] := .706007*(diff(beta(t), t, t))+.2779924542*(diff(delta_gamma[1](t), t, t))-.6092399112*(diff(delta_phi[1](t), t, t))+.2516157244*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[2]:
> eq_liai_li_dd[3] := .1029250418*(diff(alpha(t), t, t))-0.6169631900e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.6557684062*(diff(delta_gamma[1](t), t, t))+.5148145131*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[3]:
> eq_liai_li_dd[4] := -.706007*(diff(alpha(t), t, t))+.4637616218*(diff(delta_gamma[2](t), t, t))-.3651964504*(diff(delta_phi[2](t), t, t))+.4197585749*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[4]: 
> eq_liai_li_dd[5] := .706007*(diff(beta(t), t, t))-.2779924542*(diff(delta_gamma[2](t), t, t))-.6092399112*(diff(delta_phi[2](t), t, t))-.2516157244*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[5]:
> eq_liai_li_dd[6] := .1029250418*(diff(alpha(t), t, t))+0.6169631900e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.6557684062*(diff(delta_gamma[2](t), t, t))+.5148145131*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[6]:
> eq_liai_li_dd[7] := -.706007*(diff(alpha(t), t, t))-.4474546196*(diff(delta_gamma[3](t), t, t))-.4087355974*(diff(delta_phi[3](t), t, t))-.4078354088*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[7]:
> eq_liai_li_dd[8] := .706007*(diff(beta(t), t, t))-.3681039486*(diff(delta_gamma[3](t), t, t))+.4968450677*(diff(delta_phi[3](t), t, t))-.3355107262*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[8]:
> eq_liai_li_dd[9] := -0.9267105835e-1*(diff(alpha(t), t, t))+0.7623696572e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.5084081649*(diff(delta_gamma[3](t), t, t))+.3674542718*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[9]:
> eq_liai_li_dd[10] := -.706007*(diff(alpha(t), t, t))-.4425623018*(diff(delta_gamma[4](t), t, t))+.4152509331*(diff(delta_phi[4](t), t, t))-.4033762741*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[10]:
> eq_liai_li_dd[11] := .706007*(diff(beta(t), t, t))+.3739716068*(diff(delta_gamma[4](t), t, t))+.4914127313*(diff(delta_phi[4](t), t, t))+.3408588412*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[11]:
> eq_liai_li_dd[12] := -0.9165782425e-1*(diff(alpha(t), t, t))-0.7745219980e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.5084081649*(diff(delta_gamma[4](t), t, t))+.3674542718*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[12]:
>
> sys:=[sys]:

> u:=<delta_gamma[1](t),delta_psi[1](t),delta_phi[1](t),delta_gamma[2](t),delta_psi[2](t),delta_phi[2](t),delta_gamma[3](t),delta_psi[3](t),delta_phi[3](t),delta_gamma[4](t),delta_psi[4](t),delta_phi[4](t)>: evalm(u);

  [delta_gamma[1](t), delta_psi[1](t), delta_phi[1](t),

        delta_gamma[2](t), delta_psi[2](t), delta_phi[2](t),

        delta_gamma[3](t), delta_psi[3](t), delta_phi[3](t),

        delta_gamma[4](t), delta_psi[4](t), delta_phi[4](t)]

> u2:=map(h->diff(h,t,t),u): evalm(u2);

  [ 2                      2                    2
  [d                      d                    d
  [--- delta_gamma[1](t), --- delta_psi[1](t), --- delta_phi[1](t),
  [  2                      2                    2
  [dt                     dt                   dt

         2                      2
        d                      d
        --- delta_gamma[2](t), --- delta_psi[2](t),
          2                      2
        dt                     dt

         2                    2
        d                    d
        --- delta_phi[2](t), --- delta_gamma[3](t),
          2                    2
        dt                   dt

         2                    2
        d                    d
        --- delta_psi[3](t), --- delta_phi[3](t),
          2                    2
        dt                   dt

         2                      2
        d                      d
        --- delta_gamma[4](t), --- delta_psi[4](t),
          2                      2
        dt                     dt

         2                 ]
        d                  ]
        --- delta_phi[4](t)]
          2                ]
        dt                 ]

> v:=<z(t),alpha(t),beta(t)>; v2:=map(h->diff(h,t,t),v): evalm(v2);

                                [  z(t)  ]
                                [        ]
                           v := [alpha(t)]
                                [        ]
                                [beta(t) ]


                [ 2         2             2         ]
                [d         d             d          ]
                [--- z(t), --- alpha(t), --- beta(t)]
                [  2         2             2        ]
                [dt        dt            dt         ]

> lambda:=<seq(delta_lambda[i](t),i=1..12)>: evalm(lambda);

  [delta_lambda[1](t), delta_lambda[2](t), delta_lambda[3](t),

        delta_lambda[4](t), delta_lambda[5](t), delta_lambda[6](t),

        delta_lambda[7](t), delta_lambda[8](t), delta_lambda[9](t),

        delta_lambda[10](t), delta_lambda[11](t), delta_lambda[12](t)

        ]

> X:=convert(<u2,v2,lambda>,Vector): evalm(X);

  [ 2                      2                    2
  [d                      d                    d
  [--- delta_gamma[1](t), --- delta_psi[1](t), --- delta_phi[1](t),
  [  2                      2                    2
  [dt                     dt                   dt

         2                      2
        d                      d
        --- delta_gamma[2](t), --- delta_psi[2](t),
          2                      2
        dt                     dt

         2                    2
        d                    d
        --- delta_phi[2](t), --- delta_gamma[3](t),
          2                    2
        dt                   dt

         2                    2
        d                    d
        --- delta_psi[3](t), --- delta_phi[3](t),
          2                    2
        dt                   dt

         2                      2
        d                      d
        --- delta_gamma[4](t), --- delta_psi[4](t),
          2                      2
        dt                     dt

         2                    2         2             2
        d                    d         d             d
        --- delta_phi[4](t), --- z(t), --- alpha(t), --- beta(t),
          2                    2         2             2
        dt                   dt        dt            dt

        delta_lambda[1](t), delta_lambda[2](t), delta_lambda[3](t),

        delta_lambda[4](t), delta_lambda[5](t), delta_lambda[6](t),

        delta_lambda[7](t), delta_lambda[8](t), delta_lambda[9](t),

        delta_lambda[10](t), delta_lambda[11](t), delta_lambda[12](t)

        ]
        ]
        ]
        ]
        ]

> A:=NULL:
> for eq in sys do
>   L:=NULL:
>   for c in X do
>     L:=L,coeff(lhs(eq),c)
>   od:
>   A:=A,[L]:
> od:
> A:=Matrix([A]):
> evalm(A);
       

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 292.4 ,

        -2.1590816 , -0.0608192 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , -2.1590816 ,

        524.3121086 , -0.007850911027 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , -2.1590816 ,

        524.3121086 , -0.007850911027 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0]

        [2.663067837 , 1.715761422 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0]

        [1.715761422 , 1.471580007 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0]

        [0 , 0 , 1.471580007 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 2.663067837 , 1.715761422 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0]

        [0 , 0 , 0 , 1.715761422 , 1.471580007 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0]

        [0 , 0 , 0 , 0 , 0 , 1.471580007 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 2.304829127 , 1.404485120 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 1.404485120 , 1.207266112 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1.207266112 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2.304829127 ,

        1.404485120 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1.404485120 ,

        1.207266112 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1.207266112 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0.4637616218 , 0.4197585749 , 0.3651964504 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , -0.706007 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0]

        [0.2779924542 , 0.2516157244 , -0.6092399112 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.706007 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0.6557684062 , 0.5148145131 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , -1 , 0.1029250418 , -0.06169631900 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0.4637616218 , 0.4197585749 , -0.3651964504 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , -0.706007 , 0 , 0 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , -0.2779924542 , -0.2516157244 , -0.6092399112 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.706007 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0.6557684062 , 0.5148145131 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , -1 , 0.1029250418 , 0.06169631900 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , -0.4474546196 , -0.4078354088 ,

        -0.4087355974 , 0 , 0 , 0 , 0 , -0.706007 , 0 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , -0.3681039486 , -0.3355107262 ,

        0.4968450677 , 0 , 0 , 0 , 0 , 0 , 0.706007 , 0 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0.5084081649 , 0.3674542718 , 0 , 0

        , 0 , 0 , -1 , -0.09267105835 , 0.07623696572 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , -0.4425623018 ,

        -0.4033762741 , 0.4152509331 , 0 , -0.706007 , 0 , 0 , 0 , 0

        , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.3739716068 ,

        0.3408588412 , 0.4914127313 , 0 , 0 , 0.706007 , 0 , 0 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

        [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.5084081649 ,

        0.3674542718 , 0 , -1 , -0.09165782425 , -0.07745219980 , 0 ,

        0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]

> Auu:=SubMatrix(A,1..9,1..9);

           [0 ,    0 ,    0 ,    0 ,    0 ,   0 ,   0 ,   0 ,   0]
           [                                                     ]
           [0 ,    0 ,    0 ,    0 ,    0 ,   0 ,   0 ,   0 ,   0]
           [                                                     ]
           [0 ,    0 ,    0 ,    0 ,    0 ,   0 ,   0 ,   0 ,   0]
           [                                                     ]
           [2.663067837 , 1.715761422 , 0 , 0 , 0 , 0 , 0 , 0 , 0]
           [                                                     ]
    Auu := [1.715761422 , 1.471580007 , 0 , 0 , 0 , 0 , 0 , 0 , 0]
           [                                                     ]
           [0 ,   0 ,   1.471580007 ,  0 ,  0 ,  0 ,  0 ,  0 ,  0]
           [                                                     ]
           [0 , 0 , 0 , 2.663067837 , 1.715761422 , 0 , 0 , 0 , 0]
           [                                                     ]
           [0 , 0 , 0 , 1.715761422 , 1.471580007 , 0 , 0 , 0 , 0]
           [                                                     ]
           [0 ,   0 ,   0 ,  0 ,  0 ,  1.471580007 ,  0 ,  0 ,  0]

Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 12 Déc 2012 10:50    Sujet du message: Répondre en citant

Super, vraiment merci grandement car j'aurais eu bcp de difficultés à réaliser ces lignes de codes.

Il y avait par contre (si je ne me trompe pas une petite erreur) lorsqu'on prend les différents coefficients des équations à savoir que l'on cherchait ces coefficients uniquement sur la partie gauche des équations. A mon sens, il faut aussi chercher les coefficients sur la partie droite des équations. Les coeffecients Qqu, Bu, Qqv, Bv seront ensuite déterminés.

Code:
L:=L,coeff(lhs(eq)-[b]rhs(eq),[/b]c)


Sinon, voilà où j'en suis dans la programmation. Par contre, malheureusement, je dois avoir encore une petite erreur dans la mesure où je trouve pas pour cu et tcu des matrices transposées

Code:
sys:=NULL:
eq_z_li:=eval(eq_z_li):sys:=sys,eq_z_li:
eq_alpha_li:=eval(eq_alpha_li):sys:=sys,eq_alpha_li:
eq_beta_li:=eval(eq_beta_li):sys:=sys,eq_beta_li:
for i to 4 do
eq_gamma_li[i]:=eval(eq_gamma_li[i]):sys:=sys,eq_gamma_li[i]:
eq_psi_li[i]:=eval(eq_psi_li[i]):sys:=sys,eq_psi_li[i]:
eq_phi_li[i]:=eval(eq_phi_li[i]):sys:=sys,eq_phi_li[i]:
od:
for i to 12 do
eq_liai_li_dd[i]:=eval(diff(lhs(eq_liai_li[i]),t)=diff(rhs(eq_liai_li[i]),t)):sys:=sys,eq_liai_li_dd[i]:
od:
u:=<delta_gamma[1](t),delta_psi[1](t),delta_phi[1](t),delta_gamma[2](t),delta_psi[2](t),delta_phi[2](t),delta_gamma[3](t),delta_psi[3](t),delta_phi[3](t),delta_gamma[4](t),delta_psi[4](t),delta_phi[4](t)>: evalm(u);
u_dd:=map(h->diff(h,t,t),u): evalm(u_dd);
v:=<z(t),alpha(t),beta(t)>;
v_dd:=map(h->diff(h,t,t),v): evalm(v_dd);
lambda:=<seq(delta_lambda[i](t),i=1..12)>: evalm(lambda);
sys:=[sys]:
X:=convert(<u_dd,v_dd,lambda>,Vector): evalm(X);
A:=NULL:
for eq in sys do
  L:=NULL:
  for c in X do
     L:=L,coeff(lhs(eq)-rhs(eq),c)
  od:
  A:=A,[L]:
od:
A:=Matrix([A]):
evalm(A);
Auu:=SubMatrix(A,1..12,1..12);
evalm(Auu);
Auv:=SubMatrix(A,1..12,13..15);
evalm(Auv);
Avv:=SubMatrix(A,13..15,13..15);
evalm(Avv);
Avu:=SubMatrix(A,13..15,1..12);
evalm(Avu);
tCu:=SubMatrix(A,1..12,16..27);
evalm(tCu);
tCv:=SubMatrix(A,13..15,16..27);
evalm(tCv);
Cu:=SubMatrix(A,16..27,1..12);
evalm(Cu);
Cv:=SubMatrix(A,16..27,13..15);
evalm(Cv);
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 12 Déc 2012 14:51    Sujet du message: Répondre en citant

On procède de même avec le membre de droite des équations (remplacer lhs par rhs).
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 12 Déc 2012 15:26    Sujet du message: Répondre en citant

OK.
Par contre, il me reste encore quelques soucis.

Problème 1:

La définition du système matriciel que j'utilisais été fausse. Lambda est remplacé par -lambda. Le système matriciel sous lequel j'essaye d'écrire mon système est alors le suivant :



Par contre, en mettant la même procédure que précédement et en changeant les composantes du vecteur lambda par -lambda, j'ai un problème apparemment avec la fonction coeff qui ne fonctionne plus.

Voilà la partie de code utilisé :

Code:

sys:=NULL:
for i to 4 do
eq_gamma_li[i]:=eval(eq_gamma_li[i]):sys:=sys,eq_gamma_li[i]:
eq_psi_li[i]:=eval(eq_psi_li[i]):sys:=sys,eq_psi_li[i]:
eq_phi_li[i]:=eval(eq_phi_li[i]):sys:=sys,eq_phi_li[i]:
od:
eq_z_li:=eval(eq_z_li):sys:=sys,eq_z_li:
eq_alpha_li:=eval(eq_alpha_li):sys:=sys,eq_alpha_li:
eq_beta_li:=eval(eq_beta_li):sys:=sys,eq_beta_li:
for i to 12 do
eq_liai_li_dd[i]:=eval(diff(lhs(eq_liai_li[i]),t)=diff(rhs(eq_liai_li[i]),t)):sys:=sys,eq_liai_li_dd[i]:
od:
u:=<delta_gamma[1](t),delta_psi[1](t),delta_phi[1](t),delta_gamma[2](t),delta_psi[2](t),delta_phi[2](t),delta_gamma[3](t),delta_psi[3](t),delta_phi[3](t),delta_gamma[4](t),delta_psi[4](t),delta_phi[4](t)>: evalm(u);
u_dd:=map(h->diff(h,t,t),u): evalm(u_dd);
v:=<z(t),alpha(t),beta(t)>;
v_dd:=map(h->diff(h,t,t),v): evalm(v_dd);
lambda:=<seq(-delta_lambda[i](t),i=1..12)>: evalm(lambda);
sys:=[sys]:
X:=convert(<u_dd,v_dd,lambda>,Vector): evalm(X);
A:=NULL:
for eq in sys do
  L:=NULL:
  for c in X do
     L:=L,coeff(lhs(eq)-rhs(eq),c)
  od:
  A:=A,[L]:
od:
A:=Matrix([A]):
evalm(A);


Voilà le message d'erreur que j'obtiens :

Code:

Error, invalid input: coeff received -delta_lambda[1](t), which is not valid for its 2nd argument, x


Problème 2 :
Il me reste encore à déterminer la partie de gauche du produit matriciel [Qqu+Bu; Qqv+Bv;D] (voir sur le système matriciel défini précédement). Est-ce que tu saurais comment je peux faire ?

L'idée je crois est de faire en gros les equations du système - les équations provenant du produit matriciel A*X puis remettre les termes qui restent dans le vecteur [Qqu+Bu; Qqv+Bv;D]. Ces temes devraient être composés de composantes du vecteur u, des composantes du vecteur dérivée de u et pareil pour v et sa dérivée.

J'espère avoir été clair.

Merci d'avance pour ton aide.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 13 Déc 2012 7:40    Sujet du message: Répondre en citant

Bonjour,

Essayez peut-être ceci :

Code:

> lambda:=<seq(delta_lambda[i](t),i=1..12)>: evalm(lambda);
  [delta_lambda[1](t), delta_lambda[2](t), delta_lambda[3](t),

        delta_lambda[4](t), delta_lambda[5](t), delta_lambda[6](t),

        delta_lambda[7](t), delta_lambda[8](t), delta_lambda[9](t),

        delta_lambda[10](t), delta_lambda[11](t), delta_lambda[12](t)

        ]

> X:=convert(<u2,v2,-lambda>,Vector): evalm(X);

  [ 2                      2                    2
  [d                      d                    d
  [--- delta_gamma[1](t), --- delta_psi[1](t), --- delta_phi[1](t),
  [  2                      2                    2
  [dt                     dt                   dt

         2                      2
        d                      d
        --- delta_gamma[2](t), --- delta_psi[2](t),
          2                      2
        dt                     dt

         2                    2
        d                    d
        --- delta_phi[2](t), --- delta_gamma[3](t),
          2                    2
        dt                   dt

         2                    2
        d                    d
        --- delta_psi[3](t), --- delta_phi[3](t),
          2                    2
        dt                   dt

         2                      2
        d                      d
        --- delta_gamma[4](t), --- delta_psi[4](t),
          2                      2
        dt                     dt

         2                    2         2             2
        d                    d         d             d
        --- delta_phi[4](t), --- z(t), --- alpha(t), --- beta(t),
          2                    2         2             2
        dt                   dt        dt            dt

        -delta_lambda[1](t), -delta_lambda[2](t), -delta_lambda[3](t),

        -delta_lambda[4](t), -delta_lambda[5](t), -delta_lambda[6](t),

        -delta_lambda[7](t), -delta_lambda[8](t), -delta_lambda[9](t),

        -delta_lambda[10](t), -delta_lambda[11](t),

                            ]
                            ]
        -delta_lambda[12](t)]
                            ]
                            ]

> A:=NULL:
> for eq in sys do
>   L:=NULL: M:=NULL:
>   for c in X do
>     L:=L,coeff(lhs(eq)-rhs(eq),`if`(sign(c)>0,c,-c))
>   od:
>   A:=A,[L]:
> od:
> A:=Matrix([A]):
> evalm(A);

Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 13 Déc 2012 12:26    Sujet du message: Répondre en citant

Merci pour votre aide.
Je n'ai maintenant plus de message d'erreur avec la fonction coeff mais le résultat est bizarrement inchangé. J'ai toujours un problème de signe au niveau de ma matrice A avec tCu qui est bien la transposée de Cu mais avec un signe près.

Code:
sys:=NULL:
for i to 4 do
eq_gamma_li[i]:=eval(eq_gamma_li[i]):sys:=sys,eq_gamma_li[i]:
eq_psi_li[i]:=eval(eq_psi_li[i]):sys:=sys,eq_psi_li[i]:
eq_phi_li[i]:=eval(eq_phi_li[i]):sys:=sys,eq_phi_li[i]:
od:
eq_z_li:=eval(eq_z_li):sys:=sys,eq_z_li:
eq_alpha_li:=eval(eq_alpha_li):sys:=sys,eq_alpha_li:
eq_beta_li:=eval(eq_beta_li):sys:=sys,eq_beta_li:
for i to 12 do
eq_liai_li_dd[i]:=eval(diff(lhs(eq_liai_li[i]),t)=diff(rhs(eq_liai_li[i]),t)):sys:=sys,eq_liai_li_dd[i]:
od:
u:=<delta_gamma[1](t),delta_psi[1](t),delta_phi[1](t),delta_gamma[2](t),delta_psi[2](t),delta_phi[2](t),delta_gamma[3](t),delta_psi[3](t),delta_phi[3](t),delta_gamma[4](t),delta_psi[4](t),delta_phi[4](t)>: evalm(u);
u_dd:=map(h->diff(h,t,t),u): evalm(u_dd);
v:=<z(t),alpha(t),beta(t)>;
v_dd:=map(h->diff(h,t,t),v): evalm(v_dd);
lambda:=<seq(delta_lambda[i](t),i=1..12)>: evalm(lambda);
sys:=[sys]:
X:=convert(<u_dd,v_dd,-lambda>,Vector): evalm(X);
A:=NULL:
for eq in sys do
  L:=NULL:
  for c in X do
     L:=L,coeff(lhs(eq)-rhs(eq),`if`(sign(c)>0,c,-c))
  od:
  A:=A,[L]:
od:
A:=Matrix([A]):
evalm(A);
Auu:=SubMatrix(A,1..12,1..12);
evalm(Auu);
Auv:=SubMatrix(A,1..12,13..15);
evalm(Auv);
Avv:=SubMatrix(A,13..15,13..15);
evalm(Avv);
Avu:=SubMatrix(A,13..15,1..12);
evalm(Avu);
tCu:=SubMatrix(A,1..12,16..27);
evalm(tCu);
tCv:=SubMatrix(A,13..15,16..27);
evalm(tCv);
Cu:=SubMatrix(A,16..27,1..12);
evalm(Cu);
Cv:=SubMatrix(A,16..27,13..15);
evalm(Cv);



Pour rappel, voici mes équations (cette fois-ci dans le bon ordre)) :

Code:

> eq_gamma_li[1] := 2.663067837*(diff(delta_gamma[1](t), t, t))+1.715761422*(diff(delta_psi[1](t), t, t)) = 190.5753782*delta_gamma[1](t)+.4637616218*delta_lambda[1](t)+.2779924542*delta_lambda[2](t)+.6557684062*delta_lambda[3](t)+163.8826945*delta_psi[1](t): sys:=sys,eq_gamma_li[1]:
> eq_psi_li[1] := 1.715761422*(diff(delta_gamma[1](t), t, t))+1.471580007*(diff(delta_psi[1](t), t, t)) = 2.*10^(-8)+163.8826945*delta_gamma[1](t)+.4197585749*delta_lambda[1](t)+.2516157244*delta_lambda[2](t)+.5148145131*delta_lambda[3](t)+163.8826945*delta_psi[1](t): sys:=sys,eq_psi_li[1]:
> eq_phi_li[1] := 1.471580007*(diff(delta_phi[1](t), t, t)) = -1.*10^(-8)+.3651964504*delta_lambda[1](t)-.6092399112*delta_lambda[2](t)+163.8826945*delta_phi[1](t):sys:=sys,eq_phi_li[1]: 
> eq_gamma_li[2] := 2.663067837*(diff(delta_gamma[2](t), t, t))+1.715761422*(diff(delta_psi[2](t), t, t)) = 190.5753782*delta_gamma[2](t)+.4637616218*delta_lambda[4](t)-.2779924542*delta_lambda[5](t)+.6557684062*delta_lambda[6](t)+163.8826945*delta_psi[2](t):sys:=sys,eq_gamma_li[2]:
> eq_psi_li[2] := 1.715761422*(diff(delta_gamma[2](t), t, t))+1.471580007*(diff(delta_psi[2](t), t, t)) = 2.*10^(-8)+163.8826945*delta_gamma[2](t)+.4197585749*delta_lambda[4](t)-.2516157244*delta_lambda[5](t)+.5148145131*delta_lambda[6](t)+163.8826945*delta_psi[2](t): sys:=sys,eq_psi_li[2] : 
> eq_phi_li[2] := 1.471580007*(diff(delta_phi[2](t), t, t)) = 1.*10^(-8)-.3651964504*delta_lambda[4](t)-.6092399112*delta_lambda[5](t)+163.8826945*delta_phi[2](t):  sys:=sys,eq_phi_li[2]:
> eq_gamma_li[3] := 2.304829127*(diff(delta_gamma[3](t), t, t))+1.404485120*(diff(delta_psi[3](t), t, t)) = 117.5552310*delta_gamma[3](t)-.4474546196*delta_lambda[7](t)-.3681039486*delta_lambda[8](t)+.5084081649*delta_lambda[9](t)+102.9644119*delta_psi[3](t): sys:=sys,eq_gamma_li[3]:
> eq_psi_li[3] := 1.404485120*(diff(delta_gamma[3](t), t, t))+1.207266112*(diff(delta_psi[3](t), t, t)) = 102.9644119*delta_gamma[3](t)-.4078354088*delta_lambda[7](t)-.3355107262*delta_lambda[8](t)+.3674542718*delta_lambda[9](t)+102.9644119*delta_psi[3](t): sys:=sys,eq_psi_li[3]:
> eq_phi_li[3] := 1.207266112*(diff(delta_phi[3](t), t, t)) = -1.*10^(-8)-.4087355974*delta_lambda[7](t)+.4968450677*delta_lambda[8](t)+102.9644119*delta_phi[3](t): sys:=sys,eq_phi_li[3]:
> eq_gamma_li[4] := 2.304829127*(diff(delta_gamma[4](t), t, t))+1.404485120*(diff(delta_psi[4](t), t, t)) = 4.*10^(-8)+117.5552310*delta_gamma[4](t)-.4425623018*delta_lambda[10](t)+.3739716068*delta_lambda[11](t)+.5084081649*delta_lambda[12](t)+102.9644119*delta_psi[4](t) : sys:=sys,eq_gamma_li[4]:
> eq_psi_li[4] := 1.404485120*(diff(delta_gamma[4](t), t, t))+1.207266112*(diff(delta_psi[4](t), t, t)) = 6.*10^(-8)+102.9644119*delta_gamma[4](t)-.4033762741*delta_lambda[10](t)+.3408588412*delta_lambda[11](t)+.3674542718*delta_lambda[12](t)+102.9644119*delta_psi[4](t): sys:=sys,eq_psi_li[4]:
> eq_phi_li[4] := 1.207266112*(diff(delta_phi[4](t), t, t)) = .4152509331*delta_lambda[10](t)+.4914127313*delta_lambda[11](t)+102.9644119*delta_phi[4](t): sys:=sys,eq_phi_li[4]:
eq_z_li := -2.1590816*(diff(alpha(t), t, t))-0.608192e-1*(diff(beta(t), t, t))+292.4*(diff(z(t), t, t)) = -delta_lambda[3](t)-delta_lambda[6](t)-delta_lambda[9](t)-delta_lambda[12](t):sys:=sys,eq_z_li:
> eq_alpha_li := -2.1590816*(diff(z(t), t, t))+524.3121086*(diff(alpha(t), t, t))-0.7850911027e-2*(diff(beta(t), t, t)) = .1029250418*delta_lambda[3](t)+.1029250418*delta_lambda[6](t)-0.9267105835e-1*delta_lambda[9](t)-0.9165782425e-1*delta_lambda[12](t)-.706007*delta_lambda[1](t)-.706007*delta_lambda[4](t)-.706007*delta_lambda[7](t)-.706007*delta_lambda[10](t)-2954.959741*alpha(t)+0.26004840e-1*beta(t): sys:=sys,eq_alpha_li:
> eq_beta_li := -2.1590816*(diff(z(t), t, t))+524.3121086*(diff(alpha(t), t, t))-0.7850911027e-2*(diff(beta(t), t, t)) = -0.6169631900e-1*delta_lambda[3](t)+0.6169631900e-1*delta_lambda[6](t)+0.7623696572e-1*delta_lambda[9](t)-0.7745219980e-1*delta_lambda[12](t)+.706007*delta_lambda[2](t)+.706007*delta_lambda[5](t)+.706007*delta_lambda[8](t)+.706007*delta_lambda[11](t)+0.26004840e-1*alpha(t)-2977.819694*beta(t): sys:=sys,eq_beta_li:
> eq_liai_li_dd[1] := -.706007*(diff(alpha(t), t, t))+.4637616218*(diff(delta_gamma[1](t), t, t))+.3651964504*(diff(delta_phi[1](t), t, t))+.4197585749*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[1] : 
> eq_liai_li_dd[2] := .706007*(diff(beta(t), t, t))+.2779924542*(diff(delta_gamma[1](t), t, t))-.6092399112*(diff(delta_phi[1](t), t, t))+.2516157244*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[2]:
> eq_liai_li_dd[3] := .1029250418*(diff(alpha(t), t, t))-0.6169631900e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.6557684062*(diff(delta_gamma[1](t), t, t))+.5148145131*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[3]:
> eq_liai_li_dd[4] := -.706007*(diff(alpha(t), t, t))+.4637616218*(diff(delta_gamma[2](t), t, t))-.3651964504*(diff(delta_phi[2](t), t, t))+.4197585749*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[4]: 
> eq_liai_li_dd[5] := .706007*(diff(beta(t), t, t))-.2779924542*(diff(delta_gamma[2](t), t, t))-.6092399112*(diff(delta_phi[2](t), t, t))-.2516157244*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[5]:
> eq_liai_li_dd[6] := .1029250418*(diff(alpha(t), t, t))+0.6169631900e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.6557684062*(diff(delta_gamma[2](t), t, t))+.5148145131*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[6]:
> eq_liai_li_dd[7] := -.706007*(diff(alpha(t), t, t))-.4474546196*(diff(delta_gamma[3](t), t, t))-.4087355974*(diff(delta_phi[3](t), t, t))-.4078354088*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[7]:
> eq_liai_li_dd[8] := .706007*(diff(beta(t), t, t))-.3681039486*(diff(delta_gamma[3](t), t, t))+.4968450677*(diff(delta_phi[3](t), t, t))-.3355107262*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[8]:
> eq_liai_li_dd[9] := -0.9267105835e-1*(diff(alpha(t), t, t))+0.7623696572e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.5084081649*(diff(delta_gamma[3](t), t, t))+.3674542718*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[9]:
> eq_liai_li_dd[10] := -.706007*(diff(alpha(t), t, t))-.4425623018*(diff(delta_gamma[4](t), t, t))+.4152509331*(diff(delta_phi[4](t), t, t))-.4033762741*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[10]:
> eq_liai_li_dd[11] := .706007*(diff(beta(t), t, t))+.3739716068*(diff(delta_gamma[4](t), t, t))+.4914127313*(diff(delta_phi[4](t), t, t))+.3408588412*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[11]:
> eq_liai_li_dd[12] := -0.9165782425e-1*(diff(alpha(t), t, t))-0.7745219980e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.5084081649*(diff(delta_gamma[4](t), t, t))+.3674542718*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[12]:
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 13 Déc 2012 14:11    Sujet du message: Répondre en citant

Bonjour,

En reprenant votre dernier code, j'ai une erreur à cause de la ligne:

eq_liai_li_dd[i]:=eval(diff(lhs(eq_liai_li[i]),t)=diff(rhs(eq_liai_li[i]),t)):sys:=sys,eq_liai_li_dd[i]:

Error, invalid input: lhs received eq_liai_li[1], which is not valid for its 1st argument, expr

S'il vous plait, pourriez-vous remettre l'ensemble du code dans l'ordre, en tenant compte des remarques déjà formulées, et sans erreur (car là vous avez changé me semble-t-il certaines notations, comme eq_liai_li) car sinon, je ne m'y retrouve plus.

Merci.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 13 Déc 2012 15:45    Sujet du message: Répondre en citant

Bien sur.
Désolé pour mon manque de clarté.
Voilà l'ensemble du code fonctionnant :

Code:

with(LinearAlgebra):
sys:=NULL:
eq_gamma_li[1] := 2.663067837*(diff(delta_gamma[1](t), t, t))+1.715761422*(diff(delta_psi[1](t), t, t)) = 190.5753782*delta_gamma[1](t)+.4637616218*delta_lambda[1](t)+.2779924542*delta_lambda[2](t)+.6557684062*delta_lambda[3](t)+163.8826945*delta_psi[1](t): sys:=sys,eq_gamma_li[1]:
eq_psi_li[1] := 1.715761422*(diff(delta_gamma[1](t), t, t))+1.471580007*(diff(delta_psi[1](t), t, t)) = 2.*10^(-8)+163.8826945*delta_gamma[1](t)+.4197585749*delta_lambda[1](t)+.2516157244*delta_lambda[2](t)+.5148145131*delta_lambda[3](t)+163.8826945*delta_psi[1](t): sys:=sys,eq_psi_li[1]:
eq_phi_li[1] := 1.471580007*(diff(delta_phi[1](t), t, t)) = -1.*10^(-8)+.3651964504*delta_lambda[1](t)-.6092399112*delta_lambda[2](t)+163.8826945*delta_phi[1](t):sys:=sys,eq_phi_li[1]: 
eq_gamma_li[2] := 2.663067837*(diff(delta_gamma[2](t), t, t))+1.715761422*(diff(delta_psi[2](t), t, t)) = 190.5753782*delta_gamma[2](t)+.4637616218*delta_lambda[4](t)-.2779924542*delta_lambda[5](t)+.6557684062*delta_lambda[6](t)+163.8826945*delta_psi[2](t):sys:=sys,eq_gamma_li[2]:
eq_psi_li[2] := 1.715761422*(diff(delta_gamma[2](t), t, t))+1.471580007*(diff(delta_psi[2](t), t, t)) = 2.*10^(-8)+163.8826945*delta_gamma[2](t)+.4197585749*delta_lambda[4](t)-.2516157244*delta_lambda[5](t)+.5148145131*delta_lambda[6](t)+163.8826945*delta_psi[2](t): sys:=sys,eq_psi_li[2] : 
eq_phi_li[2] := 1.471580007*(diff(delta_phi[2](t), t, t)) = 1.*10^(-8)-.3651964504*delta_lambda[4](t)-.6092399112*delta_lambda[5](t)+163.8826945*delta_phi[2](t):  sys:=sys,eq_phi_li[2]:
eq_gamma_li[3] := 2.304829127*(diff(delta_gamma[3](t), t, t))+1.404485120*(diff(delta_psi[3](t), t, t)) = 117.5552310*delta_gamma[3](t)-.4474546196*delta_lambda[7](t)-.3681039486*delta_lambda[8](t)+.5084081649*delta_lambda[9](t)+102.9644119*delta_psi[3](t): sys:=sys,eq_gamma_li[3]:
eq_psi_li[3] := 1.404485120*(diff(delta_gamma[3](t), t, t))+1.207266112*(diff(delta_psi[3](t), t, t)) = 102.9644119*delta_gamma[3](t)-.4078354088*delta_lambda[7](t)-.3355107262*delta_lambda[8](t)+.3674542718*delta_lambda[9](t)+102.9644119*delta_psi[3](t): sys:=sys,eq_psi_li[3]:
eq_phi_li[3] := 1.207266112*(diff(delta_phi[3](t), t, t)) = -1.*10^(-8)-.4087355974*delta_lambda[7](t)+.4968450677*delta_lambda[8](t)+102.9644119*delta_phi[3](t): sys:=sys,eq_phi_li[3]:
eq_gamma_li[4] := 2.304829127*(diff(delta_gamma[4](t), t, t))+1.404485120*(diff(delta_psi[4](t), t, t)) = 4.*10^(-8)+117.5552310*delta_gamma[4](t)-.4425623018*delta_lambda[10](t)+.3739716068*delta_lambda[11](t)+.5084081649*delta_lambda[12](t)+102.9644119*delta_psi[4](t) : sys:=sys,eq_gamma_li[4]:
eq_psi_li[4] := 1.404485120*(diff(delta_gamma[4](t), t, t))+1.207266112*(diff(delta_psi[4](t), t, t)) = 6.*10^(-8)+102.9644119*delta_gamma[4](t)-.4033762741*delta_lambda[10](t)+.3408588412*delta_lambda[11](t)+.3674542718*delta_lambda[12](t)+102.9644119*delta_psi[4](t): sys:=sys,eq_psi_li[4]:
eq_phi_li[4] := 1.207266112*(diff(delta_phi[4](t), t, t)) = .4152509331*delta_lambda[10](t)+.4914127313*delta_lambda[11](t)+102.9644119*delta_phi[4](t): sys:=sys,eq_phi_li[4]:
eq_z_li := -2.1590816*(diff(alpha(t), t, t))-0.608192e-1*(diff(beta(t), t, t))+292.4*(diff(z(t), t, t)) = -delta_lambda[3](t)-delta_lambda[6](t)-delta_lambda[9](t)-delta_lambda[12](t):sys:=sys,eq_z_li: eq_alpha_li := -2.1590816*(diff(z(t), t, t))+524.3121086*(diff(alpha(t), t, t))-0.7850911027e-2*(diff(beta(t), t, t)) = .1029250418*delta_lambda[3](t)+.1029250418*delta_lambda[6](t)-0.9267105835e-1*delta_lambda[9](t)-0.9165782425e-1*delta_lambda[12](t)-.706007*delta_lambda[1](t)-.706007*delta_lambda[4](t)-.706007*delta_lambda[7](t)-.706007*delta_lambda[10](t)-2954.959741*alpha(t)+0.26004840e-1*beta(t): sys:=sys,eq_alpha_li:
eq_beta_li := -2.1590816*(diff(z(t), t, t))+524.3121086*(diff(alpha(t), t, t))-0.7850911027e-2*(diff(beta(t), t, t)) = -0.6169631900e-1*delta_lambda[3](t)+0.6169631900e-1*delta_lambda[6](t)+0.7623696572e-1*delta_lambda[9](t)-0.7745219980e-1*delta_lambda[12](t)+.706007*delta_lambda[2](t)+.706007*delta_lambda[5](t)+.706007*delta_lambda[8](t)+.706007*delta_lambda[11](t)+0.26004840e-1*alpha(t)-2977.819694*beta(t): sys:=sys,eq_beta_li:
eq_liai_li_dd[1] := -.706007*(diff(alpha(t), t, t))+.4637616218*(diff(delta_gamma[1](t), t, t))+.3651964504*(diff(delta_phi[1](t), t, t))+.4197585749*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[1] : 
eq_liai_li_dd[2] := .706007*(diff(beta(t), t, t))+.2779924542*(diff(delta_gamma[1](t), t, t))-.6092399112*(diff(delta_phi[1](t), t, t))+.2516157244*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[2]:
eq_liai_li_dd[3] := .1029250418*(diff(alpha(t), t, t))-0.6169631900e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.6557684062*(diff(delta_gamma[1](t), t, t))+.5148145131*(diff(delta_psi[1](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[3]:
eq_liai_li_dd[4] := -.706007*(diff(alpha(t), t, t))+.4637616218*(diff(delta_gamma[2](t), t, t))-.3651964504*(diff(delta_phi[2](t), t, t))+.4197585749*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[4]: 
eq_liai_li_dd[5] := .706007*(diff(beta(t), t, t))-.2779924542*(diff(delta_gamma[2](t), t, t))-.6092399112*(diff(delta_phi[2](t), t, t))-.2516157244*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[5]:
eq_liai_li_dd[6] := .1029250418*(diff(alpha(t), t, t))+0.6169631900e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.6557684062*(diff(delta_gamma[2](t), t, t))+.5148145131*(diff(delta_psi[2](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[6]:
eq_liai_li_dd[7] := -.706007*(diff(alpha(t), t, t))-.4474546196*(diff(delta_gamma[3](t), t, t))-.4087355974*(diff(delta_phi[3](t), t, t))-.4078354088*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[7]:
eq_liai_li_dd[8] := .706007*(diff(beta(t), t, t))-.3681039486*(diff(delta_gamma[3](t), t, t))+.4968450677*(diff(delta_phi[3](t), t, t))-.3355107262*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[8]:
eq_liai_li_dd[9] := -0.9267105835e-1*(diff(alpha(t), t, t))+0.7623696572e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.5084081649*(diff(delta_gamma[3](t), t, t))+.3674542718*(diff(delta_psi[3](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[9]:
eq_liai_li_dd[10] := -.706007*(diff(alpha(t), t, t))-.4425623018*(diff(delta_gamma[4](t), t, t))+.4152509331*(diff(delta_phi[4](t), t, t))-.4033762741*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[10]:
eq_liai_li_dd[11] := .706007*(diff(beta(t), t, t))+.3739716068*(diff(delta_gamma[4](t), t, t))+.4914127313*(diff(delta_phi[4](t), t, t))+.3408588412*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[11]:
eq_liai_li_dd[12] := -0.9165782425e-1*(diff(alpha(t), t, t))-0.7745219980e-1*(diff(beta(t), t, t))-(diff(z(t), t, t))+.5084081649*(diff(delta_gamma[4](t), t, t))+.3674542718*(diff(delta_psi[4](t), t, t)) = 0: sys:=sys,eq_liai_li_dd[12]:
sys:=[sys]: 
u:=<delta_gamma[1](t),delta_psi[1](t),delta_phi[1](t),delta_gamma[2](t),delta_psi[2](t),delta_phi[2](t),delta_gamma[3](t),delta_psi[3](t),delta_phi[3](t),delta_gamma[4](t),delta_psi[4](t),delta_phi[4](t)>: evalm(u);
u_dd:=map(h->diff(h,t,t),u): evalm(u_dd);
v:=<z(t),alpha(t),beta(t)>;
v_dd:=map(h->diff(h,t,t),v): evalm(v_dd);
lambda:=<seq(delta_lambda[i](t),i=1..12)>: evalm(lambda);
X:=convert(<u_dd,v_dd,-lambda>,Vector): evalm(X);
A:=NULL:
  for eq in sys do
    L:=NULL:
    for c in X do
      L:=L,coeff(lhs(eq)-rhs(eq),`if`(sign(c)>0,c,-c))
    od:
    A:=A,[L]:
od:
A:=Matrix([A]):
evalm(A);
Auu:=SubMatrix(A,1..12,1..12);
evalm(Auu);
Auv:=SubMatrix(A,1..12,13..15);
evalm(Auv);
Avv:=SubMatrix(A,13..15,13..15);
evalm(Avv);
Avu:=SubMatrix(A,13..15,1..12);
evalm(Avu);
tCu:=SubMatrix(A,1..12,16..27);
evalm(tCu);
tCv:=SubMatrix(A,13..15,16..27);
evalm(tCv);
Cu:=SubMatrix(A,16..27,1..12);
evalm(Cu);
Cv:=SubMatrix(A,16..27,13..15);
evalm(Cv);


A est "presque" symétrique.
Le soucis est maintenant simplement un problème de signe où tCu n'est pas encore la transposée de Cu au signe près.
La fonction coeff ne renvoie pas d'erreur mais n'a pas rempli son rôle au niveau des signes...

J'espère que celà sera plus clair.
Merci encore pour votre aide.
Et n'hésitez pas à me demander les précisions nécessaires.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 14 Déc 2012 7:44    Sujet du message: Répondre en citant

Bonjour,
Je pense avoir résolu le problème de signe: il faut modidier la ligne

Code:

>  L:=L,coeff(lhs(eq)-rhs(eq),`if`(sign(c)>0,c,-c))


en:

Code:

>  L:=L,sign(c)*coeff(lhs(eq)-rhs(eq),`if`(sign(c)>0,c,-c))


Maintenant, apparaissent bien les 2 matrices Cu et Cv et leurs transposées.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en analyse Toutes les heures sont au format GMT + 2 Heures
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.