Matlab - Problema con funciones con varias variables

 
Vista:

Problema con funciones con varias variables

Publicado por Gonzalo (2 intervenciones) el 19/08/2012 23:06:17
Hola a todos, paso a comentarles el problema que me surge, yo necesito armar una funcion que sea una expresion, la cual despues tengo que integrarla numericamente. La cuestion es que mi funcion tiene varias variables, pero solo una (x) sera el argumento de entrada, o sea la variable independiente, las demas solo seria "constante" para la funcion, ya que en relidad son variables que les cargo un valor predefinido anteriormente en la primera parte de mi programita. La cuestion es que uso el comando Inline, armo la funcion solo en funcion de x, y cuando la integro, o cuando la quiero evaluar con Feval me tira el error que las variables que serian constantes no estan definidas, les paso un ejemplo:

>> a=2;
>> b=3;
>> W=inline('2.*a.*x+b./x','x')

W =

Inline function:
W(x) = 2.*a.*x+b./x

>> simpson(W,100,0,5)
??? Error using ==> inlineeval at 15
Error in inline expression ==> 2.*a.*x+b./x
Undefined function or variable 'a'.

Error in ==> inline.feval at 36
INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);

Error in ==> SIMPSON at 3
y_x_min=feval(P,x_min);


Agradeceria cualquier ayuda

gracias y saludoss

Gonzalo
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
sin imagen de perfil

Problema con funciones con varias variables

Publicado por Geral (26 intervenciones) el 28/08/2012 04:56:58
hola!

lo que sucede es q estas definiendo a y b como cadena, te recomiendo que hagas lo siguiente:

1
2
3
4
5
6
>> W=inline(['2.*',num2str(a),'.*x+',num2str(b),'./x'],'x')
 
W =
 
     Inline function:
     W(x) = 2.*2.*x+3./x


espero sea de ayuda.
salu2!
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

Problema con funciones con varias variables

Publicado por Gonzalo (2 intervenciones) el 28/08/2012 14:43:53
Buenisimo, muchas graciasss!!!!
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