Duda con función de Matlab
Publicado por Miguel (1 intervención) el 15/12/2011 18:19:44
Buenas tardes,
Estoy intentando programar una función de matlab que me integre a otra función llamada "sigma"
El problema me surge al intentar integrarla con el comando "quad" ya que la dicha función "sigma" es una función cuyo valor depende de una tercera, pero no es una dependencia lineal, sino a trozos. Esa tercera función de nombre "epsilon", cuya expresión incluyo aquí: epsilon=phi*(y-x) , contiene a dos constantes , x y phi, y a la variable de integración "y".
Pues bien, mi problema es el siguiente. Al intentar definir la función sigma en función del valor de epsilon necesito crear bucles "if" ya que la expresión que nos da el valor de sigma varía con epsilon, es por lo tanto una función a trozos como explique antes. En estas condiciones "if" me aparece la variable "y" pero evidentemente, al ser esta la variable de integración , no la he definido previamente, por lo que Matlab me da error, porque no encuentra a "y" para poder saber el valor de sigma en función de la misma.
Por lo tanto lo que pretendo es conseguir definir a sigma, pero al necesitar un valor de epsilon o de y para saber que valor toma sigma, esta no puedo conseguirla ya que dicha variable "y" es la variable de integración y no la defino en el codigo previamente.
No se si me he explicado correctamente pero necesito ayuda urgente con este tema, si pudiese alguien ayudarme sería genial.
Muchas gracias
un saludo
Estoy intentando programar una función de matlab que me integre a otra función llamada "sigma"
El problema me surge al intentar integrarla con el comando "quad" ya que la dicha función "sigma" es una función cuyo valor depende de una tercera, pero no es una dependencia lineal, sino a trozos. Esa tercera función de nombre "epsilon", cuya expresión incluyo aquí: epsilon=phi*(y-x) , contiene a dos constantes , x y phi, y a la variable de integración "y".
Pues bien, mi problema es el siguiente. Al intentar definir la función sigma en función del valor de epsilon necesito crear bucles "if" ya que la expresión que nos da el valor de sigma varía con epsilon, es por lo tanto una función a trozos como explique antes. En estas condiciones "if" me aparece la variable "y" pero evidentemente, al ser esta la variable de integración , no la he definido previamente, por lo que Matlab me da error, porque no encuentra a "y" para poder saber el valor de sigma en función de la misma.
Por lo tanto lo que pretendo es conseguir definir a sigma, pero al necesitar un valor de epsilon o de y para saber que valor toma sigma, esta no puedo conseguirla ya que dicha variable "y" es la variable de integración y no la defino en el codigo previamente.
No se si me he explicado correctamente pero necesito ayuda urgente con este tema, si pudiese alguien ayudarme sería genial.
Muchas gracias
un saludo
Valora esta pregunta


0