Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Ejercicios Algebra Octave, Ejercicios de Matemáticas

Asignatura: Matemáticas I, Profesor: Alvaro Nolla de Celis, Carrera: Ingeniería de la Energía, Universidad: URJC

Tipo: Ejercicios

2015/2016

Subido el 13/12/2016

gegio98
gegio98 🇪🇸

4.2

(13)

27 documentos

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Grado en Ingenier´ıa en Energ´ıa
Introducci´on a Octave y Tutorial de ´
Algebra Lineal
1 Introducci´on a Octave
Octave es un entorno integrado de programaci´on y visualizaci´on dise˜nado principalmente para
alculo num´erico.
Es muy similar a Matlab, tanto en sintaxis como en la forma de uso mediante m-files o
archivos .m. Tienen un alto grado de compatibilidad (ambos escritos en C y C++).
Algunas aginas y enlaces de inter´es:
Web de Octave: https://www.gnu.org/software/octave/
Documentaci´on:
Manual de referencia: Eaton, Bateman, Hauberg, Wehbring “GNU Octave. Free
your numbers” en https://www.gnu.org/software/octave/octave.pdf
Menos extenso es este, y una buena primera toma de contacto es el tutorial apido
que pod´eis encontrar aqu´ı.
Descarga de paquetes: http://octave.sourceforge.net. Por ejemplo symbolic para utilizar
polinomios de manera simb´olica o lineal-algebra (en principio no necesarios para el curso).
1
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga Ejercicios Algebra Octave y más Ejercicios en PDF de Matemáticas solo en Docsity!

Grado en Ingenier´ıa en Energ´ıa

Introducci´on a Octave y Tutorial de ´Algebra Lineal

1 Introducci´on a Octave

Octave es un entorno integrado de programaci´on y visualizaci´on dise˜nado principalmente para c´alculo num´erico. Es muy similar a Matlab, tanto en sintaxis como en la forma de uso mediante m-files o archivos .m. Tienen un alto grado de compatibilidad (ambos escritos en C y C++).

Algunas p´aginas y enlaces de inter´es:

  • Web de Octave: https://www.gnu.org/software/octave/
  • Documentaci´on:
    • Manual de referencia: Eaton, Bateman, Hauberg, Wehbring “GNU Octave. Free your numbers” en https://www.gnu.org/software/octave/octave.pdf
    • Menos extenso es este, y una buena primera toma de contacto es el tutorial r´apido que pod´eis encontrar aqu´ı.
  • Descarga de paquetes: http://octave.sourceforge.net. Por ejemplo symbolic para utilizar polinomios de manera simb´olica o lineal-algebra (en principio no necesarios para el curso).

1.1 Octave 4 GUI (Graphical User Interface)

La versi´on 4 de Octave ya trae incorporada un entorno gr´afico que permite usarlo de manera c´omoda.

Partes de la GUI

  • Directorio actual y Explorador de archivos: donde Octave busca archivos .m
  • Espacio de trabajo: donde almacena las variables que vamos usando.
  • Historial de comandos: donde se guardan todos los comandos ejecutados.
  • Ventana de comandos: L´ınea de comandos o instrucciones para que Octave ejecute (2+2, sin(2.23).. .). Podemos hacerlo todo desde esta ventana, es donde realmente se encuentra Octave. - Calculadora muy potente. - Muestra los errores que cometemos. - Permite comprobar c´alculos r´apidamente - Si se ejecutan muchos comandos, y sobre todo si hay errores frecuentes, es dif´ıcil seguir el rastro de lo que se ha hecho.
  • Editor: (Recomendado) Crea archivos .m y los ejecuta con el s´ımbolo
    • Octave ejecuta el archivos l´ınea a l´ınea de arriba a abajo, excepto aquello que siga al caracter % (comentario).
    • Permite ordenar los c´alculos que se van haciendo y crear secuencias. Adem´as, modificar un dato o c´alculo en cualquier parte de la secuencia es muy sencillo.

a = 2.33; printf(’La soluci´on es %f \n’,a)

que muestra por pantalla: La soluci´on es a = 2. 3300

En el comando % indica la posici´on en donde se sit´ua la variable a, la letra f le da un formato (ver tabla) y \n hace realiza un salto de l´ınea al finalizar.

%f n´umero en coma flotante (decimal) %e notaci´on cient´ıfica %g como %f o %e pero sin ceros a la derecha %i n´umero entero %c caracter %s cadena de caracteres (string)

Otros comandos ´utiles que se pueden incluir dentro del comando son:

%n nueva l´ınea %t tabular %b elimina un espacio

Para incluir varias variables el orden de los % coincide con el orden de las variables separadas por comas al final del comando. Por ejemplo,

niter = 9;z = log(10); printf(’En %i iteraciones obtenemos %g \n’,niter,z)

con resultado: Al cabo de 9 iteraciones el el resultado es 2.30259.

2 Tutorial ´Algebra Lineal

2.1 Definici´on de matrices y vectores

Un vector se define escribiendo sus elementos separados por comas.

v = [1, -3, 4, 0, -2, 15, 1]

Octave tamb´en permite no usar las comas y simplemente separar los elementos con un espacio:

v = [1 -3 4 0 -2 15 1]

Podemos recuperar los elementos de un vector escribiendo la posici´on que ocupan entre par´entesis (Ojo! los vectores en Octave empiezan en la posici´on 1) y usando los dos puntos : si queremos que nos devuelva intervalos. Por ejemplo,

v(2) recupera −3, el elemento en la posici´on 2 v(2:6) recupera − 3 , 4 , 0 , − 2 , 15 los elementos entre las posiciones 2 y 6.

Una matriz se define escribiendo los elementos de cada una de las filas, separando cada fila con un punto y coma. Por ejemplo,

A = [1,2,3 ; 4,5,6 ; 7,8,9]

A = 1 2 3 4 5 6 7 8 9

Podemos definir por tanto un vector columna de la siguiente forma:

w = [1;2;3;4;5;6]

aunque como veremos enseguida podremos definirlo usando la traspuesta: w = [1,2,3,4,5,6]’

Los elementos dentro de una matriz se pueden obtener de nuevo mediante la posici´on que ocupan dentro de la matriz. Por ejemplo,

A(2,3) devuelve 6

A(2:3,2:3) devuelve la submatriz

Podemos tambi´en definir una matriz a partir de vectores, por ejemplo

v1 = [1,2,3,-1,2] v2 = [-1,0,1,0,0] v3 = [0,0,0,0,5] A = [v1; v2; v3] Construye A colocando v1, v2 y v3 en filas

2.2 Creando matrices

eye(n) - Crea la matriz identidad In de orden n × n. ones(m,n) - Crea una matriz de orden m × n con todas las entradas igual a 1. zeros(m,n) - Crea una matriz de orden m × n con todas las entradas igual a 0. rand(m,n) - Crea una matriz de orden m × n con entradas aleatorias. diag(v) - Crea una matriz diagonal con los elementos del vector v en la diagonal. diag(A) - Crea un vector con los elementos de la diagonal de la matriz A.

2.3 Operaciones con matrices

Las operaciones suma, resta y producto de matrices usual se denotan por ∗, +, −. Si se quiere hacer una operaci´on t´ermino a t´ermino hay que a˜nadir un punto antes del s´ımbolo de la operaci´on. Por ejemplo, prueba con los comandos

A = [1,4; 5,0];B = [-1,2; 1,3]; AB A.B

Pr´actica

Utiliza Octave para resolver los siguientes ejercicios:

  1. Dado el vector v = (1, 4) y la matriz A =

calcular 2vA.

  1. Dadas las matrices

A =

 , B =

 C =

calcular A^3 At^ − BC y A^3 At^ − CB. ¿Pueden realizarse las dos operaciones? ¿Por qu´e?

  1. Resuelve los sistemas lineales    

x 1 − 2 x 3 = − 1 2 x 2 + x 3 − 2 x 4 = 1 3 x 1 + x 2 + x 3 + x 4 = − 1 − 2 x 1 + x 2 + 3x 4 = 2

x 2 − x 3 + x 4 = − 1 2 x 1 + 2x 2 − 3 x 3 + 4x 4 = − 6 4 x 1 + 2x 2 − 4 x 3 + 6x 4 = − 10 2 x 1 + 3x 2 − 4 x 3 + 5x 4 = − 7

¿Tienen ambos soluci´on ´unica? En caso de que alguno no lo sea, justifica si es compatible indeterminado o incompatible.

  1. Define una matriz aleatoria A de orden 5 × 5 y un vector aleatorio b en R^5. Resuelve el sistema Ax = b. ¿Obtienes soluci´on ´unica? ¿Crees que es una coincidencia o dado un sistema lineal aleatorio Ax = b lo m´as probable es que exista una ´unica soluci´on?
  2. ¿Son los vectores v 1 = (− 1 , 2 , − 3 , 0 , 3 , 5 , 6), v 2 = (− 1 , − 4 , 3 , 4 , 6 , 5 , 1), v 3 = (2, 3 , 4 , 2 , − 2 , − 2 , 0) y v 4 = (− 11 , − 7 , − 29 , − 14 , 10 , 15 , 11) de R^6 linealmente independientes?
  3. Comprobar si el conjunto { 1 − x^2 , 1 − x + 3x^2 + x^3 , x + 4x^2 + 3x^3 , − 1 − x + x^2 + x^3 } es base del espacio vectorial R 3 [x] de polinomios de grado menor o igual a 3.
  4. Razona si son o no diagonalizables los aplicaciones lineales cuyas matrices respecto de la base can´onica son las siguientes:

A =

 , B =

En caso de que lo sean, indica la base en la que la aplicaci´on lineal diagonaliza, la matriz diagonal y la matriz de paso.

Pr´actica - Soluciones

  1. 2vA = (− 4 , 14).
  2. A^3 At^ −BC =

 (^) mientras que la operaci´on A^3 At^ −CB no puede realizarse

ya que los ´ordenes de A^3 At^ y CB no coinciden.

  1. El primer sistema tiene soluci´on ´unica (x 1 , x 2 , x 3 , x 4 ) = (− 0. 6 , 0. 5 , 0. 2 , 0 .1). El segundo es un sistema compatible indeterminado (rg(A) = rg(A|b) = 2 < 4).
  2. Los comandos para resolver un sistema aleatorio 5 × 5 son A = rand(5,5) b = rand(5,1) solucion = A\b No es una casualidad, lo m´as probable es que sea un sistema compatible.
  3. Mediante los comandos A = [v1;v2;v3;v4] rank(A) obtenemos que el rango es 3 y por tanto son linealmente dependientes.
  4. Como R 3 [t] ∼= R^4 , el ejercicio es equivalente a comprobar si los vectores w 1 = (1, 0 , − 1 , 0), w 2 = (1, − 1 , 3 , 1), w 3 = (0, 1 , 4 , 3) y w 4 = (− 1 , − 1 , 1 , 1) forman una base de R^3. Como son 4 vectores en un espacio de dimensi´on 4 es suficiente con demostrar que son l.i., que por ejemplo hacemos viendo que el determinante A = [w1;w2;w3;w4] det(A) es distinto de 0.
  5. Para la matriz A obtenemos los autovalores λ 1 = 0, λ 2 = 1 y λ 3 = 2 con autovectores v 1 = (9. 4281 · 10 −^1 , 2. 3570 · 10 −^1 , − 2. 3570 · 10 −^1 ), v 2 = (− 8. 1650 · 10 −^1 , − 4. 0825 · 10 −^1 , 4. 0825 · 10 −^1 ) y v 3 = (− 4. 8093 · 10 −^16 , 9. 4868 · 10 −^1 , 3. 1623 · 10 −^1 ) respectivamente. Como los tres autovalores son distintos, la matriz A es diagonalizable. En cuanto a la matriz B, vemos que tiene autovalores λ 1 = 2.0000, λ 2 = 5.5000 + 5. 2678 i y λ 3 = 5. 5000 − 5. 2678 i, dos de ellos complejos y por tanto la matriz B no es diagonalizable (en R).