Matlab - Ayuda con el uso de ode15i

 
Vista:

Ayuda con el uso de ode15i

Publicado por Leo (1 intervención) el 31/07/2009 12:07:21
Hola que tal, me llamo Leo y es la primera vez que uso este medio para consultar algo.

Estoy tratando de resolver un sistema de ecuaciones diferenciales implicito , segun tengo entendido lo puedo hacer con el ode15i que aparece en las versiones de Matlab superiores al 7.

mi archivo.m es

function Z = cartpole (t,Y,Yprima);

x=Y (1);
y=Y (2);
z=Y (3);
xp=Yprima (1);
yp=Yprima (2);
zp=Yprima (3);
Z=zeros (1,4); % crea un vector de ceros, con 1 fila y 4 columnas

% las 4 ecuaciones (hay que pensarlas igualadas a 0)
Z (1) = cos (y)*xp;
Z (2) = y*x+zp^2;
Z (3) = z*sin (yp);
Z (4) = z*xp;

Luego en la hoja de trabajo lo que hago es poner

>> t0=0;
tfinal=10;
Y0= [2,4];
Yp0= [4,6];
sol = ode15i(@cartpole,[t0 tfinal],Y0,Yp0);

y me aparece lo siguiente:

??? Attempted to access Y(3); index out of bounds because numel(Y)=2.

Error in ==> cartpole at 5
z=Y (3);

Error in ==> odearguments at 110
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.

Error in ==> ode15i at 123
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, ignore, odeFcn, ...


Alguien sabe como puedo solucionar mi problema? o como puedo hacer que mi archivo funcione y pueda resolver el bendito sistema?

Se los agradeceria mucho

Saludos

Leo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder