options = odeset()
options = odeset(nom, valeur)
options = odeset(anciennesOptions, nom, valeur)
odeset cree une structure d'options pour les solveurs EDO.
| Groupe | Options | Role |
|---|---|---|
| Tolerances | RelTol, AbsTol, NormControl | Controle l erreur adaptative. |
| Pas et sorties | InitialStep, MaxStep, MinStep, Refine, OutputFcn, OutputSel, Stats | Controle les pas publics, les callbacks de sortie et les statistiques. |
| Evenements et contraintes | Events, NonNegative | Localise les zeros et contraint certaines composantes. |
| Systemes raides | Mass, Jacobian, JPattern, JConstant, BDF, MaxOrder, MassSingular, MStateDependence, MvPattern | Donne des informations structurelles aux solveurs raides ou implicites. |
Les options courantes incluent RelTol, AbsTol, InitialStep, MaxStep, MinStep, Refine, Stats, Events, OutputFcn, OutputSel, NonNegative, Mass, Jacobian, JPattern, JConstant, BDF, MaxOrder, MassSingular, MStateDependence et MvPattern. Les options explicites de taille de pas doivent etre positives.
Quand l'intervalle de temps contient seulement deux valeurs, Refine ajoute des points de sortie dans chaque pas accepte. Avec des intervalles plus longs, les points de temps demandes definissent les points de sortie publics. OutputFcn est appelee sur ces points raffines ou demandes; retourner un scalaire true arrete l'integration au point de sortie courant. Stats a on affiche les compteurs de pas et d'evaluations. NormControl a on utilise une norme vectorielle dans le test d'erreur adaptatif. Vectorized a on autorise les appels vectorises du membre de droite pendant la construction du jacobien par differences finies. JPattern fournit le motif non nul utilise par les entrees raides et l'entree implicite quand un jacobien par differences finies est necessaire. JConstant a on reutilise le jacobien dans chaque pas lineairement implicite.
options = odeset('Refine', 4, 'MaxStep', 0.5);
[t, y] = ode45(@(t,y) y, [0 1], 1, options)
f = @(t,y) -1000 * (y - cos(t)) - sin(t);
options = odeset('Jacobian', -1000, 'Stats', 'on');
[t, y] = ode15s(f, [0 0.5], 1, options)
options = odeset('NormControl', 'on');
[t, y] = ode45(@(t,y) [y(1); -2*y(2)], [0 1], [1; 1], options)
pattern = [1 0; 0 1];
options = odeset('JPattern', pattern, 'Vectorized', 'on');
[t, y] = ode15s(@(t,y) [-10*y(1,:); -20*y(2,:)], [0 0.2], [1; 2], options)
options = odeset('Jacobian', -25, 'JConstant', 'on');
[t, y] = ode15s(@(t,y) -25*y, [0 0.2], 1, options)
out = @(t,y,flag) false;
options = odeset('OutputFcn', out);
[t, y] = ode45(@(t,y) y, [0 0.25 0.5], 1, options)
| Version | Description |
|---|---|
| 2.0.0 | version initiale |