Funciones con Maple - Facultad de Ingeniería

Anuncio
Funciones con Maple
Luis Villamizar Facultad de Ingeniería
Funciones Reales
Antes de comenzar a definir funciones, tenemos que en Maple las órdenes
terminan con un punto y coma. A veces será interesante terminarlas con dos
puntos (:), lo que tiene como efecto que el resultado de la operación no se
visualiza.
Básicamente podemos manejar funciones reales de dos formas. Una de ellas,
será definir una expresión dependiente de la variable correspondiente,
mediante una expresión o fórmula, con una orden tal como:
> g(x):=x/(x^2+1);
g( x ) :=
x
x +1
2
La otra forma sería definir realmente una función, como una regla que asigna
a una variable una expresión que dependa de dicha variable, con la sintaxis:
nombre de la función := variable - > expresión
Para definir la función f ( x) = x 2 − 2 x + 1 , escribimos:
> f:=x->x^2-2*x+1;
f := x → x2 − 2 x + 1
Hay que notar que se ha definido una expresión g ( x) , pero no una función g .
En cambio hemos definido una función f y f ( x) es entonces una expresión, la
imagen de x .
Conviene destacar también, que en la definición de una expresión pueden
usarse otras expresiones y funciones definidas previamente o funciones de la
librería de Maple. Por ejemplo, ejecutando la orden:
> h(x):=x/g(x)-2*x+f(x);
h( x ) := 2 x2 + 2 − 4 x
Se ha definido una nueva expresión y con la orden:
> hfun:=x->2*x^2+2-4*x;
hfun := x → 2 x2 + 2 − 4 x
se ha definido una función.
El comando unapply
Existe en Maple un comando que permite definir una función a partir de una
expresión. Se trata del comando unapply, cuya sintaxis es muy simple: basta
especificar, tras la expresión, cual de las letras que aparecen en ella
queremos tomar como variable. Por ejemplo:
> gafun:=unapply(a*x/(1+x^2),x);
gafun := x →
ax
x2 + 1
Comportamiento de las expresiones y las funciones
Observemos el comportamiento diferente al sustituir valores numéricos o
simbólicos en las expresiones y las funciones.
En primer lugar, una función en un punto toma un valor:
> f(2/5);
9
25
> hfun(z);
2 z2 + 2 − 4 z
> hfun(2/5);
18
25
En cambio, en una expresión no se puede sustituir directamente:
> g(2);
g( 2 )
> h(2/5);
2
h⎛⎜⎜ ⎞⎟⎟
⎝5⎠
Hay que utilizar la orden subs:
> subs(x=2/5,h(x));
18
25
> subs(x=2,g(x));
2
5
Con valores simbólicos:
> f(u^2);
u4 − 2 u2 + 1
> subs(x=u^2,g(x));
u2
u4 + 1
Función Real de dos o más variables
Para definir funciones reales de dos o más variables, se escribe:
> f:=(x,y)->x^2+y^2-1;
f := ( x, y ) → x2 + y2 − 1
> f(2,-1);
4
> f:=(x,y,z)->x*y+y*z-2*x*z;
f := ( x, y, z ) → x y + y z − 2 x z
> f(1,-1,3);
-10
También podemos definir una expresión de más de dos variables, usando la
orden anterior:
> g:=x^2+z^2+y^2;
g := x2 + z2 + y2
> subs(x=2,y=1,z=1,g);
6
> h:=unapply(g,(x,y,z));
> h(2,1,1);
h := ( x, y, z ) → x2 + z2 + y2
6
Funciones Vectoriales
Existen varias maneras de definir funciones vectoriales con Maple, la forma
más simple para definir una f : \ n → \ m , la podemos escribir con la siguiente
sintaxis:
f := ( x1 , x2 ,...., xn )− > [ f1 ( x1 , x2 ,...., xn ), f 2 ( x1 , x2 ,...., xn ),...., f m ( x1 , x2 ,...., xn )];
Esto es, se crea una lista ordenada de funciones contenidas entre corchetes
([ ]), lo cual es una manera de definir un vector.
La función f : \2 → \3
⎡ x2 + y2 ⎤
⎢
⎥
f ( x, y ) = ⎢ x + y ⎥
⎢ x− y ⎥
⎣
⎦
la escribimos con Maple, como:
> f:=(x,y)->[x^2+y^2,x+y,x-y]:
'f(x,y)'=f(x,y);
'f(1,-3)'=f(1,-3);
f( x, y ) = [ x2 + y2, x + y, x − y ]
f( 1, -3 ) = [ 10, -2, 4 ]
Otra forma:
> h:=vector(3);
h[1]:=(x,y)->x^2+y^2;
h[2]:=(x,y)->x+y;
h[3]:=(x,y)->x-y;
'h(x,y)'=h(x,y);
'h(1,-3)'=h(1,-3);
h := array( 1 .. 3, [ ] )
h1 := ( x, y ) → x 2 + y 2
h2 := ( x, y ) → x + y
h3 := ( x, y ) → x − y
h( x, y ) = [ x2 + y2, x + y, x − y ]
h( 1, -3 ) = [ 10, -2, 4 ]
Esta forma es conveniente algunas veces ya que se pueden realizar
operaciones con las funciones componentes por separado.
Descargar