Equation à quatre arguments

Fermé
Kyraz - Modifié par Kyraz le 28/02/2015 à 19:57
Bonjour,

J'ai un projet Matlab à faire pour mes études d'ingénieur mais j'éprouve quelque difficultés à comprendre la logique du programme ( c'est la première fois que je l'utilise )

En gros je dois créer une fonction recevant 4 arguments dans laquelle se trouve un système de deux équation différentielle à deux inconnues, pour enfin retourner deux résultats que je nome ici y(1) et y(2)



Cependant les résultats ne sont pas bons


Premièrement je n'arrive pas à comprendre pourquoi Matlab m'oblige à rendre un vecteur de taille 4 alors que j'aimerais un vecteur taille 2 - y(1) et y(2) -


Voici un résumé de la fonction :


function y=odefunction(t,p)

x = p(1);
v = p(2);
i = p(3);
o = p(4);

% ....... ( variables et calculs )

y(1) = (Fmotmax-Frlt-Fgrav-Faero)/mi;
y(2) = v;
y(3) = ?????
y(4) = ?????

y = y(:);

Donc ma fonction reçoit t et un vecteur p de taille 4 avec ces fameux arguments ( donc 2 arguments au total )

J'ai du faire comme ça pour utiliser le solveur ode45 car impossible de comprendre comment le faire avec 4 arguments

Donc ma question est :


Comment réagir pour y(3) et y(4) ?

Comment utiliser ode45 avec 4 arguments ? Ca me faciliterais bien la tâche

Merci beaucoup pour le temps que vous allez consacrer à m'aider et j'espère avoir été clair.

PS, si ça peut aider voici le code ode45 que j'ai utilisé :

global tableau 
tableau = xlsread('CaracteristiqueMoteurMax.xls');

% Intervalle de temps
t0 = 0;
t1 = 5;

% Conditions initiales
x0 = 0;
v0 = 0;
i2 = 5.87;
o0 = 0;

[t,y] = ode45('odefunction', [t0 t1], [x0 v0 i2 o0]);

y1 = y(:,1);
y2 = y(:,2);