[Maxima] Subtituer plusieurs valeurs en même temps

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.

[Maxima] Subtituer plusieurs valeurs en même temps

Messagepar michelw » Mercredi 31 Octobre 2007, 21:52

Comment faire pour replacer plusieurs variables à la fois dans une fonction:
J'ai la fonction:
D:E*h^3/(12*(1-nu^2));
$\frac{{h}^{3}\,E}{12\,\left( 1-{\nu}^{2}\right) }$
Je sais substituer une valeur avec:
subst(0.25,h,D)
Mais comment faire pour substituer en même temps h,E et nu pour évaluer en une ligne D
Si vous savez faire je suis preneur merci
michelw
Déca-utilisateur
 
Messages: 15
Inscription: Mercredi 12 Septembre 2007, 20:00
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: [Maxima] Subtituer plusieurs valeurs en même temps

Messagepar Arnaud » Mercredi 31 Octobre 2007, 22:32

Je ne sais pas si il existe une commande, mais en programmation la solution la plus simple est d'imbriquer la commande :

subst(0.25,h,subst(1,E,D));
Arnaud

Un peu d'info - Pyromaths
LaTeX - Exemples de formules LaTeX

Pas d'aide en MP (non plus)
Arnaud
Modérateur
 
Messages: 7115
Inscription: Lundi 28 Août 2006, 12:18
Localisation: Allemagne
Statut actuel: Actif et salarié | Enseignant

Re: [Maxima] Subtituer plusieurs valeurs en même temps

Messagepar gigiair » Mercredi 31 Octobre 2007, 23:39

On peut se construire une fonction qui effectue le travail en une seule fois
Code: Tout sélectionner
/* msubst effectue une substitution multiple dans une expression.*/
msubst(lst,expr):=block([e:expr],for s in lst do e:subst(s[1],s[2],e),return(e)) ;
/* test */
msubst([[a,d],[b,e],[c,f]],d**e+e**d+f**f) ;
D:E*h^3/(12*(1-nu^2));
(%i35) msubst([[3,h],[4,E],[5,nu]],D);
               3
(%o35)           - -
               8

Juste une question : Pourquoi ne pas utiliser tout simplement le mécanisme de liaison des fonctions ?
Code: Tout sélectionner
(%i12) D(h,E,nu):=E*h^3/(12*(1-nu^2));
(%i13) D(3,4,5);
               3
(%o13)       - -
               8
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2395
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: [Maxima] Subtituer plusieurs valeurs en même temps

Messagepar michelw » Jeudi 01 Novembre 2007, 09:34

Je vais utiliser le mécanisme de liaison des fonctions que vous proposez. Je ne le connaissais pas. J'ai trouvé avec quelques difficultés des tutoriels sur maxima, mais ceux ci expliquent surtout les fonctions mathématiques et très peu les manipulations propre à Maxima. De plus c'est le seul logiciel de maths que j'ai employé ce qui peut éventuellement expliquer mes questions basiques et mes erreurs fréquentes. En tout cas je vous remercie pour votre aide.
michelw
Déca-utilisateur
 
Messages: 15
Inscription: Mercredi 12 Septembre 2007, 20:00
Statut actuel: Actif et salarié | Enseignant

Re: [Maxima] Subtituer plusieurs valeurs en même temps

Messagepar gigiair » Jeudi 01 Novembre 2007, 09:57

Il existe des tutoriels sur Maxima sur le site de Maxima, mais c'est vrai que la documentation est assez pénible. C'est dommage, car maxima est un excellent logiciel, facile à programmer.
Il ne faut pas hésiter à poser des questions ici, mais quand on pose un problème, il faut éviter d'amorcer la solution, car cela empêche parfois de présenter les solutions les plus intéressantes.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2395
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié


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 1 invité