Vous êtes sur la page 1sur 25

Unidad 2:

Arreglos en MATLAB
Luis A. Muoz UPC - 2013
Arreglos en MATLAB
Un arreglo es una coleccin ordenada de elementos
de una misma clase (double, char, logical). Cada
elemento tiene una ubicacin determinada dentro
del arreglo.
Vector fila (1x5)
Vector columna (5x1)
Escalar (1x1)
Matriz (5x5)
Generar arreglos en MATLAB
3 4 5 6 7
1
2
3
4
5
7 8 9
4 5 6
1 2 3
Vec = [3 4 5 6 7]
Vec = [3, 4, 5, 6, 7]
Vec = [1; 2; 3; 4; 5]
Vec = [1
2
3
4
5]
Mat = [1 2 3; 4 5 6; 7 8 9]
Indices de los elementos
>> vec = [2 4 6 8 10 12 14 16 18 20]

vec =
2 4 6 8 10 12 14 16 18 20

El 1er elemento es 2 : vec(1)
El 2do elemento es 4 : vec(2)
El 3er elemento es 6 : vec(3)
. .
. .
. .
El ltimo elemento es 20 : vec(10)
: vec(end)
Elementos en vector fila
Indices de los elementos
>> vec = [10; 20; 30; 40; 50; 60; 70; 80; 90]

vec =

10 El 1er elemento es 10 : vec(1)
20 El 2do elemento es 20 : vec(2)
30 El 3er elemento es 30 : vec(3)
40 . .
50 . .
60 . .
70 El ltimo elemento es 90 : vec(9)
80 : vec(end)
90


Elementos en vector columna
Indices de los elementos
>>mat = [1 2 3; 4 5 6; 7 8 9]

mat =
1 2 3
4 5 6
7 8 9

El 1er elemento es 1 : mat(1)
El 2do elemento es 4 : mat(2)
El 3er elemento es 7 : mat(3)
. .
. .
. .
El ltimo elemento es 9 : mat(9)
Elementos en matriz
Indices de los elementos
>>mat= [1 2 3; 4 5 6; 7 8 9]

mat =
1 2 3
4 5 6
7 8 9

El 1 ocupa la fila 1, columna 1 : mat(1,1)
El 2 ocupa la fila 1, columna 2 : mat(1,2)
El 3 ocupa la fila 1, columna 3 : mat(1,3)
El 4 ocupa la fila 2, columna 1 : mat(2,1)
El 5 ocupa la fila 2, columna 2 : mat(2,2)
El 6 ocupa la fila 2, columna 3 : mat(2,3)
Elementos en matriz
Operador :
El operador : permite expresar un rango de datos, ya sea para asignar
variables o para indicar posiciones. Tiene la siguiente forma:

val_inicial: paso: val_final

Si es paso no es definido este tiene un valor de 1 por defecto

Vec1 = 1:10 Vec1 = 1 2 3 4 5 6 7 8 9 10

Vec2 = 0:2:10 Vec2 = 0 2 4 6 8 10

Vec3 = 1:3:20 Vec3 = 1 4 7 10 13 16 19

Vec4 = 10:-2:2 Vec4 = 10 8 6 4 2


Operador :
>>mat= [1 2 3; 4 5 6; 7 8 9]

mat =
1 2 3
4 5 6
7 8 9

vec = mat(:,1) vec = [1;2;3]

vec = mat(1,:) vec = [1 2 3]

vec = mat(1:3,1:2) vec = [1 2; 4 5; 7 8]

vec = mat([1 3],1:2) vec = [1 2; 7 8]

vec = mat(:,2) vec = [2; 5; 8]

vec = mat(2,:) vec = [4 5 6]

Referencia : www.mathworks.com
Funcin linspace
Genera un vector linealmente espaciado con un nmero de elementos desde un
valor inicial a un valor final. Es til cuando no se conoce el paso a escoger entre los
elementos pero se conoce el nmero de elementos que debe de tener el vector.

linspace (val_inicial,val_final,num_elementos)

Si no se especifica num_elementos, se asume el valor por defecto de 100 elementos.

vec = linspace (3,10,8) vec = [3, 4, 5, 6, 7, 8, 9, 10]

vec = linspace(2,20) vec = [2.0000, 2.1818, 2.3636, 19.8182, 20.0000]

vec = linspace(5,-4,5) vec = [5.0000, 2.7500, 0.5000, -1.7500, -4.0000]
Transpuesta de un arreglo
La transpuesta de un arreglo (A) consiste en convertir las
filas en columnas y viceversa.
A =
3 5 3 4
20 18 0 6
5 15 18 13
A =
3 20 5
5 18 15
3 0 18
4 6 13
Adicionar o eliminar elementos a un
arreglo
Un arreglo creado previamente puede alterar
su estructura inicial mediante la insercin de
nuevos elementos.
A un vector se le agregan o eliminar nuevos
elementos, lo que modifica su longitud
A una matriz se le agregan o eliminan filas o
columnas, lo que modifica sus dimensiones.
Adicionar o eliminar elementos a un
arreglo
Sea el vector V = [6 8 10]

>>V(4:6) = [12 14 16]

V =
[6 8 10 12 14 16]

>> V = [0:2:4 V]

V =
[0 2 4 6 8 10 12 14 16]
>>V(1) = [ ]

V =
[2 4 6 8 10 12 14 16]

>> V(1:2:end) = [ ]

V=

[4 8 12 16]

Adicionar o eliminar elementos a un
arreglo
Sea la matriz

A = [1 2 3; 4 5 6]

1 2 3
4 5 6

>>A(3,:) = [7:9]

A =
1 2 3
4 5 6
7 8 9
>>A(4,4) = 10

A =
1 2 3 0
4 5 6 0
7 8 9 0
0 0 0 10

>>A([2 4],:) = [ ]

A =
1 2 3 0
7 8 9 0
Funciones especiales en arreglos
Funcin Descripcin
zeros(m)
zeros(m,n)
Crea una arreglo cuadrado de mxm de ceros o un
arreglo rectangular de m filas y n columnas
ones (m)
ones (m,n)
Crea una arreglo cuadrado de mxm de unos o un
arreglo rectangular m filas y n columnas
size (A)
[m,n] = size(A)
Determina el nmero de filas y de columnas del
vector A
reshape (A,m,n)
Cambia la dimensin del arreglo A, retornando un
arreglo de dimensin mxn
eye(n)
eye(m,n)
Crea una matriz identidad (con 1s en la diagonal
y 0 en las dems posiciones) de nxn o de mxn
diag(A)
Crea una matriz identidad con los valores del
arreglo A en la diagonal
Funciones especiales en vectores
Funcin Descripcin
length(A)
Retorna la longitud de un vector A (nmero de
elementos)
sum(A) Retorna la suma de los elementos del vector A
prod(A)
Retorna el producto de los elementos del
vector A
cumsum(A)
Retorna la suma acumulada de los elementos
del vector A
max(A)
[val,pos] = max(A)
Retorna el mayor elemento de un vector A.
Retorna el mayor elemento de A as como su
ndice
min(A)
[val,pos] = min(A)
Retorna el menor elemento de un vector A.
Retorna el menor elemento de A as como su
ndice
Funciones especiales en arreglos
Funcin Descripcin
mean(A) Retorna el promedio de un vector A
median(A) Retorna de valor medio de un vector A
rand(m,n)

Retorna un arreglo de mxn de valores
pseudoaleatorios entre 0 y 1 de distribucin
uniforme
randi([a,b],m,n)

Retorna un arreglo de mxn de valores enteros
pseudoaleatorios entre a y b de distribucin
uniforme
randn(m,n)

Retorna un arreglo de mxn de valores enteros
pseudoaleatorios entre 0 y 1 de distribucin
normal
sort(A)
sort(A,descend)

Retorna el vector A de forma ascendente o
descendente
Funciones especiales en arreglos
Funcin Descripcin
numel (A) Determina el nmero de elementos del arreglo A
flipud (A) Rota el arreglo A respecto de un eje horizontal
fliplr (A) Rota el arreglo A respecto de un eje vertical
rot90 (A) Rota el arreglo en sentido antihorario 90 grados
inv(A) Retorna la matriz inversa de la matriz cuadrada A
Arreglo de caracteres
Un conjunto de caracteres, ingresados en MATLAB utilizando
comillas simples ( ) es un arreglo de caracteres.

>> txt = Software para ingenieria;

>> whos

Name Size Bytes Class
txt 1x24 48 char

>> palabra1 = txt(1:8)

palabra1 =
Software

Nota : El espacio entre Software y para es el caracter espacio, txt(9)
Arreglo de caracteres
Los nmeros tambin pueden ser caracteres.

>> txt = 3.1416;

>> constante = pi;

>> txt(1:4)

ans =
3.14

>> constante(1:4)
Index exceeds matrix dimensions

Arreglo de caracteres
>> a = 246;
>> b = 246;
>> c = [2 4 6];
>> d = [2 4 6];
>> whos

Name Size Bytes Class
a 1x1 8 double
b 1x3 6 char
c 1x3 24 double
d 1x3 6 char

Cdigos ASCII
Todos los caracteres tienen un cdigo numrico asociado para que
las computadoras puedan interpretar esta informacin. Este cdigo
se conoce como ASCII (American Standard Code for Information
Interchange). Estrictamente, es un cdigo de 7 bit ms un de
paridad para control de errores.

Actualmente este cdigo ha sido ampliado segn norma ISO/IEC
8859.

Cmo podra generar una tabla de caracteres de dimensiones de
32x8 con los cdigos ASCII desde 32?
Funcin char
La funcin char tiene dos usos:

Retorna el caractes que le corresponde a un cdigo ASCII:

>> char(65)
ans =
A

Retorna un arreglo rectangular de un listado de caracteres:

>> Meses = char(Enero,Febrero,Marzo)
Meses =
Enero
Febrero
Marzo

>> whos
Name Size Bytes Class
Meses 3x7 42 char
Arreglo tipo celda (cell)
Existe un tipo especial de arreglo llamado celda que crea un listado de
informacin separada por filas y no por caracteres como en el caso de la
funcin char. Este tipo de dato permite manejar listas sin importar la
homogeneidad de la longitud de los datos.

>> Meses = {Enero , Febrero , Marzo}
A =
Enero Febrero Marzo

>> whos
Name Size Bytes Class
A 1x3 370 cell

>> Meses(end)
ans =
Marzo

Vous aimerez peut-être aussi