Matlab - ECUACIONES DIFERENCIALES EN MATLAB

   
Vista:

ECUACIONES DIFERENCIALES EN MATLAB

Publicado por Denisse (6 intervenciones) el 08/09/2012 23:04:23
Hola, muchas gracias por permitirme este espacio. Ojalá alguien pueda ayudarme. Soy un poco nueva en matlab.
Debo hallar una curva espacial (3D) (sin estar parametrizada por longitud de arco) a partir de conocer su curvatura y su torsión.
Tengo entendido que debo resolver las 9 ecuaciones diferenciales de las fórmulas de Frenet. Hace una semana que intento pero no puedo. Un amigo me resolvió el problema en el programa Mathematica pero yo necesito resolverlo en MATLAB. Necesito graficar y manipular la curva resultante en Matlab.
Sé que seguramente deba usar ode45, aunque si pudiera obtener la curva alpha(t) en una expresión simbólica cerrada (y no solo numérica), sería lo ideal para mí...pero no logro plantearlo correctamente. Alguna pista para comenzar a plantearlo bien??

Estas son las ecuaciones diferenciales, cada vector T, N y B tienen 3 componentes.

T'(t) = k(t).v(t).N(t)
N'(t) = -k(t).v(t).T(t) + tor(t).v(t).B(t)
B'(t) = -tor(t).v(t).N(t)

(donde tor = torsion)
Conozco k(t) y tor(t)

Necesito resolver este ejercicio en Matlab en carácter de urgente!! Voy atrasada una semana...
Mil gracias a cualquiera que pueda darme una mano!
Beso, Denisse.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

ECUACIONES DIFERENCIALES EN MATLAB

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 09/09/2012 00:16:31
Mejora tu pregunta.
No creo que nadie te responda por la forma que estas preguntando.
Se mas preciso en tu pregutna y brinda mas detalles con problema explicito.
Hablas de 8 ecuaciones y cuales son esos 8 ecuaciones.

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion Matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ECUACIONES DIFERENCIALES EN MATLAB

Publicado por Denisse (6 intervenciones) el 09/09/2012 00:58:30
Gracias por la respuesta! La voy a mejorar!! y en un ratito escribo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ECUACIONES DIFERENCIALES EN MATLAB

Publicado por Denisse (6 intervenciones) el 09/09/2012 03:47:51
Gracias de nuevo José. Dije que tenía 9 ecuaciones diferenciales porque T, N y B son tres vectores con 3 componentes cada uno... 3 x 3 = 9.
A ver si logro exponerlo más claro, voy a ir transcribiendo lo que está resuelto en el programa Mathematica:

Tenemos una función vectorial Alpha (t)=A(t) en el plano, no parametrizada por longitud de arco:
A[t] := {X[t] , Y[t] , 0}

Averiguamos el vector Tangente Unitario y la Curvatura k(t)

T[t] := Simplify [A' [t] / Norm [A' [t] ]
k[t] := Simplify [Norm [T' [t]] / Norm [ A'[t] ]

La consigna es crear una curva en el espacio (gamma(t)) = g(t) que tenga igual curvatura que la curvatura (k(t)) de alpha(t) y que tenga una torsión proporcional a k(t), es decir que tor=Rho.k(t).

Rho:= 0.1
tor[t]:=Rho. k[t] Sign[Sin[t]]
t0:=0.3
tf:=50
v[t]:=[Norm [A' [t] ]
NN [t]:=T'[t] / [ Norm [T ' [t] ] es el vector Normal
B[t]:= [Cross[T[t], NN[t] ] es el vector Binormal

Basándonos en las fórmulas de Frenet, tenemos las siguientes ecuaciones:

Tg'(t) = k(t) .v(t) . Ng(t)
Ng'(t) = -k(t) . v(t) . Tg(t) + tor(t) . v(t) . Bg(t)
Bg'(t) = -tor(t) . v(t) . Ng(t)

Tg,Ng,Bg son nuestras incógnitas y tenemos las siguientes condiciones iniciales:

g[t0] = A [t0],
Tg[t0] = T[t0],
Ng[t0] = NN[t0],
Bg[t0] = B[t0]},

Esto que sigue es la resolución del sistema de ecuaciones diferenciales realizadas con el programa Mathematica.Busco lo análogo en Matlab.

sol:= NDSolve [{g'[t]==Tg[t] v[t], Tg'[t]==k[t] v[t] Ng[t], Ng'[t]==v[t] (tor[t] Bg[t] -k[t] Tg[t]),
Bg'[t]== -tor[t]. v[t] . Ng[t], g[t0]== α[t0], Tg[t0]==T[t0], Ng[t0]==NN[t0], Bg[t0]==B[t0]}, {g,Tg,Ng,Bg}, {t, t0, tf}]


Curva3D:=g /.First @ sol (esta es la solución numérica en Mathematica)

Luego vendría el plot3.

Lo ideal sería que se pudiese integrar T y obtener un gamma (t) con una expresión “agradable”.
Se entenderá mejor el problema ahora o debería reescribirlo mejor??

Aunque sea una pista me vendría bien!
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar