Traduccin: Ing. Alcides Cantero Temas: Qu es Matlab? Pantalla de Matlab Variables, array, matriz, indexacin Operadores (Aritmticos,relacionales, lgicos) Facilidades de display Control de flujo Uso de archivo .m Funciones definidas por el usuario Conclusin Qu es Matlab? Matlab es bsicamente un lenguaje de alto nivel que cuenta con varios toolboxes especializados de manera a facilitarnos las operaciones. Cuan alto?
Assembly High Level Languages such as C, Pascal etc. Matlab En qu estamos interesados? Matlab es demasiado amplio para este curso. Las caractersticas que se vern
MATLAB Comandos bsico Archivos .m Lnea de comando Funciones Ejecuciones como linea de comando DOS Toolboxes Image Processing Neural Network Pantalla de Matlab Ventana de commando Ingresar comandos
Directorio Actual Ver carpetas y archivos .m Workspace Variables de Programa Doble click para ver en el editor de Array Historial de Comandos Ver comandos pasados
Variables No hay necesidad de declaracin.,
Todas las variables son creadas con precisin double. A no ser que sean declaradas como matrices.
Luego de estas declaraciones las variables son matrices 1x1 de precisin double.
int a; double b; float c; Example: >>x=5; >>x1=2; Array, Matriz Un Vector x = [1 2 5 1]
x = 1 2 5 1
Una Matriz x = [1 2 3; 5 1 4; 3 2 -1]
x = 1 2 3 5 1 4 3 2 -1
Transpuesta y = x y = 1 2 5 1
Array, Matriz Long t =1:10
t = 1 2 3 4 5 6 7 8 9 10 k =2:-0.5:-1
k = 2 1.5 1 0.5 0 -0.5 -1
B = [1:4; 5:8]
B = 1 2 3 4 5 6 7 8
Generando arrays desde funciones zeros(M,N) Matriz de ceros MxN
ones(M,N) Matriz de unos MxN
rand(M,N) Matriz de nmeros MxN uniformemente distribuidos en el rango(0,1) x = zeros(1,3) x = 0 0 0
x = ones(1,3) x = 1 1 1
x = rand(1,3) x = 0.9501 0.2311 0.6068 Indices de Matrices El indice de las matrices empiezan en 1 (No 0 como en C) Los indices de las matrices deben ser enteros positivos Dado: A(-2), A(0)
Error: ??? Subscript indices must either be real positive integers or logicals.
A(4,2) Error: ??? Index exceeds matrix dimensions. Concatenacin de Matrices x = [1 2], y = [4 5], z=[ 0 0]
A = [ x y]
1 2 4 5
B = [x ; y]
1 2 4 5
C = [x y ;z] Error: ??? Error using ==> vertcat CAT arguments dimensions are not consistent. Operadores (Aritmticos) + adicin - substraccin * multiplicacin / divisin ^ potenciacin traspuesta conjugada compleja
Operaciones con matrices Dados A y B: Adicin Substraccin Producto Traspuesta Operadores (Elemento por Elemento)
.* Multiplicacin elemento por elemento ./ Divisin elemento por elemento .^ Potenciacin elemento por elemento
El uso de. K= x^2 Erorr: ??? Error using ==> mpower Matrix must be square. B=x*y Erorr: ??? Error using ==> mtimes Inner matrix dimensions must agree. A = [1 2 3; 5 1 4; 3 2 1] A = 1 2 3 5 1 4 3 2 1 y = A(3 ,:)
y= 3 2 1 b = x .* y
b= 3 4 3 c = x ./ y
c = 0.3 1.0 3.0 d = x .^2
d= 1 4 9 x = A(1,:)
x= 1 2 3 Tarea bsica: Graficar la funcin sin(x) entre 0x4 Crear un array x de 100 muestras entre 0 y 4.
ylabel(.) >>title(This is the sinus function) >>xlabel(x (secs)) >>ylabel(sin(x)) 0 10 20 30 40 50 60 70 80 90 100 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 This is the sinus function x (secs) s i n ( x ) Operadores (relacionales, lgicos) == Igual a ~= No igual a < Estrictamente menor > Estrictamente mayor <= Menor o igual a >= Mayor o igual a & Operador AND | Operador OR
Control de Flujo if for while break . Estructuras de Control Sintaxis IF
if (Condicion_1) Comandos MATLAB elseif (Condicion_2) Comandos MATLAB elseif (Condicion_3) Comandos MATLAB else Comandos MATLAB end
Algunos Ejemplos tontos
if ((a>3) & (b==5)) Comandos Matlab; end
if (a<3) Comandos Matlab; elseif (b~=5) Comandos Matlab; end
if (a<3) Comandos Matlab; else Comandos Matlab; end
Estructuras de Control Sintaxis ciclo FOR
for i=indice_array Comando Matlab; end
Algunos ejemplos tontos
for i=1:100 Comandos Matlab; end
for j=1:3:200 Comandos Matlab; end
for m=13:-0.2:-21 Comandos Matlab; end
for k=[0.1 0.3 -13 12 7 -9.3] Comandos Matlab; end
Estructuras de Control Sintaxis ciclo WHILE
while (condicion) Comandos Matlab; end
Otro Ejemplo Tonto
while ((a>3) & (b==5)) Comandos Matlab; end
El Archivo .M Click para crear un nuevo archivo .m Extension .m Un archivo de texto conteniendo un script o funcion para ejecutar
Uso del .m Si se incluye ; al terminar una linea, el resultado no sera mostrado al instante
Guardar archivo como prueba1.m Funciones definidas por el usuario Las funciones son archivos .m que pueden ser ejecutados especificando ciertas entradas(inputs), lo que genera una salida deseada. El cdigo que le dice a Matlab que el .m es una funcin es:
Debes escribir este comando al inicio del archivo .m y el mismo debe ser guardado con el mismo nombre de la funcin. function out1=nombreFuncion(in1) function out1=nombreFuncion (in1,in2,in3) function [out1,out2]=nombreFuncion(in1,in2) Funciones definidas por el usuario Ejemplos Escribe una funcin: resultado=alCuadrado (A, ind) Calcula el cuadrado de la matriz si el indicador ind es igual a 1. Calcula el cuadrado elemento por elemento de la matriz si el indicador ind es igual a 2.
Mismo nombre
Notas: % es el caracter de comentario en Matlab. El compilador ignora las lineas. El comando pause es utilizado para demorar la ejecucin y observar resultados.
pause %demorar hasta apretar tecla pause(3) %demorar 3 segundos Comandos tiles Dos de los comandos ms tiles son: