Matlab refuse de calculer une limite
Bonjour,
J'ai une fonction $f$ de la variable $x$ ainsi que de trois paramètres $a$, $b$ et $c$. Je voudrais calculer la limite de cette fonction quand $x$ tend vers $0$, pour différentes valeurs des paramètres. Du coup, pour $a$, $b$ et $c$ fixés, je tape:
Le souci c'est que pour certaines valeurs des paramètres, Matlab refuse de calculer la limite. Pire: c'est le cas même à un endroit où la fonction est définie. Concrètement:
je définis ma fonction symbolique:
mais c'est la dérivée (non définie pour $x=0$) qui m'intéresse:
bon exemple:
mauvais exemple:
mais
Merci pour votre aide.
J'ai une fonction $f$ de la variable $x$ ainsi que de trois paramètres $a$, $b$ et $c$. Je voudrais calculer la limite de cette fonction quand $x$ tend vers $0$, pour différentes valeurs des paramètres. Du coup, pour $a$, $b$ et $c$ fixés, je tape:
limit(f(x, a, b, c), x, 0, 'right'))
Le souci c'est que pour certaines valeurs des paramètres, Matlab refuse de calculer la limite. Pire: c'est le cas même à un endroit où la fonction est définie. Concrètement:
je définis ma fonction symbolique:
syms f(x, a, b, c) f(x,a, b, c) = ((x./(2*(1+a.*tanh(x*b).*tanh(x*c)))).* (tanh(x*b)+tanh(x*c) + x.^2.*(tanh(x*b)+a.*tanh(x*c)) - ((tanh(x*b)+tanh(x*c) + x.^2.*(tanh(x*b)+a.*tanh(x*c))).^2 - 4.*tanh(x*b).*tanh(x*c).* (1-a).*(1+a.*tanh(x*b).*tanh(x*c)).*(1+x.^2)).^0.5)).^0.5;
mais c'est la dérivée (non définie pour $x=0$) qui m'intéresse:
g = diff(f,x);
bon exemple:
double(limit(g(x, 0.3, 5, 5), x, 0, ‘right’) ans = 1.5038
mauvais exemple:
g(0.1, 0.3, 5, 10) ans = 1.4914
mais
double(limit(g(x, 0.3, 5, 10), x, 0.1, ‘right’) ans = limit(((tanh(5*x) + tanh(10*x) - …
Merci pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Chez moi, avec Matlab R2019b, après avoir réparé apostrophes et parenthèses, ta dernière expression donne $1.498219853270591$.
Cordialement,
Rescassol
Merci beaucoup en tout cas!
Cordialement