Calculo y Algebra Con Matlab
Calculo y Algebra Con Matlab
Calculo y Algebra Con Matlab
2007-2008
ndice
1. 2. 3. 4. 5. Vectores y Matrices Determinantes y Sistemas de Ecuaciones Lineales Diagonalizacin y Descomposicin Matricial Funciones de una Variable Lmites y Clculo Diferencial. Aplicacin a funciones de una o varias Variables
1. Vectores y Matrices
Introduccin
Los contenidos relativos al tratamiento de vectores y matrices se estudiaron en el bloque primero por lo que en este apartado se propondrn algunos puntos ms especfico del manejo que pueden ser interesantes. Se recomienda al alumno repasar los siguientes conceptos sobre vectores y matrices: Definicin de vectores y matrices con matlab. Manejo de los rangos. Matrices predefinidas Operadores para matrices.
3 19
Utilizando las matrices predefinidas, as como las propiedades de una matriz, se pueden generar cualquier tipo de matriz interesante que requiera de algn tipo de propiedad.
Determinantes
El clculo del determinante de una matriz en Matlab se realiza con el comando det, pasando como parmetro la variable en la que est almacenada la matriz. A continuacin se muestra un ejemplo A=rand(4) det(A)
A= 0.4218 0.9157 0.7922 0.9595 0.6557 0.0357 0.8491 0.9340 0.6787 0.7577 0.7431 0.3922 0.6555 0.1712 0.7060 0.0318
ans = -0.0961
det(A(:,1:3))
Para el clculo del determinante se requiere una matriz cuadrada, tal y como indica el fallo en la ltima instruccin.
Matriz Inversa
Diagonalizacin
Matlab permite obtener los autovectores y autovalores de una matriz por medio del comando eig(A), donde A es una Matriz. Como resultado devuelve dos matrices, la primera para los autovectores y la segunda con los autovalores. En el siguiente ejemplo se comprobar la propiedad AP=P, que ya fue estudiada en teora: Ejecutar: A=hilb(5) [autovectores,autovalores]=eig(A) P=autovectores diagonal=inv(P)*A*P A*P P*diagonal Se puede comprobar que ambos resultados son similares, cumplindose que AP=P. Adems es la matriz de autovalores de la matriz A.
Diagonalizacin
Variables y Funciones
Al igual que otros entornos de programacin o programas matemticos, en Matlab se puede asignar un valor a una variable. Las variables son los lugares en la memoria del entorno del programa donde se almacena la informacin. Ejecutar: clear %%Limpia las variables del sistema x=2 X^5 Error, variable X no definida! x^5 resultado: 32 Hay que recordar que Matlab es case sensitive, es decir, la variable x no es lo mismo que la variable X. Mediante el comando clear, se limpiarn todas las variables de memoria que existan (se puede ver reflejado en el workspace)
Variables y Funciones
Se pueden eliminar variables especficas mediante el comando clear variable, donde variable se sustituye por le nombre de la variable a eliminar. Ejecutar:
x=3 y=2 clear y
En el workspace quedar solamente la variable x, habindose eliminado la y. Es til cuando se trabaja con grandes matrices u otros objetos que ocupan una gran cantidad de memoria y se desean eliminar. MASTER EN INGENIERIA FINANCIERA
Representacin de Funciones
En adelante se tratarn las funciones de clculo como funciones de Matlab, aunque como se ver en el apartado de clculo de lmites y derivadas no es lo ms correcto. Es posible representar funciones si se han asignado valores a las variables con anterioridad, aunque como se ha indicado, no se podrn aplicar operaciones simblicas. Como resultado se obtendr el valor de la funcin para los valores introducidos anteriormente. Por ejemplo: x=6 x.^2-1 35 El valor de la variable x es sustituido en la segunda ecuacin para dar el valor de la funcin en ese punto (6).
Representacin de Funciones
Si se desea dibujar la funcin, tal y como se estudi en el primer tema, es posible asignar a la variable x un vector de valores, de manera que se asigne un resultado a cada uno de estos valores. Posteriormente se puede representar mediante la orden plot. Ejemplo: x=-5:1:5; abs(x)
ans = 5 4 3 2 1 0 1 2 3 4 5
Se obtiene un vector con los resultados de aplicar al primer vector (x) la funcin. Posteriormente se puede representar: plot(x,abs(x))
Representacin de Funciones
Se pueden definir funciones propias que se aadirn a las disponibles de Matlab. Se trata de definir funciones sencillas Se tiene que crear un archivo .m por cada una de las nuevas funciones, y se tiene que guardar en el directorio en el que estemos ejecutando. Ejemplo: %Funcin que eleva x a la potencia de y function resultado = potencia (x,y) resultado=x.^y; Como resultado podremos utilizar la funcin de este modo: potencia(2,3) tambin x=2 y=3 Potencia(x,y)
Definicin de Funciones
Se intentar imitar en este punto las funciones matemtica con funciones de Matlab. Recordar que se trata de funciones de Matlab y NO SON FUNCIONES MATEMTICAS, por lo que no se puede operar con ellas (sumar, componer, integrar,) La sintxis para la definicin de funciones es la siguiente: function resultado = nombre_funcin (par1,par2,) Function: palabra reservada resultado: es la variable ltima a la que se asigna el resultado de la funcin. nombre_funcin : nombre por el que se invocar a la funcin. par1,par2,: parmetros de la funcin. Cada funcin debe almacenarse en un archivo, y un archivo slo puede contener una funcin. El nombre del archivo coincide con el nombre de la funcin. En el ejemplo anterior en el que se defina la funcin potencia, el nombre de fichero ha de ser potencia.m. MASTER EN INGENIERIA FINANCIERA
Definicin de Funciones
A todos los efectos, estas funciones son como las definidas en el sistema, como por ejemplo: sin(x), cos(x),abs(x), de modo que pueden representarse tal y como hemos visto anteriormente. Para la funcin de ejemplo potencia (x,y), se puede definir un vector de valores para la variable x un valor fijo para la variable y. Se representar mediante la instruccin plot: x=-5:0.1:5; y=2 plot(x,potencia(x,y))
Introduccin
Como se ha indicado en las transparencias anteriores, entre las funcionalidades bsicas de Matlab no se encuentra el clculo simblico de funciones, por lo que operaciones como el clculo de lmites, derivacin o integracin no es posible realizarlas. Para poder utilizar este tipo de clculo simblico es necesario utilizar el toolbox Symbolic Math Toolbox, que permitir operar de forma simblica y no con valores concretos de las funciones. En las siguientes transparencias se lleva a cabo una breve introduccin al clculo de lmites y derivadas utilizando este toolbox.
Clculo Simblico
En primer lugar se deben construir los objetos simblicos, que sern las variables que Matlab, a travs del toolbox, considerar objetos simblicos. Para ello se emplea la instruccin syms que permite definir varios objetos en una sola instruccin: syms x y real Esta instruccin declara las variables x y como objetos simblicos de tipo real.
Clculo Simblico
El siguiente paso consiste en declarar las funciones que se van a utilizar, teniendo en cuenta que las variables empleadas han sido declaradas con anterioridad como objetos simblicos, utilizando sym o syms en el caso de definir varias a la vez. Ejemplo:
syms x y real f=x.^2-4
A partir de este instante f es una funcin simblica diferente a las funciones definidas con anterioridad en Matlab, es decir, es una funcin que se puede integrar, derivar, etc. No es una funcin del lenguaje. Adems de operar con variables se puede emplear el clculo simblico para operar, por ejemplo, con fracciones:
3 ./ 4
ans=0.7500
sym(3)/sym(4)
ans=
Clculo Simblico
Si se desea calcular el valor de la funcin, es necesario dar un valor a los objetos simblicos o variables. En la funcin anterior, f=x.^2-4, se necesita dar al smbolo x un valor, por ejemplo 3. Esto se realiza con el comando subs: syms x real f=x.^2-4 subs(f,4)
Ans=12
Si la funcin depende de varias variables, como por ejemplo en f=x.^2-y+3, se puede indicar que se substituya cada smbolo por un valor en concreto. Por ejemplo: syms x y real f=x.^2-y+3 subs(f,x,4) ans: 19-y subs(f,y,3) ans: x^2 subs(subs(f,y,3),x,4) ans: 16
Clculo Simblico
El clculo simblico tambin se puede aplicar a las matrices:
syms a b c A = [a c b; b c a; c a b] B=magic(3) A-B
Lmites
Una vez que se tienen las variables y funciones simblicas definidas, se pueden emplear las funciones de clculo de lmites, integracin y derivacin para operar de forma simblica. El clculo de lmites se realiza mediante la instruccin limit, que recibe por parmetro la funcin, la variable y el valor del lmite. Tambin se puede indicar si el lmite es por la izquierda o por la derecha. limit(F,x,a) limit(F,a) limit(F) limit(F,x,a,'right') limit(F,x,a,'left')
Lmites
Por ejemplo, el clculo del lmite de la funcion 1/x cuando x tiende a 0 se realiza de la siguiente forma, si se quiere analizar las proximidades del punto crtico: x=sim(x) f=1/x limit(f) ans:NaN limit(f,x,0,'right') ans: Inf limit(f,x,0,'left') ans: -inf Se puede dibujar la grfica mediante la instruccin ezplot(f), que se emplea para representar funciones simblicas.
Derivacin
El clculo de derivadas de funciones simblicas se realiza mediante la funcin diff que admite como parmetros, adems de la funcin a derivar, la variable de derivacin y el nmero de veces que se puede derivar. Un sencillo ejemplo: f=x^5-3 diff(f) ans: 5*x^4 diff(f,3) ans:60*x^2 diff(f,5) ans: 120 Para derivadas respecto de otras variables se puede emplear otro parmetro que indica respecto a qu variable se realiza la derivacin: f=x^5-x^2*y^3+2 diff(f,y) ans: -3*x^2*y^2 diff(f,x) ans: 5*x^4-2*x*y^3
Integracin
Finalmente la integracin se lleva a cabo mediante la funcin int que admite como parmetros, adems de la funcin a integrar, la variable y el intervalo de integracin: f=x^5+2 int(f) ans: 1/6*x^6+2*x inf(f,1,2) ans: 25/2 Como la derivacin, admite integrar respecto a alguna variable en concreto si la funcin as lo indica: f=x^5+y^2 int(f) ans: 1/6*x^6+x*y^2 int(f,x,1,2) ans: 21/2+y^2 int(f,y,1,2) ans: x^5+7/3