Resta de funciones definidas inline??
Publicado por Daniel (4 intervenciones) el 16/01/2014 17:40:59
Hola a todos.
Me gustaría saber cómo puedo programar una función en Matlab (llamada diferencia.m) que realice una resta entre 2 funciones definidas inline como argumentos de entrada. Por ejemplo, que si hiciesemos:
>>f=inline('x^2'); g=inline('x+1');
>>h=diferencia(f,g) ---> nos debería devolver otra función h tal que h(x)=x^2-x-1 luego podríamos evaluarla en el punto que quisieramos.
A priori parece algo sencillo pero he intentado por varias formas y no doy con nada bueno. Por ejemplo probé haciendo:
function df=resta(fun1,fun2,x)
%
%Evalúa la diferencia entre dos funciones arbitrarias 'fun1' y 'fun2' en el
%punto x
fun1=inline(fun1,'x'); fun2=inline(fun2,'x'); %definir funciones inline
dif=inline(fun1-fun2,'x');
df=feval(dif,x);
Pero da error en la linea en que defino la variable dif.
Algún consejo?
Muchas gracias ;)
Me gustaría saber cómo puedo programar una función en Matlab (llamada diferencia.m) que realice una resta entre 2 funciones definidas inline como argumentos de entrada. Por ejemplo, que si hiciesemos:
>>f=inline('x^2'); g=inline('x+1');
>>h=diferencia(f,g) ---> nos debería devolver otra función h tal que h(x)=x^2-x-1 luego podríamos evaluarla en el punto que quisieramos.
A priori parece algo sencillo pero he intentado por varias formas y no doy con nada bueno. Por ejemplo probé haciendo:
function df=resta(fun1,fun2,x)
%
%Evalúa la diferencia entre dos funciones arbitrarias 'fun1' y 'fun2' en el
%punto x
fun1=inline(fun1,'x'); fun2=inline(fun2,'x'); %definir funciones inline
dif=inline(fun1-fun2,'x');
df=feval(dif,x);
Pero da error en la linea en que defino la variable dif.
Algún consejo?
Muchas gracias ;)
Valora esta pregunta
0