Matlab - Derivacion en dos variables

   
Vista:

Derivacion en dos variables

Publicado por E2 (1 intervención) el 14/02/2010 19:32:54
Estoy programando una pequeña funcion que resuelva ecuaciones diferenciales por el metodo de Milne. Para ello necesito obtener datos adicionales mediante una serie de Taylor, y para ello necesito varias derivadas de la funcio. aqui el problema:

Las ecuaciones que se utilizan son de la forma: y ' = f(x,y) , donde y ' es la derivada de y(x) respecto a x. Por poner un ejemplo sencillo: y ' = x + y

si tu derivas esto de forma manual la respuesta es:
y '' = d(x)/dx + d(y)/dx = 1 + y ' , que sustituyendo el valor de y ' no queda: y '' = 1 + x +y

asta aqui todo correcto. si en matlab utilizamos la funcion " diff " para obtener la derivada de y' nos devuelve y '' = 1, es decir, toma la y como una constante y no como una funcion de x. Creo que me explico con lo que quiero decir.

ahora mi duda es si existe alguna funcion de matlab que nos permita hacer las derivadas de la forma que necesito, o sino alguna idea para programarla, porque ahora mismo no se como resolver el problema.

muchas gracias de antemano
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

RE:Derivacion en dos variables

Publicado por ramiro (54 intervenciones) el 18/02/2010 07:04:22
E2:
Tienes razón en lo de que sirmar que si aplicas diff a y'=x+y te da 1, pero no en afirmar que diff(y')=y'', pues al ser y´=x+y una función de dos variables, usando la fórmula del diferencial total d(y')=diff(y',x)dx+diff(y',y)dy, que al dividir entre dx nos da:
d(y')/dx=diff(y',x)+diff(y´,y) dy/dx=diff(y´,x)+diff(y',y) y' que es lo mismo que obtuviste con cálculo de una variable en el renglón 7.
Aunque el método de una función implícita es más general y consiste en definir la y' como función implícita de x,y mediante la ecuación F(x,y,y´)=0
A la cual se le puede aplicar la diferencial total dF=diff(F,x)dx+diff(F,y)dy+diff(F,y')dy' que al dividir todo entre dx y despejar dy'/dx nos da:
dy'/dx=(-diff(F,x)dx-diff(F,y)dy)/diff(F,y')
Y lo único que creo que se puede hacer con la instrucción diff fr matlab es algo así como:
>> clear
>> syms x y z
>> F=z-x-y
F =
z-x-y
>> y2p=(-diff(F,x)-diff(F,y)*z)/diff(F,z)
y2p =
1+z
>> z=solve(F,z)
z =
x+y
>> y2p=-diff(F,x)-diff(F,y)*z
y2p =
1+x+y
>>

Espero que te sirva.
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

RE:Derivacion en dos variables

Publicado por abraham supo taso (1 intervención) el 20/06/2014 03:41:28
¡HOLA QUÉ HACE?
NO ME SIRVE
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