viernes, 18 de noviembre de 2011

COMANDOS PARA INTRODUCIR MATRICES EN MATLAB
Asignación de valores y subíndices:
Los vectores y matrices en MATLAB se trabajan igual en cuanto a asignación, por eso se explican juntos. Pero las operaciones posibles, si son diferentes, y están separadas bajo los encabezados correspondientes.
Asignación:
La asignación de variables en MATLAB es sencilla, y los vectores y matrices no son la excepción. Cuando se desea dar el valor a toda una matriz se puede realizar directamente de la siguiente forma:
A=[1,2,3,4;5,6,7,8;9,0,1,2];
A=[1, 2, 3, 4;5, 6, 7, 8;9, 0, 1, 2];
Donde la matriz escrita arriba es:
1             2             3             4
5             6             7             8
9             0             1             2
Las filas se separan por punto y coma y las columnas por espacios o comas. De lo anterior se ve fácilmente que un vector fila se asigna así:
v=[1,2,3];  
v=[1, 2, 3];
Y un vector columna se asigna así:
v= [1; 2; 3];
Manejo de subíndices:  
Otra forma de asignar valores a una matriz (o un vector) es por medio de los subíndices. El menor subíndice utilizado por MATLAB es 1.
Por ejemplo:
A(2, 3)=1; Asigna al elemento en la fila 2, columna 3 el valor de 1.
Si se desea cambiar todo el valor de una fila o una columna, es muy sencillo hacerlo con el operador ":" así:
A(1,:)=[4 5 6];
Asigna a la fila 1 el vector [4, 5, 6] (cambia la fila 1 por 4, 5, 6). Así si A era una matriz de 3x3 de ceros, ahora queda:
4             5             6
0             0             0
0             0             0

Igualmente a veces se requiere trabajar con vectores que son una columna o una fila de una matriz. Esto se realiza fácilmente guardando este "vector" en un vector, así:
v=A(:,1);
Asigna al vector v la primera columna (completa) de la matriz A.
Operaciones matemáticas simples con matrices y vectores:
Esto es algo en lo que MATLAB hace las cosas verdaderamente simples, si se tienen dos matrices (o vector y matriz, o dos vectores), y se quieren: sumar, multiplicar a restar solo es necesario anotar esta operación normalmente (como se haría con números).
Por ejemplo:
Si se quieren multiplicar dos matrices A y B y almacenar el resultado en C:
C=A*B; (Si se hace entre dos vectores (uno fila y el otro columna) el resultado es el producto punto entre los dos)
Si se quieren sumar a restar y almacenar el resultado en C:
C=A+B;
 
C=A-B; (Sin importar que sean matrices o vectores.)
Comandos matemáticos para matrices:
Los comandos matemáticos mas empleados con matrices son:
Calcula la norma de un vector o matriz.
Retorna el (los) menor (es) componente (s) de un vector o matriz.
Retorna el (los) mayor (es) componente (s) de un vector o matriz.
Devuelve las dimensiones de la matriz.
Calcula los valores y vectores propios (orto valores y orto vectores) de la matriz.
Invierte la matriz. (Si es posible)
Calcula el determinante de la matriz.
Comandos matemáticos para vectores:
Los comandos matemáticos más empleados con vectores son:
Calcula la norma de un vector o matriz.
Retorna el (los) menor (es) componente (s) de un vector o matriz.
Retorna el (los) mayor (es) componente (s) de un vector o matriz.
Calcula el producto cruz entre vectores.
Determina el número de componentes de un vector.

miércoles, 16 de noviembre de 2011


                                        EL ÁREA ENTRE DOS CURVAS
En esta sección estudiaremos como calcular el área entre dos curvas.
El problema es el siguiente: Dadas dos funciones f y g, encontrar el área contenida entre sus gráficas en el intervalo [a, b]. Para ilustrar el problema y el procedimiento, observa el siguiente ejemplo.
f(x)= 3x3 - x2 - 10x
g(x)= - x2 + 2x

Utilizaremos el mismo procedimiento que se usó para encontrar el área bajo una curva. Se aproximará el área entre las dos curvas haciendo una partición del intervalo [a, b] en n subintervalos de longitud (b-a)/n. En cada subintervalo escogemos un valor particular de x, al que llamaremos x*.

  1. Evaluamos f(x*) y g(x*) y formamos rectángulos de base (b-a)/n y de altura f(x*)-g(x*) (si f(x*)>g(x*)).
  2. El área de dicho rectángulo es (f(x*)-g(x*))((b-a)/n). Al sumar las áreas de los rectángulos obtenemos una aproximación al valor del área entre las curvas.
  3. Tomando el límite cuando n--->Infinito obtendremos el valor exacto del área buscada.
  4. Por definición, el límite de la sumatoria de Riemann es la integral definida de f(x)-g(x) en [a,b].
  5. Si g(x)>f(x) en alguna parte del intervalo, entonces la altura de los rectángulos es g(x*)-f(x*).
En cualquier caso la altura de los rectángulos es |f-g| (valor absoluto de la diferencia).
Definición de área entre dos gráficas:
El área entre las gráficas de y=f(x), y=g(x) en el intervalo [a, b] está dado por el valor de la Integral Definida de |f-g| en [a, b].
Enseguida se calculará el área de la región entre dos curvas.
Dentro del intervalo (-2,2), las curvas:
y=2(1-x2) y y=x2-1
se intersectan en x = -1, 1.

f(x)=2(1 - x2) ; g(x)=x2-1

El área entre las curvas en cada subintervalo es: {4, 4, 4}
Cada una de estas áreas tiene que ser calculada por separado.
El área total entre las curvas es:
4 + 4 + 4 = 12



Dentro del intervalo (-1,1.5), las curvas:
y = -x2/3+1 y y = x2/3
se intersectan en x = 1.

f(x)= -x2/3+1 ; g(x)=x2/3-1
El área entre las curvas en cada subintervalo es: {1.6, 0.15867}

Cada una de estas áreas tiene que ser calculada por separado.
El área total entre las curvas es: 1.6 + 0.15867 = 1.75867
 Otros métodos: Rectángulos horizontales.
El procedimiento anterior depende de que, en cada intervalo de integración, la curva "de arriba" es la misma y la curva "de abajo" también. A continuación se muestra una situación en donde esto no se cumple.
Observa las siguientes gráficas.  
Observa que en el intervalo [-1,3] no se cumple que la curva "de arriba" sea la misma. En [-1,2] la curva de arriba es y=x-1, mientras que en [2,3] la curva de arriba es y= (3-x)1/2.

En la gráfica anterior dibujamos un rectángulo horizontal de base X2 - X1 y de altura y.
X2 es el valor de x dado por la curva de la derecha (x=3-y2) y X1 es el valor de x dado por la curva de la izquierda (x=y+1). En esta situación la curva de la derecha siempre es la misma y la curva de la izquierda también es la misma para todos los rectángulos horizontales desde y=-2 hasta y=1.

y=1
Entonces el área entre las curvas es igual a
[3 - y2 - (y+1)] dy
y=-2

Si integramos con respecto a "y" la diferencia (3-y2) - (y+1) entre y=-2 hasta y=1, entonces encontramos que:
9
Área entre las curvas =


2

viernes, 28 de octubre de 2011

MatLab

MATLAB
Es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple Mac OS X.
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).
Matlab es un programa command-driven, es decir, que se introducen las órdenes escribiéndolas una a una a continuación del símbolo » (prompt) que aparece en una interfaz de usuario (una ventana). Esta introducción contiene ejemplos que se pueden escribir directamente en la línea de comandos de Matlab.
»2+2
ans =
4                       
COMANDOS BÁSICOS.- En esta sección se explica cómo usar Matlab a modo de calculadora. Empecemos con algo sencillo: las operaciones matemáticas elementales.
» x=2+3
x =
5
Si no se asigna el resultado a ninguna variable, Matlab lo asigna por defecto a la variable ans (answer):
» 2+3
ans =
5
La notación para las operaciones matemáticas elementales es la siguiente:
 
^
exponenciación
*
multiplicación
/
división
+
suma
-
resta
-
Dos observaciones.- El punto decimal es . (no una coma). Y en Matlab, las mayúsculas y las minúsculas son distintas. Es decir, X es una variable diferente de x.
En Matlab están también definidas algunas funciones elementales. Las funciones, en Matlab, se escriben introduciendo el argumento entre paréntesis a continuación del nombre de la función, sin dejar espacios. Por ejemplo:
» y=exp (0)
y =
1  
sin
seno
cos
coseno
tan
tangente
sec
secante
csc
cosecante
cot
cotangente
exp
exponencial
log
logaritmo natural
sqrt
raíz cuadrada
abs
valor absoluto
Para obtener las funciones trigonométricas inversas, basta añadir una a delante del nombre. Y para las funciones hiperbólicas, una h al final. Por ejemplo, atanh(x) es el arcotangente hiperbólico de x:
» z=atanh(2)
z =
0.5493 + 1.5708i
(z es un número complejo).

CÓMO OBTENER INFORMACIÓN SOBRE LOS COMANDOS DE MATLAB

Este documento es tan sólo una introducción -muy resumida- del lenguaje y del manejo de Matlab. Antes de seguir, es conveniente indicar cómo puede obtenerse más información sobre cualquier detalle referente a Matlab. Por supuesto, siempre se pueden consultar los manuales: hay un ejemplar en las salas del C.T.I. y otro en la biblioteca, que puede obtenerse en préstamo por un día.
·         El comando help. Para obtener información sobre una determinada función, basta teclear desde la línea de comandos help seguido del nombre de la función. Por ejemplo:
» help round
·         La ventana de ayuda. Puede llamarse tecleando helpwin o bien escogiendo del menú Help el ítem Help Window. Se obtiene una ventana nueva, y haciendo doble click con el ratón sobre un capítulo se pasa a un elenco de los ítems contenidos, que a su vez pueden escogerse para una explicación más detallada. Con los botones Back y Forward se navega hacia atrás o hacia adelante.
·         El comando who indica las variables con las que se está trabajando:
» who
Your variables are:
Fy      f       indice     n_punt     t_m
delta_f f_max   manchas    t          y
·         Comandos relacionados con el sistema operativo:
pwd
Present working directory
(directorio de trabajo actual)
cd 
cambiar de directorio
dir
listado de los ficheros del directorio actual
Estos comandos son muy similares a los análogos de MS-DOS o UNIX.

POLINOMIOS
En Matlab los polinomios se representan por vectores cuyas componentes son los coeficientes del polinomio.
Sea
Este polinomio se representa por un vector p
» p=[1 -3 +2]
p =
1   -3   2
Para hallar las raíces del polinomio, se hace
» roots(p)
ans =
2
1
y si se quiere hallar el valor de P(x) para un determinado valor de x (por ejemplo, para x=0)
» polyval(p,0)
ans =
2

GRAFICOS

Las posibilidades de Matlab son muy grandes. Se indica a continuación cómo realizar gráficos sencillos. Para más información, o para conocer la versatilidad de Matlab: capítulo Handle Graphics Object del Help Desk, el manual Using MATLAB Graphics o la ayuda en línea help graph2d.

Veamos cómo se puede representar la función seno entre 0 y 10. Para empezar creemos una variable x que vaya de cero a 10:
» x=0:0.1:10;
y a continuación, calculemos sin(x) almacenando el resultado en la variable y:
» y=sin(x);
Para trazar el gráfico, se emplea la función plot:
» plot(x,y)
y se obtiene en otra ventana el gráfico:

Entre los muchos comandos que se pueden utilizar para modificar los gráficos, es muy útil el empleado para cambiar la escala de los ejes.

La orden es :
axis([x1 x2 y1 y2])
donde x1, x2 son los límites inferior y superior del eje x, e y1 e y2 los del eje y.
Para representar unos datos con símbolos de colores, se añade al comando plot, entre apóstrofes, la especificación. Vamos a crear una variable con dos filas que contenga los números del 1 al 10 en la primera fila, y el doble de esos números en la segunda, y dibujarlos con puntos rojos:
» x(1,:)=0:10;
» x(2,:)=2*x(1,:);
» x
x =
0   1   2   3   4   5   6   7   8   9   10
0   2   4   6   8   10  12  14  16  18  20
» plot(x(1,:),x(2,:),'ro')


Si no se indica nada, el gráfico se traza con una línea azul.
Otras funciones muy útiles: grid, que traza una cuadrícula, xlabel('títulox')e ylabel('títuloy'), que sirven para poner un título en los ejes.
Para imprimir una figura, basta seleccionar print del menú de la figura.

"Scripts"

ARCHIVOS DE ÓRDEES: PROGRAMAR EN MATLAB
Realizar un programa en Matlab es fácil. Basta abrir un editor de texto (como el Bloc de Notas de Windows) y escribir los comandos uno a continuación de otro. Luego ese fichero de texto debe guardarse con la extensión .m, y a eso se le llama un script:
Una vez guardado el fichero (en el ejemplo, ndata.m) en el directorio actual, desde la línea de comandos de Matlab basta escribir ndata para que se ejecute el programa.
A partir de aquí, se abren las posibilidades de la programación con un lenguaje sencillo.