Vous êtes sur la page 1sur 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

Gua 1: Programacin Aplicada


1. Tipos de datos
Matlab es un programa preparado para trabajar con vectores y matrices. Como caso particular tambin trabaja con variables escalares (matrices unidimensionales), Matlab trabaja siempre en doble precisin, es decir guardando cada dato en 8 bytes, con unas 15 cifras decimales exactas. Tambin trabaja con cadena de caracteres (strings) y con otros tipos de datos: matrices de ms de dos dimensiones o hipermatrices, vectores y matrices de celdas (cuyos elementos pueden ser cualquier otro tipo de dato), estructuras o agrupaciones bajo un mismo nombre de datos de naturaleza diferente, en las ltimas versiones. (a) Variables Una variable es un nombre que se da a un objeto numrico, que puede ser una matriz, un vector o un escalar. El valor de esa variable e incluso el tipo de objeto numrico que representa puede cambiarse a lo largo de una sesin de MatLab o a lo largo de la ejecucin de un programa. Expresiones numricas introducidas sin asignarle un nombre son evaluadas por MatLab y el resultado es almacenado y visualizado con el nombre ans. Una forma de asignar nombre a la variable es la siguiente: >> Variable=expresion; Ejemplo: >> Num_Estudiantes=26 crea una matriz 1 por 1, llamada Num_Estudiantes y le asigna el valor 26. El nombre de la variable debe empezar siempre por una letra y pueden tener hasta 31 letras y nmeros; el guin bajo se considera como una letra. No hace falta declarar las variables que se vayan a utilizar a diferencia de otros lenguajes de programacin (C y C++). Por defecto MatLab distingue maysculas de minsculas. El comando who da las variables en uso; whos es lo mismo, pero con ms detalle sobre el tamao, la cantidad de memoria ocupada y el caracter real o complejo de cada variable. El comando clear+ nombre de la variable, elimina una variable; clear sin argumento elimina todas las variables (excepto las variables globales); clear global borra las variables globales; clear functions borra las funciones; clear all borra todas las variables, incluyendo globales y funciones.

Programacin Aplicada Sem. 1-2006

Pg. 1 de 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

(b) Cadena de caracteres MatLab puede definir variables que contengan cadenas de caracteres. En MatLab las cadenas de texto van entre comillas ( ), por ejemplo: >> S='Cadena de Caracteres' S= Cadena de Caracteres (c) Comandos eps devuelve la diferencia entre 1.0 y el nmero de punto flotante inmediatamente superior. Da una idea de la precisin o nmero de cifras almacenadas. >> eps ans = 2.2204e-016 realmin devuelve el nmero ms pequeo con el que se puede trabajar (2.2251e-308) realmax devuelve el nmero ms grande con el que se puede trabajar (1.7977e+308) >> realmin ans = 2.2251e-308 >> realmax ans = 1.7977e+308 (d) Almacenar y recuperar datos El comando save preserva el contenido del espacio de trabajo en un archivo .MAT, que puede ser ledo con el comando load en cualquier sesin posterior. Por ejemplo: >> save Abril03 >> guarda todo el contenido del espacio de trabajo en el archivo abril03.mat (excepto los grficos).

Programacin Aplicada Sem. 1-2006

Pg. 2 de 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

Si se desea guardar slo ciertas variables, se debe especificar el nombre de las variables, despus del nombre del archivo. Por lo general las variables son almacenadas en formato binario que puede ser leda rpidamente (y con precisin) por MatLab. Si se desea tener acceso a estos archivos fuera de MatLab, tiene que especificarse un formato alternativo: ASCII: usa 8 digitos en formato texto ASCII double: usa 16 dgitos en formato texto

El comando diary crea un diario para la sesin de MatLab en el disco. Se puede ver y editar el archivo de texto resultante usando cualquier procesador de texto. Para recuperar en la siguiente vez se usa el comando load o load+nombre del archivo. (e) Control de los formatos de salida format short, hasta cinco dgitos signicativos; comando por defecto format long, hasta 15 dgitos format short e, notacin cientfica con 4 decimales (5 cifras) format long e, notacin cientfica con 15 decimales format short g, el mejor entre la notacin o flotante con 5 dgitos format long g, el mejor entre la cientfica o decimal dependiendo del valor format hex, formato hexadecimal format rat expresa los nmeros racionales como cocientes de enteros (f) Aritmtica Bsica: Operaciones con escalares Comandos sqrt, +, -, *, /,^, (), =, ==, round, ceil, floor, real, imag, conj, abs Funciones matemticas bsicas con argumento escalar: sin, cos, arcsin, log, ln, fix. Para informacin de ms funciones: help elfun; para funciones mas especializadas: help specfun

Programacin Aplicada Sem. 1-2006

Pg. 3 de 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

2. Generacin de Vectores y Matrices


Se puede introducir matrices en MatLab en diferentes formas: (a) Por enumeracin explicita de sus elementos. En esta forma se debe tener en cuenta lo siguiente: Separar los elementos de las filas por espacios en blanco o comas Usar el punto y coma para indicar el final de cada fila Encerrar toda la lista de elementos mediante corchetes Ejemplo: >> A = [23 45 -7 89; 3 7 15 39; 0 3 16 -1] A= 23 3 0 45 -7 89 7 15 39 3 16 -1

Cada vez que necesitemos esta matriz bastar referirnos a ella como A. Todos estos arreglos numricos deben ser rectangulares, esto significa que: Todas las filas en el arreglo deben tener el mismo nmero de columnas Todas las columnas en el arreglo deben tener el mismo nmero de filas (b) Por descripcin de sus elementos (mediante el uso del operador (:)). En MatLab el comandos(:) es un operador muy importante. Se puede utilizar en varias formas diferentes. Por ejemplo la expresin: >> 1:10 ans = 1 2 3 4 5 6 7 8 9 10

Para obtener un espaciamiento no unitario, se especifica el incremento. Por ejemplo: >> 100:-7:50 ans = 100 93 86 79 72 65 58 51

y finalmente podemos poner

Programacin Aplicada Sem. 1-2006

Pg. 4 de 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

>> 0:pi:10 ans = 0 3.1416 6.2832 9.4248

(c) Mediante los comando linspace(x,y,n) Genera un vector con n valores igualmente espaciados entre x e y logspace(x,y,n) Genera un vector con n valores espaciados logaritmicamente entre 10x y 10y. (d) Matrices predefinidas En las ltimas versiones de MatLab existen funciones que definen matrices de algunos tipos particulares. Algunas de estas funciones son: >> A=magic(4) A= 16 2 5 11 9 7 4 14 3 13 10 8 6 12 15 1

>> C=ones(4,3) C= 1 1 1 1 1 1 1 1 1 1 1 1

>> D=zeros(3,5) D= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Programacin Aplicada Sem. 1-2006

Pg. 5 de 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

>> E=eye(5) E= 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

>> F=diag([1 2 3 4 -1 -2]) F= 1 0 0 0 0 0 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 -1 0 0 0 0 0 0 -2

>> G=diag([1 2 3 4] -1 ) G= 0 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3

>> H=randn(5,5) H= -0.4326 1.1909 -0.1867 0.1139 0.2944 -1.6656 1.1892 0.7258 1.0668 -1.3362 0.1253 -0.0376 -0.5883 0.0593 0.7143 0.2877 0.3273 2.1832 -0.0956 1.6236 -1.1465 0.1746 -0.1364 -0.8323 -0.6918

Programacin Aplicada Sem. 1-2006

Pg. 6 de 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

3. Operaciones matriciales
(a) Suma y resta A - B La operacin de suma o resta de una matriz con un escalar consisten en sumar o restar el escalar a todos los elementos de la matriz (b) Multiplicacin La multiplicacion entre la matriz A y B, conformes para el producto, se indica por A*B Tambin se puede multiplicar elemento a elemento A.* B La multiplicacin por un escalar se ejecuta mediante la notacin k*AoA*k (c) Divisin Esta operacin se denota por A/B Se puede tambin dividir elemento a elemento A./B los elementos de A son divididos por los elemento equivalente de B A.\B los elementos de B son dividos por los elementos equivalentes de A Funciones que actan sobre vectores Las siguientes funciones actan sobre vectores y no sobre matrices ni escalares: sum(x) suma de los elementos de un vector mean(x) valor medio de los elementos de un vector [y,i]=sort ordena de menor a mayor los elementos de un vector; devuelve el vector ordenado y y un vector i con las posiciones iniciales en x Funciones que actan sobre matrices Las siguientes funciones exigen que el/los argumento/s sean matrices B=A' calcula la transpuesta (conjuda) de la matriz A t=trace(A) devuelve la traza de una matriz cuadrada A size(A) devuelve el nmero de filas y de columnas de una matriz rectangular A A^n n-sima potencia de A, matriz cuadrada y n un nmero real B=inv(A) calcula la inversa de A d=det(A) devuelve el determinante de la matriz cuadrada A eig(A) valores propios rank(A) calcula el rango de una matriz rectangular nor=norm(A) calcula la norma de una matriz (mayor valor singular)

Programacin Aplicada Sem. 1-2006

Pg. 7 de 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

Gua de ejercicios:
1.- Almacenar como variables y ejecutar las siguientes operaciones: (a) 5 + 7 - 8 (b) (7 - 5 + 3) (c).2 + round(6/9 + 3 - 2)/2 - 3 (b) 2 + floor(6/9 + 3 - 2)/2 - 3 (d) 2 + ceil(6/9 + 3 - 2)/2 3 2.- Guarde todas las variables creadas 3.- Guarde algunas variables 4.- Borrar todas las variables 5.- Borrar algunas variables 6. Formar un vector con todos los valores impares entre 31 y 75 7. Construir un vector, que comience en 2 y termine en 5, conteniendo 15 elementos 8. Construir un vector igualmente espaciado, entre -7 y 7 y que tenga 30 elementos 9. Escribir las siguientes matrices
1 2 3 A= 4 5 6 7 8 8 0 1 5 B= 3 6 9 2 6 1 1 2 C= 3 1

3 2 4 6 4 8 9 1 5 1 4 8

1 2 1 D= 1 4 1 2 4 5

5.- Efectuar las siguientes operaciones (a) A + B; A - B; C + D (b) AT ; BT ; CT (c) A-1; B-1; C-1 (d) A2; B3; C4 (e) A*2; A -4 (d) det(A); det(B); det(C) (e) inv(A); inv(B) 7.- Definir los siguientes vectores (a) x = (7; 2;-1) (b) y = (10; 20; 30) (c) z = (1/2; 0; 7; 8)
Programacin Aplicada Sem. 1-2006 Pg. 8 de 9

Universidad Tcnica Federico Santa Mara Sede Talcahuano Rey Balduino de Blgica Ingeniera Ejecucin en Control e Instrumentacin

(d) w = (4; 5; 6; 17) 8.- Efectuar las siguientes operaciones (a) A/B (b) B/A (c) B\A (d) A\B (e) XTX (f) XXT g.- Ordenar en forma ascendente, hallar la suma de los elementos, el valor medio de los elementos de los vectores x, y, z, w

Programacin Aplicada Sem. 1-2006

Pg. 9 de 9

Vous aimerez peut-être aussi