Professional Documents
Culture Documents
MatLab
MatLab es una abreviatura de la frase Matrix Laboratory (Laboratorio de Matrices). Es un entorno informtico de anlisis numrico y representacin grfica de fcil manejo. Originalmente fue escrito para la enseanza de lgebra lineal, aunque actualmente es, al mismo tiempo, un entorno y un lenguaje de programacin. Tambin permite crear funciones propias y programas especiales (denominados archivos-M) en cdigo MatLab, que se pueden agrupar en las llamadas Toolboxes: coleccin especializada de archivos-M para trabajar en distintos tipos de problemas, por ejemplo de optimizacin, de estadstica, de ecuaciones diferenciales parciales, etc. Se puede considerar, por otro lado, que MatLab es una calculadora totalmente equipada aunque, en realidad, es mucho ms verstil que cualquier calculadora para hacer clculos matemticos. Se trata de una plataforma para el desarrollo de aplicaciones y para la resolucin de problemas en mltiples reas de aplicacin. Entre sus utilidades, se encuentra: Clculo matricial y Algebra lineal. Polinomios e interpolacin. Regresin y ajuste de funciones. Ecuaciones diferenciales ordinarias. Integracin. Funciones y grficos en dos y tres dimensiones.
Archivos M
Se pueden colocar rdenes en un simple archivo de texto (o ascii) y, hacer que MatLab lo abra y evale las rdenes exactamente como si hubiesen sido escritas desde la lnea de comandos. Estos archivos se llaman archivos script o archivos-M, y deben finalizar con la extensin m. Para crear un archivo-M se escoge New del men File y seleccionamos M-file. Una vez guardado este archivo-M, MatLab ejecutar las rdenes en dicho archivo simplemente escribiendo su nombre (sin extensin) en la lnea de comandos. Normalmente, las rdenes ledas desde el archivo-M no se visualizan cuando se evalan.
TELEMTICA
Page 1
Nota:
MatLab slo opera en radianes. Para ver las diferentes funciones elementales y trigonomtricas teclear: help elfun
TELEMTICA
Page 2
Logaritmos
log (x) Logaritmo natural. log10 (x) Logaritmo decimal.
Variables y Operadores
Los operadores bsicos que usa MatLab son:
Aritmticos:
ESCALAR + * / \ ^ MATRIZ + * / \ ` VECTOR + .* ./ \. .' DESCRIPCIN Adicin (Suma) Sustraccin (Resta) Multiplicacin Divisin hacia la derecha Divisin hacia la izquierda Transposicin (Potencia)
TELEMTICA
Page 3
Lgicos y Relacionales:
>Mayor que. < Menor que. >= Mayor o igual a. <= Menor o igual a. == Igual a. ~= No igual a.
Grficos
MatLab presenta un entorno grfico de muy fcil manejo. El ejemplo ms sencillo para crear grficos es el siguiente x = rand(10,1); y = rand(10,1); plot(x,y) El comando plot dibuja los puntos (xi; yi) unindolos por lneas continuas. Para dibujar un diagrama de dispersin de las variables x e y se teclea plot(x,y,.) Cuando se pone el comando as plot(x) puede resultar muy til, por ejemplo en series temporales, ya que dibuja los puntos (xi; i) unindolos por lneas continuas. subplot(m,n,p)
TELEMTICA
Page 4
Caracteres especiales
CARACTERES [] () , ; DESCRIPCIN Se utilizan para formar vectores y matrices Define precedencia en expresiones aritmticas. Encierra argumentos de funciones en forma usual Separador de elementos de una matriz, argumentos de funciones y declaraciones en lneas con declaraciones mltiples Separador de declaraciones, termina renglones de una matriz
TELEMTICA
Page 5
*OBJETIVO GENERAL:
En esta prctica aprender a utilizar el programa de MatLab y su funcionamiento. Adems de adquirir destreza, conocimientos prcticos en las operaciones, funciones y elaboracin de graficas. Ya que ocuparemos MatLab en este curso.
*OBJETIVO ESPECFICO:
Entrada y salida de datos. Representaciones graficas sencillas. Realizar operaciones bsicas. Conocer las diferentes funciones de MatLab. Utilizar y conocer los diferentes comandos del Sistema Operativos de MatLab.
*MATERIAL:
Computadora. Software de MatLab.
*Desarrollo:
1-. Instale MatLab en mi computadora. 2-. Iniciamos MatLab. Sale la pantalla en blanco con una lnea de comandos indicada por el smbolo >> donde se puede introducir instrucciones.
Iniciamos MatLab
TELEMTICA
Page 6
Variables actuales
Lnea de Comandos
Historial de Comandos
3-.Realizamos las siguientes operaciones e imprimimos pantalla para comprobar el resultado que nos da. a) b) c) d) e) 255+80-190= 145 95x 100x(-3)= -27000 (20/3)-(1/7)= 137/21 95-44 = 58793 100e-20+150-364= 146
4-. Despus graficamos las siguientes funciones. a) b) c) d) e) 15t2-3t+2 15cos120t 10sen120t+5cos 240t-2 10sen(120t-(/2)) 100e-400t
TELEMTICA
Page 7
Imprimimos pantalla o bien hay un nos abre una ventana donde nos aparece la grafica, hay una opcin en donde dice Edit le damos clic y luego nos colocamos en donde dice Copy Figure y le damos clic, despus se copiara y la imagen que nos genero le damos Control+v en Word o Paint y nos quedara as:
10 8 6 4 2 0 -2 -4 -6 -8 -10
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
Edit
Copy Figure
TELEMTICA
Page 8
5-. Desarrollamos una funcin en MatLab para encontrar lo que se pide a continuacin: a) El factorial de un nmero. b) Resolver una ecuacin de segundo grado mediante la frmula general. c) Resolver una ecuacin de segundo grado mediante la regla de Cramer. Guardamos el programa utilizando el editor de texto de MatLab e imprimimos pantalla, para poder visualizar el resultado que nos arroja el programa.
6-. Y por ultimo explicamos el funcionamiento de las siguientes funciones y damos un ejemplo de cada una. Para saber que hace cada funcin nos apoyamos con help funcin, donde funcin sera el nombre de la funcin sobre la que necesitamos la ayuda. Esto se escribe en la lnea de comandos.
Ejemplo:
TELEMTICA
Page 9
a) clc b) dos c) exit d) demo e) help f) info g) clear h) whos i) who j) dir k) cd l) web m) mkdir n) delete o) disp p) size q) length
r) ndims s) numel t) size u) cat v) find w) end x) min y) max z) sort aa) sum bb) sqrt cc) linspace dd) ones ee) rand ff) zeros gg) plot hh) stem ii) subplot
TELEMTICA
Page 10
*RESULTADOS OBTENIDOS:
1.- Realice las siguientes operaciones utilizando MatLab:
a) 255+80-190= 145
c) (20/3)-(1/7)= 6.523809524
d) 95-44 = 58793
TELEMTICA
Page 11
e) 100e-20+150-364= 8.24744892
Editor de texto
TELEMTICA
Page 12
b) 15cos120t
Grafica obtenida
Editor de texto
c) 10sen120t+5cos 240t-2
10
Grafica obtenida
-5
-10
-15
-20
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Editor de texto
TELEMTICA
Page 13
d) 10sen(120t-(/2))
Grafica obtenida
10 8 6 4 2 0 -2 -4 -6 -8 -10
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
Editor de texto
e) 100e-400t
100 90 80 70 60 50 40 30 20 10 0
Grafica obtenida
Editor de texto
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
TELEMTICA
Page 14
TELEMTICA
Page 15
Variables
TELEMTICA
Page 16
TELEMTICA
Page 17
4-. Explique el funcionamiento de las siguientes funciones y d un ejemplo: Funcin Funcionamiento clc Borra toda la pantalla pero deja internamente el valor de las variables. dos Ejecutar comandos de DOS y resultado devuelto. exit Salir de MatLab demo Acceda a demostraciones de productos a travs del navegador de ayuda. help Proporciona ayuda sobre el tema seleccionado. info Informacin sobre MathWorks. clear Borra toda la pantalla de Workspace. whos Lista las variables en uso y su descripcin. who Enumera todas las variables usadas hasta el momento dir Lista el contenido del directorio actual. cd Cambie el directorio de trabajo actual. web Abra el navegador web en el sitio o los archivos. mkdir Hacer nuevo directorio. delete Eliminar archivo o un objeto grfico. disp Pantalla de matriz. size Devuelve la dimensin de un vector o matriz. length ndims numel size Longitud de un vector, vea tambin size. Nmero de dimensiones. Nmero de elementos de una matriz o expresin vector indexada. Devuelve la dimensin de un vector o matriz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 cat Concatenar matrices. 22 find Encuentra los ndices de los elementos distintos de cero. 23 end Terminar alcance de FOR, WHILE, INTERRUPTOR, juzgar y IF. 24 min Componente ms pequeo . 25 max Componente ms grande. 26 sort Ordenar de forma ascendente o descendente. 27 sum Suma de los elementos. 28 sqrt Calcula raz cuadrada. 29 linspace Devuelve un vector linealmente espaciado. 30 ones Devuelve un vector o matriz de unos. 31 rand Linealmente espaciados vector. 32 zeros Zeros matriz. 33 plot Dibuja un grfico. Trama lineal. 34 stem Secuencia discreta o trama "madre". 35 subplot Crear ejes en los puestos de baldosas.
TELEMTICA Page 18
*Ejemplo
DOS
Ejemplo: [s, w] = dos('dir') hace un listado de directorio y devuelve s = 0, y la cadena que contiene el listado w.
TELEMTICA
Page 19
EXIT
*Ejemplo: demo 'matlab' demo 'toolbox' 'signal' demo 'matlab' 'getting started' HELP
TELEMTICA
Page 20
INFO
TELEMTICA
Page 21
WHOS
*Ejemplo: whos a* whos -regexp ^b\d{3}$ % Mostrar variables que empiezan con "a" % Mostrar variables nombres que comienzan con "b" % y seguido de 3 dgito whos -file fname -regexp \d % Mostrar nombres de las variables que contienen % los dgitos que hay en fname MAT-file
TELEMTICA
Page 22
WHO
*Ejemplo: who a* who -regexp ^b\d{3}$ % Mostrar nombres de las variables que empiezan con "a" % Mostrar nombres de las variables que empiezan con "b" % y seguido de 3 dgitos who -file fname -regexp \d % Mostrar nombres de las variables que contienen los dgitos % que hay en fname MAT-file
TELEMTICA
Page 23
DIR
TELEMTICA
Page 24
WEB
*Ejemplo: web file:///disk/dir1/dir2/foo.html abre el archivo en foo.html un navegador interno. web('foo.html'); abre la foo.html archivo si est en el camino de MATLAB. web('html/foo.html'); abre el archivo html / foo.html, que es relativa al directorio de trabajo actual. web('text://<html>Hello World</html>'); muestra el texto con formato html dentro de un navegador interno. web('http://www.mathworks.com', '-new'); carga la pgina Web de The MathWorks en un nuevo navegador interno.
TELEMTICA
Page 25
MKDIR
*Ejemplo: Crear una subcarpeta en la carpeta actual Crear una subcarpeta llamada newdir en la carpeta actual: mkdir('../testdata','newFolder')
TELEMTICA
Page 26
DELETE
*Ejemplo: Elimine todos los archivos con una extensin de alfombra en los mytests .. / / carpeta.: delete('../mytests/*.mat') Crear una figura y un eje, y elimine los ejes:
hf = figure, ha = axes hf = 1 ha = 170.0332 delete(ha)
Los ejes se eliminan, pero siguen siendo la figura. Los ejes de manejar ha permanece en el rea de trabajo pero ya no apunta a un objeto.
TELEMTICA
Page 27
DISP
*Ejemplo: Mostrar una matriz con etiquetas de columna En este ejemplo se utiliza DISP para visualizar una matriz con las etiquetas de las columnas:
disp(' Corn Oats Hay') x = gallery('uniformdata',[5 3],0); disp(x)
SIZE
TELEMTICA
Page 28
*Ejemplo: Si X = rand(2,3,4); Entonces d = size(X) returns d = [2 3 4] [m1,m2,m3,m4] = size(X) returns m1 = 2, m2 = 3, m3 = 4, m4 = 1 [m,n] = size(X) returns m = 2, n = 12 m2 = size(X,2) returns m2 = 3
LENGTH
*Ejemplo: Crear un X 1-por-8 matriz y utilizar longitud para encontrar el nmero de elementos en el segundo (el ms grande) dimensin:
X = [5, 3.4, 72, 28/4, 3.61, 17 94 89]; length(X) ans = 8
NDIMS
*Ejemplo:
ndims(x) is length(size(x)).
TELEMTICA
Page 29
NUMEL
CAT
TELEMTICA
Page 30
*Ejemplo: a = magic(3); b = pascal(3); c = cat(4,a,b) produces a 3-by-3-by-1-by-2 result and s = {a b}; for i=1:length(s), siz{i} = size(s{i}); end sizes = cat(1,siz{:}) produces a 2-by-2 array of size vectors. FIND
*Ejemplo: A = magic(3) find(A > 5) encuentra los ndices lineales de las 4 entradas de la matriz A son que mayor que 5. [rows,cols,vals] = find(speye(5)) encuentra el ndices de fila y de columna y los valores no nulos de la 5-por-5 matriz de identidad escasa.
TELEMTICA Page 31
END
*Ejemplo: Este ejemplo muestra final utilizada con las declaraciones a for y if.
for k = 1:n if a(k) == 0 a(k) = a(k) + 2; end end
B = A(end,2:end) B = 18 25 2 9
TELEMTICA
Page 32
MIN
*Ejemplo:
Devolver el mnimo de una matriz 2-por-3 de cada columna: X = [2 8 4; 7 3 9]; min(X,[],1) ans = 2 3 4 Devuelve el mnimo de cada fila: min(X,[],2) ans = 2 3 Comparar cada elemento de X a un escalar: min(X,5) ans = 2 5 5 3 4 5 Page 33
TELEMTICA
MAX
*Ejemplo: Devolver el mximo de una matriz 2-por-3 de cada columna: X = [2 8 4; 7 3 9]; max(X,[],1) ans = 7 8 9 Devuelve el mximo de cada fila: max(X,[],2) ans = 8 9 Comparar cada elemento de X a un escalar: max(X,5) ans = 5 7 8 5 5 9
Page 34
TELEMTICA
SORT
*Ejemplo:
v = [1 -1 i -i]; angle(v) ans = 0 sort(v) ans = 0 - 1.0000i 0 + 1.0000i 1.0000 -1.0000 3.1416 1.5708 -1.5708
TELEMTICA
Page 35
SUM
6 7 2
Esto se llama un cuadrado mgico porque las sumas de los elementos de cada columna son iguales.
sum(M) = 15 15 15
como son las sumas de los elementos en cada fila, obtenidos ya sea mediante la transposicin o mediante el argumento tenue. Transposing
sum(M') = 15 15 15
TELEMTICA
Page 36
SQRT
*Ejemplo:
B = sqrt(X)
LINSPACE
*Ejemplo: Crear un vector de 100 nmeros linealmente espaciadas 1 a 500: A = linspace(1,500); Crear un vector de 12 nmeros linealmente espaciadas 1 a 36: A = linspace(1,36,12); ONES
*Ejemplo: x = ones(2,3,'int8');
TELEMTICA Page 37
RAND
*Ejemplo: Generar valores de la distribucin uniforme en el intervalo [a, b]: r = a + (b-a).*rand(100,1); ZEROS
*Ejemplo: x = zeros(2,3,'int8');
TELEMTICA
Page 38
PLOT
*Ejemplo: plot(X,Y,'c+:') traza una lnea de puntos cyan con un plus en cada punto de datos. plot(X,Y,'bd') diamante azul parcelas en cada punto de datos, pero no dibuja ninguna lnea. x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10)
TELEMTICA
Page 39
STEM
*Ejemplo: Sola serie de datos En este ejemplo se crea un diagrama de tallo que representa el coseno de 10 valores espaciados linealmente entre 0 y 2. Tenga en cuenta que el estilo de lnea de la lnea de base se establece en primer lugar conseguir su asa de propiedad BaseLine el objeto de stemseries.
figure t = linspace(-2*pi,2*pi,10); h = stem(t,cos(t),'fill','--'); set(get(h,'BaseLine'),'LineStyle',':')
set(h,'MarkerFaceColor','red')
TELEMTICA
Page 40
SUBPLOT
*Ejemplo: Subparcelas superior e inferior con ttulos Para trazar los ingresos en la mitad superior de una figura y egresos en la mitad inferior,
income = [3.2,4.1,5.0,5.6]; outgo = [2.5,4.0,3.35,4.9]; subplot(2,1,1); plot(income) title('Income') subplot(2,1,2); plot(outgo) title('Outgo')
TELEMTICA
Page 41
TELEMTICA
Page 42
TELEMTICA
Page 43
TELEMTICA
Page 44