Résolution d'équations avec Maxima

Tout ce qui concerne les différents logiciels mathématiques (Matlab, Maxima, Scilab, R, Maple, Mathematica, ...) et les calculatrices scientifiques.
Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.
> Préciser le nom du logiciel concerné dans le titre de votre message.

Résolution d'équations avec Maxima

Messagepar mayonaise » Samedi 28 Mai 2011, 17:13

Bonjour à tous,

J'essaie de résoudre l'équation suivante (avec une tentative de résolution exprimée en langage maxima) :

Code: Tout sélectionner
solve(h=(16.3613*(-0.0066*p*(d-w)*(1+0.00115*d)+6.112*e^((17.67*w)/(w+243.5))))/((e^((17.67*d)/(d+243.5)))*100),w);


Et souhaite exprimer w en fonction des autres variables, mais je me heurte à un problème, c'est que la solution m'est donnée en gardant une exponentielle contenant w en variable. J'ai donc w=f(h,p,d,w) et je voudrais w=f(h,p,d). Je suis tout nouvel utilisateur de Maxima, probablement ne l’utilisé-je pas comme il faut, mais je sèche et j'aurais besoin d'aide s'il vous plait. Cette équation est-elle résolvable ?

Si c'est résolvable, quelle fonction me suggérez-vous d'utiliser à la place de "solve" ?
Le cas échéant, MAXIMA peut-il me donner une formule approchée me donnant une erreur max que je peux fixer pour une plage que je fixerai pour chaque variable ? Si oui, quelle fonction peut faire cela ?

Merci et bonne journée,
Mayonaise
mayonaise
Utilisateur
 
Messages: 2
Inscription: Samedi 28 Mai 2011, 17:00
Statut actuel: Actif et salarié

Publicité

Re: Résolution d'équations avec Maxima

Messagepar projetmbc » Dimanche 29 Mai 2011, 10:31

Bonjour,
je viens d'essayer avvec wxMaxima
Code: Tout sélectionner
solve([16.3613*(-0.0066*p*(d-w)*(1+0.00115*d)+6.112*exp((17.67*w)/(w+243.5)))/(exp((17.67*d)/(d+243.5))*100)], [w]);

et j'obtiens aussi
Code: Tout sélectionner
[w=-(611200000*%e^((1767*w)/(100*w+24350))-759*d^2*p-660000*d*p)/(759*d*p+660000*p)]


Les logiciels de calcul formel ne sont pas des magiciens, ils ne savent pas tout résoudre. Il faudrait voir ce que renvoie Mathematica.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Résolution d'équations avec Maxima

Messagepar projetmbc » Dimanche 29 Mai 2011, 10:32

Bonjour,
je viens d'essayer avvec wxMaxima
Code: Tout sélectionner
solve([16.3613*(-0.0066*p*(d-w)*(1+0.00115*d)+6.112*exp((17.67*w)/(w+243.5)))/(exp((17.67*d)/(d+243.5))*100)], [w]);

et j'obtiens aussi
Code: Tout sélectionner
[w=-(611200000*%e^((1767*w)/(100*w+24350))-759*d^2*p-660000*d*p)/(759*d*p+660000*p)]


Les logiciels de calcul formel ne sont pas des magiciens, ils ne savent pas tout résoudre. Il faudrait voir ce que font Mathematica, XCas,... avec des équations du type w+a+b*exp(w/(c*w+d)).
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Résolution d'équations avec Maxima

Messagepar projetmbc » Dimanche 29 Mai 2011, 11:08

Avec XCas, on obtient un message indiquant qu'il ne sait pas faire :
Code: Tout sélectionner
"Unable to isolate w in w+a+b*exp(w/(c*w+d))"

C'est mieux. Quoique... On obtient le même message pour l'équation exp(w)-exp(w**2) = 0.

Si le formel ne marche pas, il faut passer au numérique.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Résolution d'équations avec Maxima

Messagepar kojak » Dimanche 29 Mai 2011, 13:52

projetmbc a écrit: On obtient le même message pour l'équation exp(w)-exp(w**2) = 0.


Il suffit de lui donner un petit coup de main pour cette dernière.

Code: Tout sélectionner
a:=lin(exp(w)/exp(w^2))

solve(a=1,w)
pas d'aide par MP
kojak
Modérateur
 
Messages: 10390
Inscription: Samedi 18 Novembre 2006, 19:50
Statut actuel: Actif et salarié | Enseignant

Re: Résolution d'équations avec Maxima

Messagepar mayonaise » Lundi 30 Mai 2011, 11:01

Bonjour à tous et merci pour vos interventions.

J'avoue bien humblement ne pas être au fait des logiciels de calcul formel. J'en ai vu une fois une démonstration (Mathématica) à l'école et j'ai quelquefois utilisé son moteur pour trouver des solutions grâce à wolfram|alpha, mais la version en ligne semble refuser les calculs trop gourmands en ressources et c'est la raison pour laquelle j'ai installé wxMaxima. Je suis intimement convaincu de prendre un formule 1 pour aller acheter mon pain, mais je ne savais pas trop par quel bout attaquer cette équation.

Donc, oui, je comptais un peu (trop ?) sur le fait que ce logiciel soit un magicien... Mais je voulais surtoût éviter une résolution manuelle qui outre le fait que je ne sais pas résoudre ce cas-ci me semble aussi être source d'erreurs possibles...

Mais je suis prêt à admettre que l'équation est insoluble formellement (cependant, elle me semble être linéaire non ? Une fonction linéaire est pour moi une fonction dont une sortie donne une seule entrée possible et dérivable en tout point et je pensais que c'était forcément soluble). Dans ce cas, je pense remplacer l'expression exp((17.67*w)/(w+243.5)) par un polynome dont le résultat ne s'éloigne pas de plus de l'équivalent d'une variation de 0.1 de w (précision avec laquelle je le mesure et l'exprime) de la valeur de mon expression initiale dans la plage qui m'intéresse (0-100) grâce à un développement de Taylor. Qu'en dites-vous ? Ce n'est pas très élégant, mais ça a le mérite d'être fonctionnel... Dois-je définir mon point de développement et le degré du polynôme que je lui demande par approches successives ou existe-t-il une astuce me permettant d'optimiser le choix du point de développement et le degré du polynôme ?

Pour ce qui est de la fonction lin(), j'ai un message d'erreur me disant :
Code: Tout sélectionner
/* [wxMaxima: input   start ] */
a:=lin(exp(w)/exp(w^2))

solve(a=1,w);
/* [wxMaxima: input   end   ] */
incorrect syntax: SOLVE is not an infix operator
(%i1) incorrect syntax: Too many )'s
(%i1) incorrect syntax: Premature termination of input at ;.

Elle n'existe pas dans l'aide de wxMaxima.

Merci encore pour vos interventions et bonne journée,
Mayonaise
mayonaise
Utilisateur
 
Messages: 2
Inscription: Samedi 28 Mai 2011, 17:00
Statut actuel: Actif et salarié

Re: Résolution d'équations avec Maxima

Messagepar kojak » Lundi 30 Mai 2011, 11:57

Bonjour,

kojak a écrit:
Code: Tout sélectionner
a:=lin(exp(w)/exp(w^2))

solve(a=1,w)


Cette syntaxe est la syntaxe Xcas, et à priori pas celle de Maxima, que je n'utilise plus.
pas d'aide par MP
kojak
Modérateur
 
Messages: 10390
Inscription: Samedi 18 Novembre 2006, 19:50
Statut actuel: Actif et salarié | Enseignant


Retourner vers Logiciels mathématiques

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités