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 

Maple 9 ne veut pas me resoudre un système simple !

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Autres questions
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
zozo



Inscrit le: 03 Jan 2013
Messages: 125

MessagePosté le: 16 Nov 2006 14:29    Sujet du message: Répondre en citant

Bonjour, pour moi ce n'est pas un système simple, mais bon...

En remplaçant la dernière ligne par:

solve(eqns,{theta,Ax,Ay,Bx,By,Cx,Cy});

j'ai obtenu un truc horrible à lire: il y a 3 solutions proposées dont seulement la dernière est exploitable:

op(3,[%]);

{Cy = 0., Ay = -4190.472677, theta = 1.538185391, Bx = 136.7036970,

Cx = 46.84245450, By = 4190.472677, Ax = -136.7036970}

Est-ce là la solution que vous expériez?
@+
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
zozo



Inscrit le: 03 Jan 2013
Messages: 125

MessagePosté le: 16 Nov 2006 15:10    Sujet du message: Répondre en citant

Cette info manquait effectivement, ce qui change tout.

Dans ce cas, je fais une boucle en faisant varier theta de 0 à 17*Pi/45 avec un certain pas (j'ai pris Pi/45).
Pour chaque valeur de theta, on résout le sytème de façon approchée avec fsolve, et on assigne le résultat obtenu que l'on complète dans une table des résultats qui contiendra les différentes valeurs [theta,Ax,Ay,Bx,By,Cx,Cy]

Ensuite, il suffira d'extraire les couples [theta,Ax], puis [theta,Ay] etc... jusqu'à [theta,Cy] puis représenter les courbes fAx, fAy, ... , fCy de Ax, Ay, ... Cy en fonction de theta.

Code:

#Déclaration du système
>  resultats:=NULL: theta:='theta':
>  for theta from 0 to evalf(17*Pi/45) by evalf(Pi/45) do
>    eqns:={Ax+Bx=0,Ay+By=0,Bx*Y1-By*X1=0,Cx-Bx-F*X2/L2=0,Cy-By+F*Y2/L2=0,Cx*Y2-Cy*X2-F*r=0}:
>    s:=fsolve(eqns,{Ax,Ay,Bx,By,Cx,Cy});
>    if s<>NULL then
>       assign(s):resultats:=resultats,[theta,Ax,Ay,Bx,By,Cx,Cy]:
>       Ax:='Ax':Ay:='Ay':Bx:='Bx':By:='By':Cx:='Cx':Cy:='Cy'
>    end if
>  od:
>  resultats:=[resultats];   
  resultats := [[0.06981317008, 411373.0744, 28766.00762,

        -411373.0744, -28766.00762, -405367.9340, -29197.54234], [

        0.1396263402, 414549.0062, 58261.06336, -414549.0062,

        -58261.06336, -408675.9880, -59109.55474], [0.2094395103,

        400985.7963, 85232.16219, -400985.7963, -85232.16219,

        -395273.3580, -86481.00779], [0.2792526804, 380155.3750,

        109007.7997, -380155.3750, -109007.7997, -374630.2938,

        -110638.5167], [0.3490658505, 354540.6131, 129042.2301,

        -354540.6131, -129042.2301, -349227.8679, -131034.6076], [

        0.4188790206, 325520.6317, 144931.1229, -325520.6317,

        -144931.1229, -320443.2981, -147263.3811], [0.4886921907,

        294185.3729, 156421.1375, -294185.3729, -156421.1375,

        -289364.5314, -159070.0924], [0.5585053608, 261516.3080,

        163413.5260, -261516.3080, -163413.5260, -256970.9662,

        -166354.7600], [0.6283185309, 228426.3750, 165961.4760,

        -228426.3750, -165961.4760, -224173.4030, -169169.5109], [

        0.6981317010, 195759.6656, 164261.8633, -195759.6656,

        -164261.8633, -191813.7461, -167710.3369], [0.7679448711,

        164278.1684, 158641.5832, -164278.1684, -158641.5832,

        -160651.7604, -162303.4271], [0.8377580412, 134645.9647,

        149539.4935, -134645.9647, -149539.4935, -131349.2820,

        -153387.1110], [0.9075712113, 107414.7861, 137484.6567,

        -107414.7861, -137484.6567, -104455.7887, -141490.1002], [

        0.9773843814, 83013.16098, 123072.0724, -83013.16098,

        -123072.0724, -80397.56137, -127207.2185], [1.047197551,

        61740.06714, 106936.9331, -61740.06714, -106936.9331,

        -59471.34955, -111173.6549], [1.117010721, 43763.51748,

        89728.50794, -43763.51748, -89728.50794, -41842.97047,

        -94038.84294], [1.186823891, 29124.16922, 72084.84831,

        -29124.16922, -72084.84831, -27550.93093, -76441.16093]]

> fAx:=[seq([resultats[k][1],resultats[k][2]],k=1..nops(resultats))];

  fAx := [[0.06981317008, 411373.0744], [0.1396263402, 414549.0062],

        [0.2094395103, 400985.7963], [0.2792526804, 380155.3750],

        [0.3490658505, 354540.6131], [0.4188790206, 325520.6317],

        [0.4886921907, 294185.3729], [0.5585053608, 261516.3080],

        [0.6283185309, 228426.3750], [0.6981317010, 195759.6656],

        [0.7679448711, 164278.1684], [0.8377580412, 134645.9647],

        [0.9075712113, 107414.7861], [0.9773843814, 83013.16098],

        [1.047197551, 61740.06714], [1.117010721, 43763.51748],

        [1.186823891, 29124.16922]]

> plot(fAx,style=line);

> fAy:=[seq([resultats[k][1],resultats[k][3]],k=1..nops(resultats))];

  fAy := [[0.06981317008, 28766.00762], [0.1396263402, 58261.06336],

        [0.2094395103, 85232.16219], [0.2792526804, 109007.7997],

        [0.3490658505, 129042.2301], [0.4188790206, 144931.1229],

        [0.4886921907, 156421.1375], [0.5585053608, 163413.5260],

        [0.6283185309, 165961.4760], [0.6981317010, 164261.8633],

        [0.7679448711, 158641.5832], [0.8377580412, 149539.4935],

        [0.9075712113, 137484.6567], [0.9773843814, 123072.0724],

        [1.047197551, 106936.9331], [1.117010721, 89728.50794],

        [1.186823891, 72084.84831]]

> plot(fAy,style=line);


etc... jusqu'à fCy de la même façon.
Est-ce que çà convient?
A+
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
zozo



Inscrit le: 03 Jan 2013
Messages: 125

MessagePosté le: 16 Nov 2006 15:43    Sujet du message: Répondre en citant

Comme on n'arrive pas à obtenir les formules explicites en fonction de theta, on aura du mal à les dériver, sauf peut etre par des méthodes d'approximation du style (f(x+h)-f(x))/h pour h très petit.
A+
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 -> Autres questions Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
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.