Actualizado el 21 de Marzo del 2018 (Publicado el 28 de Octubre del 2017)
2.298 visualizaciones desde el 28 de Octubre del 2017
47,7 KB
4 paginas
Creado hace 10a (16/11/2014)
Operaciones con matrices en GNU Octave
(primer conocimiento de GNU Octave)
Objetivos. Conocer algunos comandos del lenguaje GNU Octave que permiten hacer
operaciones con matrices.
Requisitos. Instalar GNU Octave, conocer operaciones con matrices.
1. MATLAB y sus an´alogos libres. Encontrar en internet y leer la informaci´on b´asica
sobre MATLAB, GNU Octave, Scilab y FreeMat. Los siguientes ejercicios est´an escri-
tos para GNU Octave, pero se ejecutan sin cambios o con cambios muy peque˜nos en
MATLAB, Scilab y FreeMat.
2. Instalar GNU Octave. Para probar los comandos escritos a continuaci´on hay que
instalar GNU Octave. En el sistema operativo GNU/Linux la instalaci´on de GNU Octave
es trivial. Para instalar GNU Octave en sistemas operativos MS Windows se recomienda
buscar manuales en internet.
3. GNU Octave como una calculadora. Abra el int´erprete de GNU Octave y ejecute
los siguientes comandos uno por uno:
17 + 5
17 / 5
floor(17 / 5)
mod(17, 5)
cos(pi)
sin(pi / 2)
log(exp(1) ^ 5)
mypi = 4 * atan(1)
format long
mypi
format short
mypi
1 + 2 * 3
(1 + 2) * 3
1 / 2 + 3
1 / (2 + 3)
Operaciones con matrices en GNU Octave, p´agina 1 de 4
4. Crear vectores manualmente.
u = [-7, 3, 4, -2]
v = [-7 3 4 -2]
w = [-7; 3; 4; -2]
length(u)
length(w)
size(u)
size(w)
u(1)
w(4)
u(1) = -4
u
5. Crear matrices manualmente.
a = [3, -7; 2, 5]
b = [3 -7; 2 5]
c = [6 0 -3 8 9; 5 1 7 -4 2; 3 1 -6 2 -1]
c
c(2, 3)
size(c)
length(c)
c(1, 4) = 11
p = [2.7 -5; -3+i 8]
6. Matrices especiales.
zeros(3, 5)
zeros(4)
ones(2, 4)
ones(3)
eye(4)
a = diag([-7 2 4])
a(1, 3)
toeplitz([-2 3 1 5], [-2 0 4 -1])
7. Renglones y columnas de una matriz; submatrices.
a = [6 0 -3 8 9; 5 1 7 -4 2; 3 1 -6 2 -1]
a(2, :)
a(:, 5)
a([2 3], [1, 5])
a(3, :)= -7
Operaciones con matrices en GNU Octave, p´agina 2 de 4
8. Sumar una constante a cada entrada.
a = [-3 7; 2 5]
a + 100
9. Operaciones lineales con matrices.
a = [-3 4 2; 1 7 -5]
b = [1 -2 -9; 4 2 6]
c = a + b
c(1, 3)
a + b
(a + b)(1, 3)
0.3 * a
10. Crear matrices aleatorias.
rand(4, 2)
rand(4)
randi(9, 4)
randi([-7 7], 3, 5)
El comando randi funciona en versiones nuevas de GNU Octave (a partir de 3.6). Si en
su versi´on de GNU Octave el comando randi no est´a definido, entonces puede usar el
siguiente truco:
round(20 * rand(2) - 10)
11. Multiplicar matrices.
a = randi([-9 9], 3, 2)
b = randi([-9 9], 2, 4)
c = a * b
c(2, 1)
(a * b)(2, 1)
12. Matriz transpuesta, matriz transpuesta conjugada.
a = [1-2i 3 7; -2 6-4i 7+i]
a.’
a’
b = [3 -7; 2 -1; 8 1]
b.’
b’
En el caso complejo la matriz transpuesta conjugada es m´as importante que la matriz
transpuesta, por eso le corresponde un comando m´as simple; en el caso real estas dos
matrices coinciden.
Operaciones con matrices en GNU Octave, p´agina 3 de 4
Operaci´on : (cortes de progresiones aritm´eticas)
13. Operaci´on : (dos puntos).
1 : 5
(1 : 5)’
-3 : 12
8 : 5
10 : 3 : 20
15 : -2 : 7
1 : 0.1 : 2
14. Funciones vectorizadas.
xs = 0 : 0.1 : 0.5
sqrt(xs)
cos(xs)
xs .^ 2
xs = -4 : 0.1 : 4;
ys = cos(xs);
plot(xs, ys)
15. Extracci´on de subvectores con la operaci´on : (dos puntos).
v = rand(9, 1)
v(3 : 7)
v(1 : 3) = -5
v
16. Extracci´on de submatrices con la operaci´on : (dos puntos).
a = rand(4, 5)
a(1 : 2, 1 : 3)
a(2, 3 : 5)
a(2 : 4, 3 : 5) = -1
Operaciones con matrices en GNU Octave, p´agina 4 de 4
Comentarios de: Operaciones con matrices en GNU Octave (primer conocimiento de GNU Octave) (0)
No hay comentarios