Page 1 of 1

Problème avec la fonction solve

Unread postPosted: 08 Feb 2018, 20:58
by hermes
Bonjour,

J'ai un problème avec la fonction solve au sein d'un programme.
Je définis une équation de la forme
$mathjax$fonc = x^2 + h_1 a x + h_2 b$mathjax$
.
Les paramètres a et b sont (calculés par ?) des fonctions dont le programme est l'objet et avec des paramètres connus : je ne connais pas à l'avance leurs formes.
Les paramètres h1 et h2 sont stockés dans un vecteur : le programme est prévu pour fonctionner avec un ordre supérieur à 2 (je fais l'exemple avec un ordre 2) et génère le vecteur [h1 h2].
Je souhaite ensuite égaler fonc avec la forme canonique factorisée de l'équation
$mathjax$(x-c1)(x-c2)$mathjax$
, une fois les paramètres c1 et c2 connus.
Naïvement, je pensais m'en sortir avec quelque chose comme ça :
solve(fonc=(x-c1)(x-c2),mat▶list(h))
la fonction mat▶list(h) renvoyant bien une liste {h1 h2} mais n'est pas interprétée avec l'exécution du solve...

Si quelqu'un à des idées...

Hermès

Re: Problème avec la fonction solve

Unread postPosted: 08 Feb 2018, 21:05
by Hamza.S
salut,

la fonction accepte si tu écris les variables directement sinon il faut utiliser des chaînes de caractères et expr(...)
ça donne un truc du genre : expr("solve(fonc=(x-c1)(x-c2),"&string(mat▶list(h))&")"
(je ne sais pas si la syntaxe est bonne)

Re: Problème avec la fonction solve

Unread postPosted: 08 Feb 2018, 21:35
by hermes
c'est exactement ça
Merci