ode_rk23 (fonction du module MathScript RT)

Aide du module LabVIEW 2012 MathScript RT

Date d'édition : June 2012

Numéro de référence : 373123C-0114

»Afficher les infos sur le produit
Télécharger l'aide (Windows uniquement)

Classe propriétaire : ode

Requiert : Module MathScript RT

Syntaxe

[t, y] = ode_rk23(fun, times, y0)

[t, y] = ode_rk23(fun, times, y0, options)

Ancien nom : ode23

Description

Utilise la résolution d'ÉDO par la méthode de Runge-Kutta d'ordre 23 pour déterminer les valeurs de y dans un système d'ÉDO. ode_rk23(fun, times, y0) utilise des paramètres par défaut ou des paramètres définis par odepset(name1, value1, ..., nameN, valueN) pour la résolution d'ÉDO. ode_rk23(fun, times, y0, options) utilise des paramètres spécifiés dans les options pour la résolution d'ÉDO.

Détails

Exemples

Entrées

Nom Description
fun Spécifie le nom de la fonction, définie et enregistrée dans un fichier .m, qui décrit le système d'ÉDO. La fonction doit avoir le format suivant : function dy = fun(times, y). fun est une chaîne.
times Spécifie le point de départ ou point final de l'intervalle de temps comme, par exemple, [0, 20], ou les points temporels, comme 1:20. times doit être strictement monotone et est un vecteur double précision réel.
y0 Spécifie la valeur y au temps de départ. y0 est un vecteur double précision réel.
options Spécifie les paramètres pour la résolution d'ÉDO. options est une structure qui contient les paramètres de la résolution d'ÉDO.

Sorties

Nom Description
t Renvoie les valeurs de temps auxquelles LabVIEW évalue les valeurs y. t est un vecteur double précision réel.
y Renvoie les valeurs y pour lesquelles LabVIEW calcule une approximation. y est une matrice de réels double précision.

Détails

Si vous spécifiez le temps de départ et le temps final de l'intervalle de temps dans times, LabVIEW ajuste automatiquement la taille de l'incrément de temps dans les calculs pour que l'erreur par incrément reste à une tolérance absolue et relative donnée. De même, si vous spécifiez les points temporels dans times, LabVIEW ajuste automatiquement la taille de l'incrément de temps pour obtenir un calcul plus précis. Cependant, LabVIEW ne renvoie que les valeurs y aux points que vous spécifiez et t est égal à times.

Cette fonction est supportée dans le moteur d'exécution de LabVIEW et sur les cibles RT si le fichier .m que vous avez défini et enregistré pour le paramètre fun est une constante chaîne.

Le tableau suivant répertorie les caractéristiques de support de cette fonction.

Supportée par le moteur d'exécution LabVIEW Oui (si vous demandez une sortie)
Supportée sur les cibles RT Oui (si vous demandez une sortie)
Compatible avec les durées d'exécution limitées sur RT Non caractérisée

Exemples

% The lorenz function is defined by:
% function DY = lorenz(times, y)
% DY = zeros(3, 1);
% DY(1) = 10*(y(2)-y(1));
% DY(2) = 28*y(1)-y(2)-y(1)*y(3);
% DY(3) = y(1)*y(2)-8/3*y(3);
[T, Y] = ode_rk23('lorenz', [0, 5], [1; 1; 1])

odepset('AbsTol', 1E-3, 'MinStep', 1E-8, 'MaxStep', 1)
[T2, Y2] = ode_rk23('lorenz', [0, 5], [1; 1; 1])

options = odepset
[T3, Y3] = ode_rk23('lorenz', [0, 5], [1; 1; 1], options)

CET ARTICLE VOUS A-T-IL ÉTÉ UTILE ?

Pas utile