Vous êtes sur la page 1sur 30

Introduccin a Matlab

Original en ingls: .Ycel zbek


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.


Calcular sin(.) del array x


Graficar el array y


>>x=linspace(0,4*pi,100);
>>y=sin(x);
>>plot(y)
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
Facilidades al graficar
plot(.)



stem(.)

Example:
>>x=linspace(0,4*pi,100);
>>y=sin(x);
>>plot(y)
>>plot(x,y)


Example:
>>stem(y)
>>stem(x,y)

0 10 20 30 40 50 60 70 80 90 100
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0 10 20 30 40 50 60 70 80 90 100
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Facilidades al graficar
title(.)

xlabel(.)

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:

>>help nombrefuncion

>>lookfor palabraclave
Preguntas
?
?
?
?
?

Vous aimerez peut-être aussi