Está en la página 1de 63

Introduccin al MATLAB

Juan Mauricio
jmauricio@conida.edu.pe

Contenido del Curso


1. Entorno de MATLAB
2. Comandos Bsicos
3. Tratamiento de Escalares, Vectores y Matrices
4. Instrucciones de control: IF-FOR-WHILE
5. Ordenamiento de vectores y matrices
6. Lectura y escritura de archivos de audio
7. Lectura y escritura de archivos de imgenes
2

Comandos
Bsicos de
MATLAB
3

Entorno de MATLAB
MATLAB MATrix LABoratory
Programa basado en Matrices
Vectores y escalares tambin pueden ser
considerados como matrices

Icono de MATLAB

Histrico de comandos

Ruta de trabajo

Ventana de comando

Definiendo una Matriz


Los elementos de una fila son separados por
espacios o comas
El final de cada fila es indicado por un punto y
coma
coma
La lista de los elementos de una matriz es
delimitada por [ ]

Definiendo una Matriz


Escalar

>> 25

Matriz 1x1

Vector Fila

>> [3 -4 6]

Matriz 1x3

Vector Columna >> [5; 10;-3; 6]


5
10

3

6

Matriz

Matriz 4x1

41

>> [2 4; 5 -8; 2 0] Matriz 3x2


2 4
5 8

2 0

3 2

Definiendo una Matriz

Comandos Bsicos

10

sum
Suma de los elementos de cada columna de una matriz

2 4
A 5 8
2 0

sum( A) [9 4]

11

Transpuesta ( )
Transpuesta de una matriz
5
10
A
3

6
A ' 5 10 3 6

A transpuesta

12

diag
Extrae la diagonal de uma matriz cuadrada

13

magic
A = magic(4)
ans =
16
2
3 13
5 11 10
8
9
7
6 12
4 14 15
1

14

fliplr Espejo Horizontal


Espejo horizontal de una matriz

>> A
A =
16
5
9
4

3
10
6
15

2
11
7
14

13
8
12
1

fliplr Espejo Horizontal


>> fliplr(A)
A =
13
2
8
11
12
7
1
14

3
10
6
15

16
5
9
4

flipud Espejo Vertical


Espejo vertical de una matriz

>> A
A =
16
5
9
4

3
10
6
15

2
11
7
14

13
8
12
1

flipud Espejo Vertical


>> flipud(A)
A =
4
15
9
6
5
10
16
3

14
7
11
2

1
12
8
13

Suma de Matrices

2 4
5 8

2 0

14
2 18

8 6 0


10
1 10

19

Indexacin de Matrizes
Matriz Bidimensional: A(i,j) es el
elemento de la i-sima fila, j-sima
columna
A =

16
5
9
4

3
10
6
15

2
11
7
14

A(2,3) = 11

13
8
12
1

Indexacin de Matrizes
Suma de los Elementos de la 2a fila:

>> A(2,1) + A(2,2) + A(2,3) + A(2,4)


ans =
34

Redimensionamiento Automtico
Para la Matriz
A =

16
5
9
4

3
10
6
15

2
11
7
14

13
8
12
1

Redimensionamiento Automtico
>> X = A;
>> X(5,5) = 29
X =
16
3
5
10
9
6
4
15
0
0

2
11
7
14
0

13
8
12
1
0

0
0
0
0
29

El operador : (dos puntos)


>> 1:10
ans =
1 2

>> 1:3:27
ans =
1 4 7

10

13

16

19

22

10

25

El operador : (dos puntos)


>> 60:-7:0
ans =
60 53

46

>> 0:pi/4:pi
ans =
0 0.7854

39

32

1.5708

25

18

2.3562

11

3.1416

El operador : y Matrices
A(1:m, n):
n) primeros m elementos de la n-sima
columna
A(:, n):
n) todos los elementos de la n-sima columna
A(:, end):
end) todos los elementos de la ltima columna
A(m, 1:n):
1:n) primeros n elementos de la m-sima fila
A(m, :):
:) todos los elementos de la m-sima fila
A(end,:):
A(end,:) todos los elementos de la ltima fila

El operador : (dos puntos)


Matriz Bidimensional: A(i,j) es el elementos de la
i-esima fila, j-esima columna

A(1,4) = 13
A(3,2) = 6

27

El operador : y Matrices

>> A(1:4,1)
ans =
16
5
9
4

>> A(:,1)
ans =
16
5
9
4

O Operador : y Matrizes

>> A(:,4)
ans =
13
8
12
1

>> A(:,end)
ans =
13
8
12
1

Funciones de Creacin de Matrices


zeros:
zeros matriz de ceros
ones:
ones matriz de unos
rand:
rand matriz de nmeros aleatrios
con distribucin uniforme
randn:
randn matriz de nmeros aleatrios
con distribucin normal (Gaussiana)

Funciones de Creacin de Matrices


>> Z = zeros(3,5)
Filas

Z =
0
0
0

0
0
0

0
0
0

Columna

0
0
0

0
0
0

Funciones de Creacin de Matrices


>> Q
Q =
4
4
4
4
4

= 4*ones(5,5)
4
4
4
4
4

4
4
4
4
4

4
4
4
4
4

4
4
4
4
4

Funciones de Creacin de Matrices


>> N = rand(2,4)
N =
0.95013 0.60684
0.23114 0.48598

0.8913
0.7621

0.45647
0.018504

Exclusin de Filas o Columnas


>> X = A;
>> X(:,2) = []
X =
16
2 13
5 11
8
9
7 12
4 14
1

Algebra Lineal para Matrices

+ : suma
- : substraccin
/ : divisin de matrices
* : multiplicacin de matrices
^ : potencia de una matriz
inv : inversa de una matriz

Operadores Aritmticos para Matrices


+ : suma
- : substraccin
./ : divisin elemento a elemento
.* : multiplicacin elemento a
elemento
.^ : potencia elemento a elemento

Aritmtica x Algebra Lineal


>> A = magic(4);
>> B = A+A
B =
32
10
18
8

4
22
14
28

6
20
12
30

26
16
24
2

>> A = magic(4);
>> C = A-A
C =
0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

Aritmtica x Algebra Lineal


>> A = magic(4);
>> B = A./A
B =
1
1
1
1

1
1
1
1

1
1
1
1

>> A = magic(4);
>> C = A/A
1
1
1
1

Warning: Matrix is close to singular


or badly scaled. Results may be
inaccurate. RCOND = 9.796086e-018.

C =
1
-0.67
-0.04
0

0
-1
-0.13
0

0
2
1.13
0

0
0.67
0.04
1

Aritmtica x Algebra Lineal


>> A = magic(4);
>> B = A.*A
B =
256
25
81
16

4
121
49
196

9
100
36
225

>> A = magic(4);
>> C = A*A
C =
169
64
144
1

345
257
281
273

257
313
305
281

281
305
313
257

273
281
257
345

Aritmtica x Algebra Lineal


>> A = magic(4);
>> B = A.^2
B =
256
25
81
16

4
121
49
196

9
100
36
225

>> A = magic(4);
>> C = A^2
C =
169
64
144
1

345
257
281
273

257
313
305
281

281
305
313
257

273
281
257
345

Comando find
A = [9 -2
4
5 -5
0
3
4]
Para encontrar elementos de una matriz
>>x =find(A==4)
x=
3

Condicin lgica

Indices de los elementos

8 con valor igual a 4

>>A(x)
ans=
4

41

Comando find
A=
1 14
5
Para encontrar
7
1 14 elementos de una matriz
2

10

>>x =find(A==14)
Condicin lgica
x=
4
Indices de los elementos
8 con valor igual a 14
>>A(x)
ans=
14
14
42

Comando
find
A=
1 14
5
Para encontrar
elementos de una matriz
7
1 14
2

10

>>x =find(A>2 & A<10)


x=
2
Condicin lgica
7
Indices de los elementos
9
con valor mayor que 2 y
>>A(x)
menor que 10
ans=

7
5
3

43

Comando round/ ceil / floor


Usado para redondeo
Redondeo
round(1.2)=1
round(1.5)=2
Redondeo para arriba
ceil(1.2) = 2
ceil(1.8) = 2
Redondeo para abajo
floor(1.2) = 1
floor(1.8) = 1
44

Comando abs/ sqrt/ log/ log2/


log10
Valor absoluto

abs(-2.3) = 2.3

Raiz cuadrada

sqrt(4) = 2

Logaritmo neperiano base e

log(16) = 2.077

Logaritmo en base 2

log2(16) = 4

Logaritmo en base 10

log10(100) = 2

45

Comando plot
x = 0:0.1:10;
y = sin(x);
plot(x,y)

%variacion del eje x


%variacion del eje y
%Grafica x versus y

46

Comando plot
t = 0:0.1:10;
y = sin(t);
plot(t,y)
grid
title('onda seno')
xlabel('eje x')
ylabel('eje y')

47

Comando plot
t = 0:0.1:10;
y1 = sin(t);
y2 = cos(t)
plot(t,y1,t,y2)
grid
title('onda seno y onda coseno')
xlabel('eje x')
ylabel('eje y')
legend('seno', 'coseno')
48

Comando stem
t = 0:0.1:10;
y = sin(t);
stem(t,y1)
grid
title('onda seno')
xlabel('eje x')
ylabel('eje y')
49

Comando min / max


A = [2 -3 6 -8 3]
[valor, indice] = min(A)
valor = -8
indice = 4
[valor, indice] = max(A)
valor = 6
indice = 3
50

Problema 1
Para la matriz A, Substituir los elementos de las filas 2 a 3 y
columnas 1 a 2 por una matriz cuadrada B, de unos de
orden 2
A=
3
5
-3

-2
6
5

B=
1
1

1
1

5
9
10

51

Problema 1
A =[3 -2 5; 5 6 9; -3 5 10]
B = ones(2,2)
A(2:3,1:2) = B
A=
3
1
1

-2
1
1

5
9
10

52

Problema 2
Determinar el indice de t, donde la funcin
y=t^2 es minima
t = -10:0.1:10;
y = t.^2;
plot(t,y)
[valor, indice] = min(y)
indice=101
t(indice)= 0
53

Funciones m-file
Abrir un
editor

54

Funciones m-file

Editor para
generar
programas con
extensin *.m

Ventana de
comando

55

56

Funciones m-file
Para ejecutar el programa
1. Desde el editor presionar la tecla F5
2. Desde la ventana de comando, llamar al archivo
ejemplo.m

Tecla:F5
57

Problema 3
Realizar un programa para construir
una Matriz

A = [3 5; 9 1]
B = [-2 3]
C = [10; 15]
D= 1
58

Funciones escritas por el usuario

59

Funciones escritas por el


usuario

Uso de la
funcin

60

Problema 4
Para la ecuacin
t = 0:0.1:100;
h = 60+2.13*t.^2 - 0.0013*t.^4+0.00003*t.^4.751
Realizar un programa para
Graficar t vs h
Determinar el valor de t, donde h es mximo
Determinar el valor de t, donde h es cero
61

Problema 4
t = 0:0.1:100;
h = 60 + 2.13*t.^2 - 0.0013*t.^4 + 0.00003*t.^4.751
[valor, indice] = max(h)
t(indice)
z = find(h >= 0)
t(z(end))
plot(t,h),grid

62

Problema 5
Generar 10000 nmeros aleatorios, con
distribucin Gaussiana, com valor medio 10 y
desvio padrn 2
>> r = 10 + 2*randn(1,10000)
>> hist(r)

63

También podría gustarte