IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ MATLAB

FAQ MATLABConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 168, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireMathématiques

Il existe plusieurs cas de calcul d'intégrale :

Créé le 13 août 2014  par Jérôme Marsaguet

Lien : Calculate numeric and symbolic integrals

Il existe plusieurs cas de calcul de dérivée :

  • connaissant l'expression d'une fonction, on cherche à obtenir l'expression de sa dérivée. Ce calcul sous MATLAB nécessitera la Symbolic Math Toolbox et se fera avec la fonction diffDocumentation de la fonction diff :

     
    Sélectionnez
    >> syms t x
    >> diff(x*sin(t^2), t) % Dérivée selon la variable t
    
    ans =
     
    2*t*x*cos(t^2)
    
    >> diff(t^6, t, 3) % Dérivée troisième selon la variable t
     
    ans =
     
    120*t^3
  • possédant un tableau de valeurs représentant une courbe, on cherche à obtenir les valeurs de la dérivée. On utilisera alors la fonction MATLAB diffDocumentation de la fonction diff de base :

     
    Sélectionnez
    t = 0:0.01:2*pi;
    y = sin(t);
    dy = diff(y) ./ diff(t);

    Note : dans le cas d'un écart constant entre les échantillons, on peut remplacer le terme diff(t) par cet écart. Par exemple ici dy = diff(y) / 0.01;.

  • connaissant l'expression d'une fonction, on cherche à obtenir la valeur de la dérivée en un certain point. On pourra réutiliser le premier point sur lequel on appliquera la fonction subsDocumentation de la fonction subs :

     
    Sélectionnez
    syms t
    derivee = diff(t^6, t);
    subs(derivee, t, 1)

    Ou appliquer la formule de la dérivée Image non disponible avec h suffisamment petit.

Créé le 13 août 2014  par Jérôme Marsaguet

L'ajustement de courbe revient à estimer les paramètres d'un modèle théorique donné à partir de données expérimentales. Cette estimation s'effectue par la méthode des moindres carrés à l'aide de différentes fonctions MATLAB selon la nature du modèle :

Modèle linéaire

Les fonctions qui suivent nécessitent l'Optimization Toolbox.

Modèle linéaire, avec une contrainte de valeurs positives

Modèle linéaire avec contrainte

Modèle non-linéaire

Afin d'approximer une courbe par un polynôme, on pourra utiliser la fonction polyfitDocumentation de la fonction polyfit.

Créé le 13 août 2014  par Jérôme Marsaguet

Lien : Optimization Decision Table
Lien : Que représente le symbole @ ?

Pour effectuer une interpolation, il est d'abord nécessaire d'avoir une série d'éléments de référence de l'espace de départ pour laquelle les éléments correspondants de l'espace d'arrivée sont connus. Le but de l'interpolation est alors de se servir de ces données existantes afin de calculer de nouveaux éléments de correspondance suivant au mieux ce modèle.

En 1D, on utilisera la fonction interp1Documentation de la fonction interp1 qui propose les méthodes du plus proche voisin, linéaire, splines, cubique ainsi que l'extrapolation.

Pour des dimensions supérieures, on utilisera :

Créé le 13 août 2014  par Jérôme Marsaguet

Lien : Interpolating Gridded Data
Lien : Extrapolating Scattered Data

Numériquement, un système d'équations linéaires du style A.x = b pourra se résoudre à l'aide de l'opérateur \Documentation de l'opérateur \ (fonction mldivide) :

Image non disponible
 
Sélectionnez
x = A\b;

Si l'on souhaite trouver le zéro d'une fonction continue, on pourra utiliser la fonction fzeroDocumentation de la fonction fzero.

La fonction fsolveDocumentation de la fonction fsolve de l'Optimization Toolbox sera utilisée pour résoudre des équations non-linéaires.

Ces deux fonctions seront utilisées sensiblement de la même manière :

 
Sélectionnez
x0 = … % point de départ

fun = @fonction_a_annuler;
% ou si l'on souhaite faire passer des arguments : 
fun = @(x) fonction_a_annuler(x, <entrées supplémentaires>);

x = fsolve(fun, x0); % idem fzero

avec séparément la définition de la fonction fonction_a_annuler :

 
Sélectionnez
function r = fonction_a_annuler(x, <éventuels arguments supplémentaires>)
r = …

Enfin, de façon formelle on pourra utiliser la fonction solveDocumentation de la fonction solve de la Symbolic Math Toolbox. Celle-ci pourra s'utiliser de deux façons.

Exemple pour l'équation Image non disponible :

  • avec des chaînes de caractères :

     
    Sélectionnez
    sol = solve('a*x^2 + 2*x + c', 'x') % résolution selon la variable x
    subs(sol, {'a','c'}, {1 1}) % Solution pour a=1 et c=1
  • avec des variables symboliques :

     
    Sélectionnez
    syms a c x
    b = 2;
    sol = solve(a*x^2 + b*x + c, x)
    subs(sol, {a,c}, {1 1})
Créé le 13 août 2014  par Jérôme Marsaguet

Lien : Equation Solving - Solve algebraic and differential equations
Lien : Systems of Nonlinear Equations

Numériquement, on utilisera les fonctions ode que l'on choisira à l'aide du premier tableau ODE Solvers.

Vous pourrez trouver un minitutoriel dans cette discussion ainsi qu'une astuce dans le second message permettant de résoudre des équations d'ordres supérieurs à un.

De manière formelle, la fonction dsolveDocumentation de la fonction dsolve de la Symbolic Math Toolbox qui pourra s'utiliser de deux façons :

  • avec des chaînes de caractères, le « D » devant une variable signifiant « la dérivée de cette variable » :

     
    Sélectionnez
    dsolve('Dy == y + 1', 'x')
  • avec des variables symboliques :

     
    Sélectionnez
    syms y(x)
    dsolve(diff(y) == y + 1, x)
Créé le 13 août 2014  par Jérôme Marsaguet

Lien : Numerical Integration and Differential Equations
Lien : Equation Solving - Solve algebraic and differential equations

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007-2017 Developpez LLC Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.