Algebra Con Octave
Algebra Con Octave
Algebra Con Octave
¿Qué es Octave?
Es un lenguaje de programación de alto nivel, orientado al cálculo numérico. Y su vez es un programa que permite
interpretar este lenguaje de forma interactiva, mediante órdenes o comandos. Estas órdenes pueden ser introducidas a
través de un entorno en forma de terminal o consola de texto. Por supuesto, Octave incluye, además, la posibilidad de ser
utilizado de forma no interactiva, interpretando las órdenes contenidas en un fichero. Estas características se pueden
resumir diciendo que Octave es un lenguaje interpretado orientado al cálculo numérico matricial.
Desde sus orígenes, Octave es software libre, gracias a lo cual, su comunidad de desarrolladores y usuarios ha ido
creciendo hasta llegar a ser muy significativa. Su lenguaje de programación es altamente compatible con el de Matlab, el
conocido entorno de cálculo numérico (con licencia privativa) desarrollado por The MathWorks, Inc. Está disponible en
numerosas plataformas, entre ellas sistemas Unix (para los que fue originalmente desarrollado), Windows y MacOsX. Su
código fuente contiene una potente librería de cálculo matricial para C++. De hecho, ha sido diseñado de forma que sea
extensible dinámicamente, a través de nuevos procedimientos escritos en C++. Estas extensiones son programas
“especiales” que tienen la extensión.oct y, como programas compilados, cuentan con un rendimiento mucho mayor que
las funciones escritas en el lenguaje interpretado de Octave.
Octave en línea
z = sqrt(-1);
z1 = i;
z2 = j;
z3 = complex(0,1);
sqrt(n); función propia del lenguaje para calcular raíz cuadrada de una cantidad n.
complex(a, b); función propia del lenguaje para crear un número complejo, cuya parte real se
representa por el argumento a y la parte imaginaria con el argumento b.
z1 = 3 + 4i
z2 = -5 + 3i
z3 = -7 -10i
z4 = 7 – 4i
compass(z1)
¿Qué sucedió?
m = abs(z1)
a = angle(z1)
zp = m*(cos(a) + i*sen(a))
ze = m*exp(i*a)
¿Qué aparece?
Una embotelladora de refrescos desea cotizar la publicidad de sus productos en televisión, radio y revista, se tienen tres
propuestas del plan de medios de acuerdo con el presupuesto asignado acerca de la cantidad de anuncios por medio en el
transcurso de un mes. En el primer presupuesto cada anuncio en televisión tiene un coste de $250 000, en radio $5 000 y
en revista $30 000. En el segundo presupuesto $310 000, $4 000 y $15 000 y en el último presupuesto $560 000, $10 000 y
$35 000. Los totales por presupuesto son los siguientes: $2 795 000, $3 437 000 y $6 225 000. Determine la cantidad de
anuncios cotizados por cada medio.
Solución:
Matriz de coeficientes
2795000
3437000
6225000
Solución con linsolve de Octave
sol = linsolve(A,b)
El departamento de pesca y caza proporciona tres tipos de comida a un lago que alberga tres especies de peces. Cada pez
de la especie 1 consume cada semana un promedio de 1 unidad del alimento 1, 1 unidad del alimento 2 y 2 unidades del
alimento 3. Cada pez de la especie 2 consume cada semana un promedio de 3 unidades del alimento 1, 4 unidades del
alimento 2 y 5 unidades del alimento 3. Cada pez de la especie 3 consume cada semana un promedio de 2 unidades del
alimento 1, 1 unidad del alimento 1 y 5 unidades del alimento 3. Cada semana se proporciona al lago 25000 unidades del
alimento 1, 20000 unidades del alimento 2 y 55000 unidades del alimento 3. Si se supone que los peces consumen todo el
alimento, ¿Cuántos peces de cada especie pueden coexistir en el lago?
1 0 5 40000
0 -1 1 5000
0 0 0 0
No puede tomar cualquier valor, puesto que las 3 especies de peces deben coexistir.
Luego,
Por lo tanto,
el número de átomos de cada elemento químico involucrado es el mismo en cada lado de la reacción. El número de átomos
de un elemento químico lo indica un subíndice; por ejemplo, en CO 2 hay un átomo de C (carbono) y dos átomos de O
(oxígeno). Esto nos lleva a un sistema homogéneo de ecuaciones.
Solución
C: x1 = 6x3
O: 2x1 + x2 = 6x3 + 2x4
H: 2x2 = 12x3
Sistema homogéneo
x1 - 6x3 = 0
2x1 + x2 – 6x3 – 2x4 = 0
2x2 – 12x3 =0
Matriz de coeficientes
1 0 -6 0
2 1 -6 -2
0 2 -12 0
Digite en Octave
x2 – x4 = 0 → x2 = x4
x1 – x4 = 0 → x1 = x4
➔ x4 = x4
Si x4 = 6, entonces
x1 = 6
x2 = 6
x3 = 1
x4 = 6
18 O = 18 O
6C=6C
12 H = 12 H
Práctica 10. Operaciones con matrices.
1. Introduzca dos matrices A3x4 y B4x2. Calcule A*B y B*A. ¿Qué puede decir de los resultados?
2. Genere dos matrices aleatorias, A y B, con elementos entre -10 y 10. Encuentre A*B y B*A.
Repita el proceso para, al menos, siete pares de matrices A y B. ¿Cuántos pares satisfacen A*B
= B*A? ¿Qué puede concluir sobre la posibilidad de que A*B = B*A?
Nota: Para generar una matriz de números aleatorios entre -10 y 10 haga lo siguiente:
a = -10; b = 10;
A = round((a + (b – a).*rand(3,4)))
a) Muestre que Ax = b y Az = 0.
b) ¿Qué podría concluir de A(x + sz), donde s es cualquier escalar? Pruebe calculando A(x + sz)
para al menos cinco escalares s diferentes.
4. a) Genere dos matrices aleatorias con elementos enteros A y B tales que el producto AB esté
definido. Modifique B de manera que tenga dos columnas iguales. (Por ejemplo, B(:,2) = B(:,3))
b) Encuentre AB y vea sus columnas. ¿Qué puede decir sobre las columnas de AB si B tiene dos
columnas iguales?
c) Pruebe su conclusión repitiendo las instrucciones anteriores para otros tres pares de
matrices A y B (no elija sólo matrices cuadradas).
Práctica 11. Aplicación de las matrices. (Cadenas de Márkov)
Una empresa que realiza estudios de mercado está estudiando los patrones de compra para tres
productos que son competidores entre sí. La empresa ha determinado el porcentaje de residentes de
casas que cambiarían de un producto a otro después de un mes (suponga que cada residente compra
uno de los tres productos y que los porcentajes no cambian de un mes a otro). Esta información se
presenta en forma de matriz:
Donde p12 = 0.2 significa que el 20% de los residentes que compran el producto 2 cambian al producto
1 después de un mes, p22 = 0.75 significa que el 75% de los residentes que compraban el producto 2
continúa comprándolo después de un mes y p31 = 0,15 significa que el 15% de los residentes que
compraban el producto 1 cambia al producto 3 después de un mes. Suponga que existe un total de
30000 residentes.
Encuentre Pnx para n = 5, 10, 15, 20, 25, 30, 35, 40, 45 y 50. Describa el comportamiento de los
vectores Pnx conforme n crece. ¿Qué interpretación se le puede dar a esto?
1
LAY, DAVID C. Álgebra Lineal y sus aplicaciones. Cuarta edición. PEARSON EDUCACIÓN. México 2012.
Aplicaciones:
Solución
y = D*f
Dinv =
100 -100/3 0
-100/3 400/3 -100/3
0 -100/3 100
Otra forma (Matriz ampliada)
octave:13> Da = 1000*D
Da =
11 3 1
3 9 3
1 3 11
octave:14> I = eye(3)
I =
Diagonal Matrix
1 0 0
0 1 0
0 0 1
octave:15> C = [Da I]
C =
11 3 1 1 0 0
3 9 3 0 1 0
1 3 11 0 0 1
octave:16> C(1,:) = (1/11)*C(1,:)
C =
1 3/11 1/11 1/11 0 0
3 9 3 0 1 0
1 3 11 0 0 1
octave:17> C(2,:) = -3*C(1,:)+C(2,:)
C =
1 3/11 1/11 1/11 0 0
0 90/11 30/11 -3/11 1 0
1 3 11 0 0 1
octave:18> C(3,:) = -1*C(1,:)+C(3,:)
C =
1 3/11 1/11 1/11 0 0
0 90/11 30/11 -3/11 1 0
0 30/11 120/11 -1/11 0 1
f = D-1*y
y = (0; 0; 0.04)
0, -4/3 y 4 lbf.
Ejercicio.