Está en la página 1de 80

UNIVERSIDADNACIONAL DE INGENIERIA

FACULTAD DEINGENIERIA ELECTRICA YELECTRONICA

Fundamentos de
MATLAB
KRAQ
¿Qué es MatLab?
MATrix LABoratory
LENGUAJE DE COMPUTACIÓN TÉCNICA
 FÁCIL USO
 MÚLTIPLES HERRAMIENTAS PARA APLICAR EN
TODAS LAS ÁREAS DEL CONOCIMIENTO
• PODEROSO SISTEMA DE VISUALIZACIÓN DE DATOS
Y DISEÑO DE INTERFAZ GRÁFICA
• AMPLIA DOCUMENTACIÓN
Aplicaciones de MATLAB

Aeroespacial
Biomédica
Sistemas de control
Procesamiento de imágenes
Procesamiento de Audio
Diseño de filtros
Base de datos
Finanzas
SISTEMA MATLAB
ENTORNO-ESCRITORIO DE MATLAB
Barra de menús
Barra de
herramientas
Navegador del
Directorio actual

Navegador del
workspace

Historial de
comandos
VENTANA DE COMANDOS
(PARA ESCRIBIR COMANDOS
EN MATLAB)

Botón de inicio
ENTORNO-ESCRITORIO DE MATLAB

Botón de desacople
(undock)

Botón de inicio
ENTORNO-EL EDITOR
CREA UN EDITOR EDITOR CREADO
ENTORNO-WORKSPACE

Consiste en un conjunto de variables


(llamadas arreglos) construidas
durante una sesión de MATLAB y
almacenadas en memoria. Las
variables son añadidas al workspace
a través del uso de funciones,
ejecuciones de archivos M y
cargando Workspace almacenados
>> A=[9 8 7 6 5 4 3 2 1];
>> B=[6 7];
Todos los datos ingresados
al MATLAB son
almacenados en forma de
matriz o un arreglo
multidimensional
FUNDAMENTOS DE MATLAB
COMANDOS DE INICIO
FUNDAMENTOS DE MATLAB
Formato de visualización de números
FUNDAMENTOS DE MATLAB
Creación de matrices
En forma general Matlab define a una variable como una matriz o vector :

Los vectores son un caso particular de las matrices, para operaciones


numéricas generalmente se usan vectores

Vector fila Vector columna


FUNDAMENTOS DE MATLAB
COMANDOS BÁSICOS
•ver : Muestra la versión del código de licencia y las toolboxes
disponibles.
• save nombre : Guarda todas las variables del Workspace en el archivo
nombre.mat.
• save nombre1 a : Guarda las variables a del Workspace en el archivo
nombre1.mat.
• load nombre : Carga de variables.
• clear a : Borra la variable almacenada en el Worspace.
• who : Para saber qué variables han sido ya introducidas.
• help : Se teclea seguido de un comando, función o archivo y
aparecerá una descripción.
FUNDAMENTOS DE MATLAB
OPERACIONES NUMÉRICAS

Ejemplo 1.
FUNDAMENTOS DE MATLAB
DECLARACIÓN DE VARIABLES
FUNDAMENTOS DE MATLAB

(4,6)

(1,2)

0 x
FUNDAMENTOS DE MATLAB
VARIABLES ESPECIALES

Ejercicio:
Calcular el volumen de un cono circular
recto trucado
FUNDAMENTOS DE MATLAB
VARIABLES ESPECIALES
• Matlab opera normalmente en >> a=150/0
formato double según el formato a=
IEEE. Inf
>> clear b
• Los números que son más grandes de
>> b=0/0
representar son considerados b=
infinito. NaN
• Maneja correctamente los valores >> Inf-Inf
Inf (infinito) y NaN (not-a-number). ans =
• Genera complejos automaticamente NaN
>> c=15+sqrt(-1)
c=
15.0000 + 1.0000i
>> Inf/Inf
ans =
NaN
FUNDAMENTOS DE MATLAB

Calcular E: a) X=4
b) X=1,2,3,..,10
FUNDAMENTOS DE MATLAB
Ejemplo 4.
Encuentre el valor de los catetos de un triángulo rectángulo que tiene
una hipotenusa igual a 50 y un ángulo de 65°

>> h=50;teta=65*pi/180;
>> a=50*cos(teta)
a=
2.113091308703497e+001
>> b=50*sin(teta)
b=
4.531538935183249e+001

Ejemplo 5.
Encuentre el logaritmo en base 7 de 25

>> x=log(25)/log(7)
x=
1.654174950693832
FUNDAMENTOS DE MATLAB
Ejemplo 6.
En un triángulo rectángulo se conoce que uno de sus catetos tiene 10
unidades y la hipotenusa de 15 unidades encuentre el ángulo entre ellos
>> alfa=acos(10/15)*180/pi
alfa =
4.818968510422140e+001

Ejemplo 7.
Convertir las coordenadas cartesianas a cilíndricas y viceversa

Ejemplo 8.
Convertir las coordenadas cartesianas a esféricas y viceversa
FUNDAMENTOS DE MATLAB

Ejemplo 9.
Calcular el
módulo de :
FUNDAMENTOS DE MATLAB
OPERACIONES MATRICIALES BÁSICAS

rem (m,n) Resto de la división entera de n entre m: rem(m,n)=m-n*fix(m/n)


mod (m,n) Resto de la división entera de n entre m: mod(m,n)=m-n*floor(m/n)

• sign (a) signo de a (1 ó 0 ó -1)


• abs(a) Valor absoluto a
• gcd(m,n) Máximo común divisor
• lcm(m,n) Mínimo común múltiplo
• max(a,b) Máximo de los valores entre a y b
• min(a,b) Mínimo de los valores entre a y b
• nthroot(x,n) raíz n-ésima de x
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES

Los sub índices en MATLAB empiezan en uno.


FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Dimensionesde una matriz
size(A) : Devuelve el valor [número de filas, número de columnas] de la matriz A.
size(A,1) : Devuelve el número de filas de la matriz A.
size(A,2) : Devuelve el número de columnas de la matriz A.
length(A) : Si A es un vector (fila o columna) devuelve el número de elementos
del vector.

Variablesmatriciales

Para crear una variable (o cambiar su valor) basta colocarla a la izquierda del
operador asignación (=). Podemos evaluar una expresión en MATLAB almacenando
el resultado en una variable.
variable = expresión
o simplemente para obtener el resultado
expresión
Cuyo valor se asigna a una variable interna llamada ans .
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Operaciones con matrices
Existen 2 tipos de operaciones con matrices. Las operaciones matriciales que se rigen por las reglas
conocidas del álgebra lineal: suma (+), resta (-), producto (*), división (/) y potencia (^); y las
operaciones con matrices que se rigen elemento a elemento: producto e.e. (.*) , división e.e. (./) y
potencia e.e. (.^) .
También son válidas, y en las mismas condiciones, a división por la izquierda (\) y la división por la
izquierda e.e. (.\).
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Operaciones con matrices
Para aplicar las operaciones e.e. entre matrices se requieren que los operandos tengan el
mismo tamaño (aplicados entre escalares producen el mismo resultado que las
operaciones habituales).
FUNDAMENTOS DE MATLAB
Ejemplo 8.
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Operaciones con matrices
Ejercicios:
>> A‘ >> B=A‘ >> B*A
Recordar que el
ans = B= ans =
resultado es una
1 4 7 1 4 7 66 78 90
matriz simétrica
2 5 8 2 5 8 78 93 108
3 6 9 3 6 9 90 108 126

>> A=[1 2;3 4] >> A*2 >> A-4 >> A/10


A= ans = ans = ans =
1 2 2 4 -3 -2 0.1000 0.2000
3 4 6 8 -1 0 0.3000 0.4000
FUNDAMENTOS DE MATLAB
OPERACIONES MATRICIALES BÁSICAS

>> A >> A/B >> A./B


A= ans = ans =
1 2 0.2000 0.4000 0.3333 1.0000
3 4 0.8000 0.6000 3.0000 1.0000

>> B >> A\B >> A.\B


B= ans = ans =
3 2 -5.0000 0 3.0000 1.0000
1 4 4.0000 1.0000 0.3333 1.0000

El producto
>> A.*B >> B.*A
elemento a
ans = ans =
elemento es
3 4 3 4
conmutativo
3 16 3 16
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Operaciones con matrices
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Formas de construir matrices
Juntando matrices
[A1 A2 A3 …] ó horzcat(A1,A2,…)
Crea una matriz pegando las matrices A1,A2,… , (todas deben tener igual número de filas).
[A1;A2;A3 …] ó vertcat(A1,A2,…)
Crea una matriz apilando las matrices A1,A2,… , una debajo de otra (todas deben tener igual
número de columnas).
Usando funciones predefinidas
A’ : Devuelve la matriz transpuesta de A.
inv(A) : Devuelve la matriz inversa de A.
triu(A) : Devuelve la matriz triangular superior de la matriz A.
tril(A) : Devuelve la matriz triangular inferior de la matriz A.
diag(V) : Crea una matriz diagonal con el vector V en la diagonal.
diag(A) : Extrae la diagonal principal de la matriz A como vector columna.
eye(n) : Crea la matriz identidad de orden n.
eye(m,n) : Crea la matriz de tamaño mxn con unos en la diagonal principal y ceros en el resto.
toeplitz(v) define una matriz simétrica de diagonal constante con v como primera fila y
primera columna
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES

Formas de construir matrices


Usando funciones predefinidas
eye(size(A)) : Crea una matriz del mismo tamaño que A con unos en la diagonal principal
y ceros en el resto.
ones(n): Crea una matriz de unos de nxn.
ones(m,n) : Crea una matriz de unos de mxn.
ones(size(A)) : Crea una matriz de unos del mismo tamaño que A.
zeros(n) : Crea una matriz de ceros de nxn.
zeros(m,n) : Crea una matriz de ceros de mxn.
zeros(size(A)) : Crea una matriz de ceros del mismo tamaño que A.
linspace(a,b,n) : Crea un vector con n valores equiespaciados entre a y b.
logspace(a,b,n) : Crea un vector con n valores equiespaciados logaritmicamente entre
10^a y 10^b.
rand(n) : Devuelve una matriz nxn con valores pseudoaleatorios extraidas de una
distribución uniforme en el intervalo (0,1).
rand(m,n) : Devuelve una matriz mxn con valores pseudoaleatorios extraidas de una
distribución uniforme en el intervalo (0,1).
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Formas de construir matrices
Usando funciones predefinidas
randi(imax,n) : Devuelve una matriz nxn con valores enteros pseudoaleatorios extraidos
de una distribución uniforme discreta en el intervalo (1:imax).
randi(imax,m,n) ó randi(imax,[m,n]) : Devuelve una matriz mxn con valores enteros
pseudoaleatorios extraidos de una distribución uniforme discreta en el intervalo (1:imax).
randi([imin imax],m,n) ó randi([imin imax],[m,n]) : Devuelve una matriz mxn con valores
enteros pseudoaleatorios extraidos de una distribución uniforme discreta en el intervalo
(imin:imax).
randn(n) : Devuelve una matriz nxn con valores pseudoaleatorios extraidos de una
distribución normal (media 0 y varianza 1)
magic(n) : Devuelve una matriz nxn de enteros desde 1 hasta n^2 con igual suma de filas y
columnas. El orden de n debe ser un escalar mayor o igual a 3
eye(size(A)) : Crea una matriz del mismo tamaño que A con unos en la diagonal principal
y ceros en el resto.
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Formas de construir matrices
Usando el operador:

En el caso particular donde p=1, se puede escribir a:b en lugar de a:1:b


Entonces se pueden generar vectores y crearlo , V=a:p:b.
V(n) : Devuelve el n-ésimo elemento del vector V.
V(end) ó V(length(V)) : Devuelve el último elemento del vector V.
V(n1:n2) : Devuelve los elementos de V entre el n1-ésimo y el n2-ésimo.
V(n1:p:n2) : Devuelve el vector de los elementos de V entre el n1-ésimo y el n2-ésimo,
tomados de p en p.
V(n2:-p:n1) : Devuelve el vector de los elementos de V entre el n2-ésimo y el n1-ésimo,
tomados de p en p.
V(1:end) ó V(1:lengh(V)) : Devuelve el propio vector V.
V(:) : Devuelve todos los elementos de V como una ccolumna.
FUNDAMENTOS DE MATLAB
ACCESO A ELEMENTOS DE UNA MATRIZ
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Formas de construir matrices
Usando el operador:
En el caso de matrices hay que seleccionar filas y columnas
A(m,n) : Devuelve el elemento amn de la matriz A.
A(m,:) : Devuelve la fila m-ésima de la matriz A.
A(end,:) ó A(size(A,1),:) : Devuelve la última fila de la matriz A.
A(:,n) : Devuelve la columna n-esima de la matriz A.
A(:,:) : Devuelve la matriz A.

>> A=magic(5) >> B=A(end,2:end)


A= B=
17 24 1 8 15 18 25 2 9
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Formas de construir matrices
Indexando matrices a partir de vectores

V(J) ó V([j1 j2 j3 …]) : Devuelve el vector formado por los elementos de V indicados por J.
Es decir el vector [V(j1) V(j2) V(j3) … ]
A(I,:) ó A([i1 i2 i3 … ],:) : Define una matriz formada por la filas de A indicadas por I.
Es decir las filas i1-ésima,i2-ésima,etc. de A en ese orden.
A(:,J) ó A(:,[j1 j2 j3 … ]) : el mismo caso anterior para las columnas.
A(I,J) : Como en el caso anterior para elementos de esas filas y esas columnas.
A(m1:m2,:) : Define la submatriz de A formada por las filas entre la m1-ésima y la m2-ésima.
A(:,n1:n2) : Define la submatriz de A formada por las columnas entre la m1-ésima y la m2-
ésima.
A(m1:m2,n1:n2) : Devuelve la submatriz A formada por los elementos de las filas y las
columnas indicadas.
FUNDAMENTOS DE MATLAB
Cambiar valores de matrices
V(n)=d : Sustituye el n-ésimo elemento del vector V por el valor d.
A(m,n)=d : Sustituye el amn elemento de la matriz A por el valor d.
A(n)=d : Sustituye el n-ésimo elemento del vector A(:) por el valor d.

>> a=rand(4,5)
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0.2575 0.2435 0.2511 0.8308 0.2858
0.8407 0.9293 0.6160 0.5853 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
>> a(3,4)=58
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0.2575 0.2435 0.2511 0.8308 0.2858
0.8407 0.9293 0.6160 58.0000 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES

a=
0.1493 0.8143 0.1966 0.3517 0.9172
0.2575 0.2435 0.2511 0.8308 0.2858
0.8407 0.9293 0.6160 58.0000 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537

>> a(2:3,1:4)=zeros(2,4)
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0 0 0 0 0.2858
0 0 0 0 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES

a=
0.1493 0.8143 0.1966 0.3517 0.9172
0 0 0 0 0.2858
0 0 0 0 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537

>> a([2,3],[2,4])=ones(2,2)
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0 1.0000 0 1.0000 0.2858
0 1.0000 0 1.0000 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Formas de construir matrices
Matrices como vectores
Aunque las matrices se introducen por filas, MATLAB las almacena como una columna
colocando las columnas de la matriz una debajo de otra. Esto permite acceder a los
elementos de una matriz con un solo índice.

A(:) : Devuelve un vector columna formado por las columnas de la matriz A una detrás de
otra.
A(n) : Devuelve en n-ésimo elemento del vector columna A(:).
A(K) : Siendo K una matriz, devuelve una matriz del mismo tamaño que la matriz K, formada
por los elementos de A indiciados por los elementos correspondientes de K. Es decir el
elemento ij será el kij-ésimo elemento de A(:), A(kij).
reshape(A,m,n) : Devuelve una matriz del mxn cuyas columnas se forman tomando los
elementos sucesivos de A(:). Si A tiene menos o más elementos de mxn se produce un error.
Nota: Las matrices de índices deben contener valores válidos. Si A es mxn, deben ser:
Los valores pueden estar repetidos
FUNDAMENTOS DE MATLAB
Cambiar valores de matrices

A(I,J)=D : Sustituye los elementos de A indiciados con los vectores I y J, por los
elementos correspondientes de la matriz D. Las matrices A(I,J) y D deben ser del
mismo tamaño.
A(K)=D : Sustituye los elementos de A indiciados con la matriz K por los elementos
correspondientes de la matriz D, dicha indexación es por columnas.

Eliminar elementos dematrices

Asignando la matriz vacía “[]” , podemos eliminar el contenido de las variables:


V(I)=[] : Elimina los elementos del vector V indiciados por I. Devuelve el V resultante
A(I,:)=[] : Elimina las filas de la matriz A indiciadas por I .
A(:,J)=[] : Elimina las columnas de la matriz A indiciadas por J .
A(K)=[] : Elimina los elementos de A indiciados por K. Devuelve A como un vector fila .
FUNDAMENTOS DE MATLAB
OPERACIONES MATRICIALES BÁSICAS

• Traza de A: b=trace(A)
FUNDAMENTOS DE MATLAB
OTRAS FUNCIONES UTILIZADAS

• Rango de A: rank(A)
• Polinomio característico de A : poly(A)
• Matriz triangular inferior a partir de la matriz A : tril(A)
• Matriz triangular superior a partir de la matriz A : triu(A)
• Devuelve los indices distintos de cero : find(A)
• Intercambia la matriz de izquierda a derecha : fliplr(A)
• Intercambia la matriz de arriba abajo : flipud(A)
• gira la matriz 90° en sentido antihorario : rot90(A)
• gira la matriz nx90 : rot90(A,n)
• estas funciones operan elemento a elemento : exp,log,sqrt
FUNDAMENTOS DE MATLAB
MÁS FUNCIONES DEFINIDAS

>> A=magic(3)
A=
Reshape
8 1 6 ordena a una
3 5 7 matriz por
4 9 2 columnas

>> Asc=reshape(A,1,9)

Asc =

8 3 4 1 5 9 6 7 2
La funciones min y max no
sólo te da el mayor valor
sino también su posición
FUNDAMENTOS DE MATLAB
MÁS FUNCIONES DEFINIDAS
FUNDAMENTOS DE MATLAB
MATRICES DE N DIMENSIONES

>> A = zeros (2,3); B = ones (2,3);


>> cat (1,A,B) % las concatena una debajo de la otra
ans =
000
000
111
111
>> cat (2,A,B) % las concatena una al lado de la otra
ans =
000111
000111
>> cat (3,A,B) % las concatena como distintas capas de una hipermatriz
ans(:,:,1) =
000
000
ans(:,:,2) =
111
111
FUNDAMENTOS DE MATLAB
MATRICES DE N DIMENSIONES
>> c=imread('labo.jpg');
>> whos c
Name Size Bytes Class Attributes

c 276x3968x3 35426304 uint8


>> c=imread('labo.jpg');
>> imshow(c)
>> gris=((c(:,:,1)+c(:,:,2)+c(:,:,3))/3);
>> imshow(gris)
FUNDAMENTOS DE MATLAB
OPERACIONES MATRICIALES BÁSICAS

1.-Evaluar la siguiente polinomio :

Para 20 puntos de x en el rango de 0 a 10.

2.-valuar la solución de la ecuación de segundo orden coeficientes:


FUNDAMENTOS DE MATLAB
FUNCIONES PARA OPERAR CON VECTORES

>> x = [1 2 3]; y = [4 5 6];


>> cross (x,y) % producto
vectorial Estos conceptos
ans = son my utilizados
-3 6 –3 para definir
>> dot (x,y) % producto magnitudes
escalar física s
ans =
32
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
Tipo de dato Rango de valores Función de conversión
Entero con signo de 8 bits int8
Entero con signo de 16 bits int16
Entero con signo de 32 bits int32
Entero con signo de 64 bits int64
Entero sin signo de 8 bits uint8
Entero sin signo de 16 bits uint16
Entero sin signo de 32 bits uint32
Entero sin signo de 64 bits uint64
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS

>> A=100*randi([-10 10],6)


A=
-700 -300 -300 -600 -500 -800
-1000 -100 -600 -200 700 900
100 1000 -200 200 1000 800
800 -700 0 -500 500 700
400 700 -800 -400 -300 -500
-700 300 200 200 200 200
>> int8(A) >> uint8(A)
ans = ans =
-128 -128 -128 -128 -128 -128 0 0 0 0 0 0
-128 -100 -128 -128 127 127 0 0 0 0 255 255
100 127 -128 127 127 127 100 255 0 200 255 255
127 -128 0 -128 127 127 255 0 0 0 255 255
127 127 -128 -128 -128 -128 255 255 0 0 0 0
-128 127 127 127 127 127 0 255 200 200 200 200
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
TIPOS LÓGICOS
Las variables lógicas pueden tomar los valores true (1) y false (0).
La función logical(A) produce una variable lógica con el mismo número de elementos
de A sea distinto de cero o igual a cero.
A=
>> whos b
16 23 0 7 14
Name Size Bytes Class Attributes
22 4 6 13 15
b 5x5 25 logical
3 5 12 19 21
9 11 18 20 2
10 17 24 1 8

>> b=logical(A) Recordar que las


b= variables lógicas
1 1 0 1 1 son de 1 byte por
1 1 1 1 1 elemento
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
TIPOS LÓGICOS
CREACIÓN DE UN ARREGLO LÓGICO
>> X=[true true false true false]
X=
1 1 0 1 0
>> whos X
Name Size Bytes Class Attributes
X 1x5 5 logical

>> a=[2.1 NaN 4.5 Inf 4];


>> b=isfinite(a)
b=
1 0 1 0 1
>> whos b
Name Size Bytes Class Attributes
b 1x5 5 logical
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
CADENA DE CARACTERES

>> str='Curso de Matlab';


>> whos str
Name Size Bytes Class Attributes
str 1x15 30 char
>> str(8)
ans =
e
>> nombres=char('Rafael','Ana','Maria')
nombres =
Rafael
Ana
Maria
>> whos nombres
Name Size Bytes Class Attributes
nombres 3x6 36 char
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
CADENA DE CARACTERES

>> A='cafe';
>> B='mate';
>> A==B
ans =
0 1 0 1

>> strcmp(A,'cafe')
ans =
1
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
CADENA DE CARACTERES
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
ESTRUCTURA Y CELL ARRAYS

>> dato.x=12;
>> dato.y=123;
>> dato.color='verde';
>> dato
dato =
x: 12
y: 123
color: 'verde'
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
ESTRUCTURA Y CELL ARRAYS

>> dato.x=12; >> alumno.nombre='Pablo';


>> dato.y=123; >> alumno.apellido1='Fernandez';
>> dato.color='verde'; >> alumno.apellido2='Garcia';
>> dato >> alumno.edad=15;
dato = >> alumno
x: 12
y: 123 alumno =
color: 'verde'
nombre: 'Pablo'
>> dato.(campo)
apellido1: 'Fernandez'
ans = apellido2: 'Garcia'
verde edad: 15
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
ESTRUCTURA Y CELL ARRAYS

>> c={12,'rojo',magic(4)} >> c={[true false true],[12.5 25 pi exp(1)],'verde',alumno}


c=
[12] 'rojo' [4x4 double] c=
>> d1{1}=12;
>> d1{2}='rojo'; [1x3 logical] [1x4 double] 'verde' [1x1 struct]
>> d1{3}=magic(4);
>> d1
d1 =
[12] 'rojo' [4x4 double]
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
ESTRUCTURA Y CELL ARRAYS

>> ss{1,1}=12;
>> ss{1,2}='rojo';
>> ss{1,3}=magic(4);
>> ss{2,1}=ones(3);
>> ss{2,2}=43;
>> ss{2,3}='texto';
>> ss
ss =
[ 12] 'rojo' [4x4 double]
[3x3 double] [ 43] 'texto'
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
Identificación del tipo de dato
FUNDAMENTOS DE MATLAB
Operaciones y funciones lógicas
Operaciones Relacionales
FUNDAMENTOS DE MATLAB
Operacionesy funciones lógicas
OperacionesRelacionales

Una de las aplicaciones más importantes de las variables lógicas es separar o extraer
elementos de una matriz o un vector que cumplen cierta condición

>> A=magic(4) >> A(j)=-10


A= A=
16 2 3 13 -10 2 3 -10
5 11 10 8 5 -10 10 8
9 7 6 12 9 7 6 -10
4 14 15 1 4 -10 -10 1

>> j=A>10
j=
1 0 0 1
0 1 0 0
0 0 0 1
0 1 1 0
FUNDAMENTOS DE MATLAB
Operaciones y funciones lógicas
Operaciones Relacionales

En el siguiente ejemplo resalta la localización de los números primos en la matriz


cuadrada mágica, usando indexación lógica se establece los no primos en cero.
>> A=magic(4) >> b=~b
A= b=
16 2 3 13 1 0 0 0
5 11 10 8 0 0 1 1
9 7 6 12 1 0 1 1
4 14 15 1 1 1 1 1
>> b=isprime(A)
>> A(b)=0
b=
A=
0 1 1 1
0 2 3 13
1 1 0 0
5 11 0 0
0 1 0 0
0 7 0 0
0 0 0 0
0 0 0 0
FUNDAMENTOS DE MATLAB
Operaciones lógicos
FUNDAMENTOS DE MATLAB
Funciones lógicas
FUNDAMENTOS DE MATLAB
RESOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES
FUNDAMENTOS DE MATLAB
RESOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

NO olvidarse que para


calcular la matriz inversa a
la matriz A, ésta debe ser
cuadrada y debe tener
determinante
FUNDAMENTOS DE MATLAB
RESOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES
FUNDAMENTOS DE MATLAB
RESOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES
A diferencia del caso anterior
aquí puedo tener una
cantidad de ecuaciones
distintas a la cantidad de
variables
El sistema expresado en su forma aumentada tiene la forma:

Luego aplicamos Gauss-Jordan


FUNDAMENTOS DE MATLAB
RESOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

>> A=[2 3 1 1;3 -2 -4 -3; 5 -1 -1 4] >> rref(A) Ejercicio:


Obtener la solución al siguiente
A= ans = sistema
2 3 1 1 1 0 0 1
3 -2 -4 -3 0 1 0 -1
5 -1 -1 4 0 0 1 2
FUNDAMENTOS DE MATLAB
VALORES Y VECTORES PROPIOS DE UNA MATRIZ

Un vector no nulo x es un autovector de A si Ax es múltiplo de x. Es decir x es


autovector si:

Para un cierto escalar lambda .


En este caso lambda es autovalor de A, y se dice que x es autovector asociado al
autovalor lambda
FUNDAMENTOS DE MATLAB
VALORES Y VECTORES PROPIOS
FUNDAMENTOS DE MATLAB
VALORES Y VECTORES PROPIOS
Muchas Gracias por su
atención!!!!

También podría gustarte