3. Suma y resta.
Las operaciones suma y resta se
pueden utilizar con arrays de tamaños
idénticos, es decir, aquellos que tiene
el mismo número de filas y de
columnas.
La suma, así como la resta, de dos
arrays se lleva a cabo sumando o
restando sus elementos.
4. Ejemplo:
A=[5 2 8;3 4 1]
Así se
introduce una
array en
Matlab.
B=[9 7 1;4 2 5]
5. Se define una
matriz C que es
C=A+B igual al resultado
de la suma de A +
B.
Lo que nos da
como resultado:
6. Se define una
D=A-B matriz D que es
igual al resultado
de la resta de A -
B.
Lo que nos da
como resultado:
7. Si queremos
C-5 restar 5 a la
matriz C. Se
pone como se
muestra.
Lo que nos da
como resultado:
8. VectA=[8 5 4]; Por ejemplo, se
definen dos
vectores (VectA y
VectB).
VectB=[10 2 7];
Se define un
VectC=VectA+VectB vector VectC que
es igual a la suma
de VectA + VectB.
Lo que nos da
como resultado:
9. Multiplicación de arrays.
Como ya se dieron cuenta Matlab sigue
las reglas propias del algebra lineal.
Esto significa que si A y B son dos
matrices, la operación A*B se ejecuta
solamente si el número de columnas
de la matriz A es igual al número de
filas de la matriz B. El resultado es
una matriz que tiene el mismo número
de filas que A y el mismo número de
columnas que B.
10. Ejemplo:
A=[5 8 1; 7 3 9; 4 3 5; 1 2 3]
Se define una
matriz A de 4x3.
B=[4 9; 2 7; 1 3]
Se define una
matriz B de 3x2.
11. C=A*B
Se multiplica la
matriz A por la B,
y se asigna el
Lo que nos da
resultado a la
como resultado:
variable C.
12. D=B*A
Si se intenta multiplicar la
matriz B por la matriz A. La
operación retorna un error,
ya que el número de
columnas de B es 2, y el Lo que nos da
número de filas de A es 4. como resultado:
13. Se define un vector
columna Bv de tres
elementos.
Bv=[2;5;1]
Se define un vector
fila Av de tres
elementos.
Av=[9 3 5]
14. Se multiplica Av por Bv. El
Av*Bv resultado es un escalar
(producto escalar de dos
vectores).
Se multiplica Bv por
Bv*Av Av. El resultado es
una matriz de 3x3.
15. Cuando se multiplica un array por un
número, cada elemento del array es
multiplicado por dicho número.
Por ejemplo, se
define una matriz A
de 4x4.
A=[5 8 1 3; 7 3 9 1; 4 3 5 7; 1 2 3 4]
16. b=4 Se asigna el
número 4 a la
variable b.
b*A Se multiplica la matriz A por
b. Esto se puede hacer
tecleando b*A o bien A*b.
Lo que nos da como
resultado:
17. Matriz identidad.
La matriz identidad es una matriz
cuadrada en donde la diagonal son
unos y el resto de los elementos son
ceros.
Por ejemplo, una matriz
identidad de 4x4, se
realiza usando el
comando eye.
eye(4)
18. Inversa de una matriz.
Se dice que una matriz B es la inversa de
una matriz A si al multiplicar ambas
matrices el producto es la matriz
identidad.
19. A=[5 8 1; 4 3 5; 7 6 9]
Por ejemplo, se define la
matriz A.
B=inv(A)
Se utiliza la función inv
para calcular la inversa
de A. El resultado se
asigna a B.
21. División izquierda .
La división izquierda ese utiliza para
resolver ecuaciones matriciales AX=B.
En esta ecuación X y B son vectores
columna. La ecuación en sí puede ser
resuelta multiplicando en la parte
izquierda de ambos miembros de la
igualdad por el inverso de A:
A-1 AX= A-1B
22. El primer miembro de la ecuación es X, ya
que:
A-1 AX= IX=X
Por lo tanto, la solución a AX=B es:
X= A-1B
En Matlab, esta última ecuación se puede
escribir utilizando el carácter de la
división izquierda, lo cual se muestra a
continuación.
23. A=[3 4 9; 5 1 7; 6 2 8]
Se define A y B.
B=[2;5;1]
25. División derecha /.
La división derecha se utiliza para
resolver ecuaciones matriciales
XC=D. En esta ecuación X y D son
vectores fila. La ecuación anterior se
puede resolver multiplicando la parte
derecha de ambos miembros de la
igualdad por la inversa de C:
XC C-1= D C-1
26. Que resulta en:
X= D C-1
En Matlab, esta última ecuación se
puede escribir utilizando el carácter de
división derecha, lo cual se muestra a
continuación.
27. C=[5 1 7; 6 9 1; 1 4 2]
D=[5 1 9] Se define C y D.
29. Funciones predefinidas para
trabajar con arrays.
Función: mean(A)
Descripción: Si A es un vector, retorna
el valor medio de los elementos.
Ejemplo:
30. Función: C = max(A)
Descripción: Si A es un vector, C
contendrá el elemento mayor de A. Si
A es una matriz, C contendrá un
vector fila que representa el elemento
mayor de cada columna A.
Ejemplo:
31. Función: [d,n]=max(A)
Descripción: Si A es un vector, d
contendrá el elemento mayor de A, y n
la posición del elemento (la posición
de la primera aparición, si el valor
mayor se repite varias veces en el
vector).
Ejemplo:
32. Función: min(A)
Descripción: Lo mismo que max(A),
pero para el elemento menor.
Ejemplo:
33. Función: [d,n]=min(A)
Descripción: Lo mismo que
[d,n]=max(A), pero para el elemento
menor.
Ejemplo:
34. Función: sum(A)
Descripción: Si A es un vector, calcula
la suma de sus elementos.
Ejemplo:
35. Función: sort(A)
Descripción: Si A es un vector,
devuelve el mismo vector ordenado
en orden ascendente.
Ejemplo:
36. Función: median(A)
Descripción: Si A es un vector,
devuelve el valor de la mediana de los
elementos del vector.
Ejemplo:
37. Función: std(A)
Descripción: Si A es un vector,
devuelve la desviación estándar de
los elementos del vector.
Ejemplo:
38. Función: det(A)
Descripción: Devuelve el valor del
determinante de la matriz cuadrada A.
Ejemplo:
40. Función: diag(A)
Descripción: Saca la diagonal de la
matriz A en forma de vector.
Ejemplo:
41. Función: dot(a,b)
Descripción: Calcula el producto
escalar de dos vectores a y b. Los
vectores pueden ser de tipo fila o
columna.
Ejemplo:
42. Función: cross(a,b)
Descripción: Calcula el producto
cruzado de dos vectores a y b, (axb).
Ambos vectores deben tener tres
elementos.
Ejemplo:
43. Función: inv(A)
Descripción: Devuelve la inversa de
una matriz cuadrada A.
Ejemplo:
44. Función: rand
Descripción: Genera un número
aleatorio entre 0 y 1.
Ejemplo:
45. Función: rand(1,n)
Descripción: Genera un vector fila de
n números aleatorios entre 0 y 1.
Ejemplo:
46. Función: rand(n)
Descripción: Genera una matriz nxn
de números aleatorios entre 0 y 1.
Ejemplo:
47. Función: rand(m,n)
Descripción: Genera una matriz mxn
de números aleatorios entre 0 y 1.
Ejemplo:
48. Función: randperm(n)
Descripción: Genera un vector fila con
n elementos que son permutaciones
aleatorias de enteros entre 1 y n.
Ejemplo:
49. Ejemplos de aplicación.
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:
50. µ=F/(mg) (g = 9.81 m/s2)
En la tabla siguiente se presentan los
resultados de seis experimentos en
los cuales se midió F. Determinar el
coeficiente de fricción en cada
experimento, así como el valor medio
de todos los experimentos realizados.
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
51. Solución: Se crea un vector m y
F con los valores de
las masas y fuerzas
respectivamente.
Para que las operaciones de multiplicación, exponenciación y
división de arrays se realicen elemento a elemento, en Matlab
hay que teclear un punto delante del operador aritmético
correspondiente.
Se calcula el valor de µ para cada
experimento, utilizando operaciones
elemento a elemento sobre los
vectores anteriores.
52. Se calcula la media de µ para cada uno de los
experimentos, almacenados dentro del propio vector
mu. Se utiliza para ello la función mean.
53. Análisis de circuitos resistivos
(resolución de un sistema de
ecuaciones lineales).
El circuito eléctrico anexo está formado
por distintas resistencias y fuentes de
alimentación. Determinar la intensidad
de corriente que pasa por cada
resistencia utilizando para ello las
leyes de Kirchhoff para la resolución
de circuitos resistivos. Los datos
conocidos del circuito son los
55. Solución:
Las ecuaciones para las cuatro mallas
que dan la solución a este problema
son las siguientes:
V1 - R1 I1 - R3(I1 - I3) - R2(I1 - I2) = 0
- R5 I2 - R2(I1 - I2) - R4(I2 - I3) - R7(I2 - I4) = 0
- V2 - R6(I3 - I4) - R4(I3 – I2) - R3(I3 - I1) = 0
V3 - R8I4 - R7(I4 - I2) - R6(I4 - I3) = 0
Estas cuatro ecuaciones pueden ser
representadas en la forma matricial
[A][x]=[B].
56. Se definen los voltajes,
resistencias y se crea
la matriz A.
57. Se crea el vector columna y se
resuelve el sistema de
ecuaciones utilizando división
izquierda, lo que nos da el valor
de (I1, I2, I3 e I4) respectivamente.
58. Las corrientes que pasan por las
resistencias R1, R5 y R8 son I1 = 0.8411
A, I2 = 0.7206 A, e I4 = 1.5750 A,
respectivamente. Respecto a las otras
resistencias, estas pertenecen a dos
mallas a la vez, y por tanto sus
corrientes son la suma de las corrientes
en las mallas.
La corriente que pasa por la resistencia:
R2= 0.1205 A. R3= 0.2284 A. R4= 0.1079
A.
R6= 0.9623 A. R7= 0.8544 A.