Ejemplos:
>> exist J
ans =
0
33
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
- Realizar una consulta sobre el manejo de los siguientes tipos de datos en MATLAB:
- Cadenas de caracteres y variables de tipo string.
- Hipermatrices (matrices de más de dos dimensiones).
- Estructuras (agrupaciones bajo un mismo nombre que contienen datos de
naturaleza diferente).
Operador Operación
+ Suma
- Resta
* Multiplicación
‘ Transpuesta
^ Exponenciación
\ División izquierda
/ División derecha
Tabla 1.12 Operadores aritméticos básicos para arrays
a. Suma y resta
En MATLAB estas operaciones se pueden llevar a cabo con arrays de igual tamaño ya que la
suma y resta se realizan elemento a elemento. Cuando un escalar se suma a o se resta de un
array, éste se añade o se sustrae de TODOS los elementos del mismo.
Ejemplo:
>> v1=linspace(1,4,3) Se crean dos vectores v1 y v2
v1 = y se realiza la suma de éstos
1.0000 2.5000 4.0000 (sum_v)
34
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
>> v2=-1:1
v2 =
-1 0 1
>> suma_v=v1+v2
suma_v =
0 2.5000 5.0000
>> m2=[1:3;4:0.5:5;-1:1]
m2 =
1.0000 2.0000 3.0000
4.0000 4.5000 5.0000
-1.0000 0 1.0000
35
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
b. Multiplicación
Ejemplo:
c. El operador de transposición:
Cuando se aplica a un vector, transforma la fila en columna y viceversa; cuando se aplica a una
matriz, éste transforma las filas en columnas y viceversa. El operador de transposición es
representado por el símbolo ( ‘ ) a continuación de la variable que se va a transponer. Si al
menos uno de los elementos de la matriz o vector es complejo, este operador permite obtener
el array transpuesto complejo conjugado.
Ejemplo:
36
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
d. Exponenciación
>> n=m^2
n=
91 67 67
67 91 67
67 67 91
>> n=m^2
??? Error using ==> mpower
Matrix must be square.
e. División izquierda
Se utiliza para resolver sistemas de ecuaciones lineales de la forma Ax=b; donde x y b son
vectores columna y A es una matriz invertible. Una de las maneras de resolver este sistema es
la siguiente:
37
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
𝐴 𝐴𝑥 = 𝐴 b
𝑥=𝐴 𝑏
𝑥 =A∖𝑏
f. División derecha
Se utiliza para resolver sistemas de ecuaciones lineales de la forma xA=b. En esta ecuación x y
b son vectores fila. Una de las maneras de resolver este sistema es la siguiente:
𝑥 𝐴 =𝑏
𝑥 = 𝑏 (𝐴 )
𝑥 = 𝑏 /𝐴
Ejemplo3:
4𝑥 − 2𝑦 + 6𝑧 = 8
2𝑥 + 8𝑦 + 2𝑧 = 4
6𝑥 + 10𝑦 + 3𝑧 = 0
Solución:
El sistema de ecuaciones puede ser representado de la forma matricial AX=B como se muestra
a continuación:
4 −2 6 𝑥 8
2 8 2 𝑦 = 4
6 10 3 𝑧 0
3
Amos Gilat, “MATLAB Una introducción con ejemplos prácticos”
38
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
𝑥 4 −2 6 8 4 2 6
𝑦 2 8 2 = 4 ≈ [𝑥 𝑦 𝑧] −2 8 10 = [8 4 0]
𝑧 6 10 3 0 6 2 3
Operador Operación
.* Multiplicación
.^ Exponenciación
./ División derecha
.\ División izquierda
Tabla 1.13 Símbolos para operaciones elemento a elemento
Ejemplos:
39
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
>> m2=[1:4;4:0.5:5.5;-1:2]
m2 =
1.0000 2.0000 3.0000 4.0000
4.0000 4.5000 5.0000 5.5000
-1.0000 0 1.0000 2.0000
>> expon=[1 2;3 4;5 6].^3 Los elementos de una matriz de orden
expon = 3x2 son elevados al cubo.
1 8
27 64
125 216
40
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
Ejemplo4:
Evaluar la función y para valores de z comprendidos entre 1 y 15 con distancia de 2 entre los
elementos.
𝒛𝟑 + 𝟓𝒛
𝒚=
𝟒𝒛𝟐 − 𝟏𝟎
>> z=[1:2:15]
z=
1 3 5 7 9 11 13 15
>> y=(z.^3+5*z)./(4*z.^2-10)
y=
-1.0000 1.6154 1.6667 2.0323 2.4650 2.9241 3.3964 3.8764
>> max(m1)
Si X es una matriz, MATLAB
ans =
devuelve un vector fila que
max(X) 16 14 15 13
representa el elemento mayor
de cada columna de X.
>> v1=[-1 2 5 6 8]
v1 =
-1 2 5 6 8
Si x es un vector devuelve el
mean(x) >> mean(v1)
valor medio de los elementos.
ans =
4
>> m1=magic(4)
m1 =
16 2 3 13
Si X es una matriz, retorna un
5 11 10 8
vector fila con los valores
mean(X) 9 7 6 12
medios de las columnas de la
4 14 15 1
matriz X.
>> mean(m1)
ans =
8.5000 8.5000 8.5000 8.5000
4
Amos Gilat, “MATLAB Una introducción con ejemplos prácticos”
41
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
>> [e,n]=max(v1)
e=
Si x es un vector, e almacena el
8
[e,n]=max(x) elemento mayor de x, y n la
n =<
posición del elemento.
5
>> [E,N]=max(m1)
Si X es una matriz, E es un
E=
vector fila que almacena el
16 14 15 13
elemento mayor de cada
[E,N]=max(X)
columna de la matriz X , y N un
N=
vector fila que contiene la
1 4 4 1
posición del elemento.
>> min(v1)
ans =
-1
Similar que max(x), pero para el
min(x)
menor elemento. >> min(m1)
ans =
4 2 3 1
>> [e,n]=min(v1)
e=
-1
Lo mismo que [e,n]=max(x),
[e,n]=min(x)
pero para el elemento menor.
n=
1
>> [E,N]=min(m1)
E=
4 2 3 1
Lo mismo que [E,N]=max(x),
[E,N]=min(X)
pero para el elemento menor.
N=
4 1 1 4
>> sum(v1)
Si x es un vector, calcula la suma ans =
sum(x)
de sus elementos. 20
>> sum(m1)
Si X es una matriz, calcula la
ans =
sum(X) suma de los elementos de cada
34 34 34 34
columna.
>> v1=[2 0 -1 -2 5]
v1 =
Si x es un vector, devuelve el 2 0 -1 -2 5
sort(x) vector con sus elementos
ordenados ascendentemente. >> sort(v1)
ans =
-2 -1 0 2 5
42
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
>> m1=magic(4)
m1 =
16 2 3 13
5 11 10 8
9 7 6 12
Si X es una matriz, devuelve la 4 14 15 1
matriz con los elementos de
sort(X)
cada columna ordenados en >> sort(m1)
forma ascendente. ans =
4 2 3 1
5 7 6 8
9 11 10 12
16 14 15 13
>> v1=[-1:3,5]
v1 =
-1 0 1 2 3 5
Si x es un vector, retorna el
median(x) valor de la mediana de los
>> median(v1)
elementos del vector.
ans =
1.5000
>> m1=[-1:1,4;2 3 4 1]
m1 =
-1 0 1 4
Si X es una matriz, retorna un
2 3 4 1
vector fila con los valores de la
median(X)
mediana de los elementos de
>> median(m1)
cada columna del array.
ans =
0.5000 1.5000 2.5000 2.5000
>> v1=[-1:2,5,3]
v1 =
-1 0 1 2 5 3
Si x es un vector, retorna la
std(x) desviación estándar de sus
>> std(v1)
elementos.
ans =
2.1602
43
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
>> cross(x,y)
??? Error using ==> cross at 37
A and B must have at least one
dimension of length 3.
Retorna el producto cruz de dos
cross(x,y) vectores x e y. Los vectores
>> x=[1 5 4];y=[7 -1 2];
deben tener 3 elementos.
>> cross(x,y)
ans =
14 26 -36
>> det(N)
??? Error using ==> det
Matrix must be square.
Para generar números aleatorios, MATLAB posee comandos como rand, randn y randi, que
pueden ser utilizados para asignar números aleatorios a variables.
44
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
>> rand
Genera un número aleatorio
rand ans =
entre 0 y 1.
0.5383
>> rand(1,4)
ans =
0.9961 0.0782 0.4427 0.1067
>> rand(3)
ans =
Genera una matriz de orden
0.5797 0.8530 0.5132
rand(n) nxn de números aleatorios
0.5499 0.6221 0.4018
comprendidos entre 0 y 1.
0.1450 0.3510 0.0760
>> rand(4,3)
ans =
Genera una matriz de orden 0.8687 0.8001 0.2638
rand(m,n) mxn de números aleatorios 0.0844 0.4314 0.1455
entre 0 y 1. 0.3998 0.9106 0.1361
0.2599 0.1818 0.8693
>> randn
Genera números aleatorios con ans =
randn
distribución normal. -0.2857
>> randn(3)
Genera una matriz de orden
ans =
nxn de números aleatorios con
-0.8314 -0.5336 0.5201
randn(n) distribución normal es decir,
-0.9792 -2.0026 -0.0200
con media cero y desviación
-1.1564 0.9642 -0.0348
estándar 1.
>> randn(4,3)
ans =
Genera una matriz de orden -3.0292 0.9337 -1.5651
randn(m,n) mxn de números aleatorios -0.4570 0.3503 -0.0845
con distribución normal. 1.2424 -0.0290 1.6039
-1.0667 0.1825 0.0983
45
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
>> randi(6)
ans =
6
Genera un número aleatorio
randi(n)
comprendido entre 1:n >> randi(6)
ans =
1
>> randi(2,5)
ans =
2 2 2 1 1
Genera una matriz de orden
1 2 2 2 2
randi(m,n) nxn con números aleatorios
1 2 2 1 2
comprendidos entre 1:m
2 1 2 1 1
1 2 1 1 1
>> randi(3,2,5)
Genera una matriz de orden ans =
randi(m,n,p) nxp con números aleatorios 3 3 2 3 3
comprendidos entre 1:m 1 1 2 2 1
Ejemplos5:
- Experimento de fricción:
El coeficiente de fricción μ se puede calcular experimentalmente midiendo la fuerza F
requerida para mover una masa m. A partir de estos parámetros, el coeficiente de fricción
se puede calcular de la forma:
𝑭 𝟗. 𝟖𝟏𝒎
𝝁= ; 𝒈=
𝒎∗𝒈 𝒔𝟐
Experimento 1 2 3 4 5 6
Masa m(Kg) 2 4 5 10 20 50
Fuerza F (N) 12.5 23.5 30 61 118 294
Solución:
5
Amos Gilat, “MATLAB Una introducción con ejemplos prácticos”
46
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
+
V2 V1= 20V, V2= 12V, V3= 40V
R4
-
R1= 18Ω, R2= 10Ω, R3= 16Ω, R4= 6Ω, R5= 15Ω,
R6
R5
R6= 8Ω, R7=12Ω y R8=14Ω.
i2
-
R7
V3
R8 +
Las ecuaciones para las 4 mallas para resolver este problema son:
𝑉 − 𝑅 𝐼 − 𝑅 (𝐼 − 𝐼 ) − 𝑅 (𝐼 − 𝐼 ) = 0
−𝑅 𝐼 − 𝑅 (𝐼 − 𝐼 ) − 𝑅 (𝐼 − 𝐼 ) − 𝑅 (𝐼 − 𝐼 ) = 0
−𝑉 − 𝑅 (𝐼 − 𝐼 ) − 𝑅 (𝐼 − 𝐼 ) − 𝑅 (𝐼 − 𝐼 ) = 0
𝑉 − 𝑅 𝐼 − 𝑅 (𝐼 − 𝐼 ) − 𝑅 (𝐼 − 𝐼 ) = 0
−(𝑅 + 𝑅 + 𝑅 ) 𝑅 𝑅 0 𝐼 −𝑉
⎡ ⎤
𝑅 −(𝑅 + 𝑅 + 𝑅 + 𝑅 ) 𝑅 𝑅 𝐼 0
⎢ ⎥ = 𝑉
⎢ 𝑅 𝑅 −(𝑅 + 𝑅 + 𝑅 ) 𝑅 ⎥ 𝐼
⎣ 0 𝑅 𝑅 −(𝑅 + 𝑅 + 𝑅 )⎦ 𝐼 −𝑉
47
Capítulo 1: GENERALIDADES Y MODO DE OPERACIÓN INTERACTIVO
48