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


actividad octave 2, Apuntes de Álgebra

Asignatura: algebra, Profesor: juan juan, Carrera: Ingeniería Informática, Universidad: UDIMA

Tipo: Apuntes

2014/2015

Subido el 06/01/2015

nuevo_en_udima
nuevo_en_udima 🇪🇸

2

(4)

2 documentos

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Actividad de aprendizaje 2.
Ejercicios a realizar con Octave
PROBLEMA 1:
Un montaje de laboratorio proporcionan dos magnitudes que llamaremos
x
e
y
. Un día se toman
los siguientes pares de datos
(x;y)
de ese sistema:
{(0; 0,81),(1; 0,1),(2; 0,15),(3; 0,9),(4; 2,6),(5; 5,3)}
a/ Suponiendo que el comportamiento se ajusta a un polinomio de grado 2 construir un sistema
de ecuaciones a partir de los datos. Ver si es posible resolver directamente este sistema median-
te las técnicas habituales para así calcular los coecientes del polinomio. Hacer un ajuste de
mínimos cuadrados
ATAx=ATb
para hallar esos coecientes y calcular el error de mínimos
cuadrados.
b/ Hacer un ajuste de mínimos cuadrados para un polinomio de grado tres y calcular el error
cometido. ¾Qué ajuste es mejor? Representar grácamente de manera simultánea (comando
hold
) los datos iniciales y los polinomios obtenidos. Ver las diferencias.
Notas:
El estudiante se valdrá de Octave para calcular lo que le piden, pero en lugar de usar la función
que calcula directamente el ajuste de mínimos cuadrados usará la función que calcula Gauss-
Jordan.
No usar la función polyt.
El estudiante no necesita programar scripts ni programas ni nada de eso, sólo efectuar una
operación tras otra paso a paso según el esquema teórico de cómo se calcula un ajuste por
mínimos cuadrados.
Como siempre deberá decir cómo consigue los resultados y los pasos que ha seguido. Los resul-
tados se darán en un pdf creado con un procesador de texto.
PROBLEMA 2:
Supóngase que en una aldea perdida en las montañas viven un granjero, un sastre, un albañil,
un leñador y Alejo, un destilador ilegal de alcohol que se bebe gran parte de lo que produce.
Cada uno de ellos proporciona comida, ropa, vivienda, energía y aguardiente a ellos mismos y
a los demás. La fracción de los bienes producidos que consume cada uno de ellos (normalizado
a la unidad) viene dado por la siguiente tabla:
Habitante comida ropa vivienda energía aguardiente
Granjero 0.25 0.15 0.25 0.18 0.20
Sastre 0.15 0.28 0.18 0.17 0.05
Albañil 0.22 0.19 0.22 0.22 0.10
Leñador 0.20 0.15 0.20 0.28 0.15
Alejo 0.18 0.23 0.15 0.15 0.50
Así por ejemplo, Alejo consume el 18 % de toda la comida, el 23 % de la ropa, el 15 % de la
vivienda, el 15 % de la energía y el 50 % de su propio aguardiente. Obrvese que la suma de
cada uno de todos esos bienes de consumo (las columnas de la tabla) es 1.
Supongamos ahora que
s= [x, y, z, u, w ]
es un vector formado con los ingresos respectivos de
cada uno de ellos. En una economía cerrada como ésta, esas cantidades no sólo denotan los
ingresos, sino que además denotan el precio de las cosas.
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga actividad octave 2 y más Apuntes en PDF de Álgebra solo en Docsity!

Actividad de aprendizaje 2.

Ejercicios a realizar con Octave

PROBLEMA 1:

Un montaje de laboratorio proporcionan dos magnitudes que llamaremos x e y. Un día se toman los siguientes pares de datos (x; y) de ese sistema:

a/ Suponiendo que el comportamiento se ajusta a un polinomio de grado 2 construir un sistema de ecuaciones a partir de los datos. Ver si es posible resolver directamente este sistema median- te las técnicas habituales para así calcular los coecientes del polinomio. Hacer un ajuste de mínimos cuadrados AT^ Ax = AT^ b para hallar esos coecientes y calcular el error de mínimos cuadrados. b/ Hacer un ajuste de mínimos cuadrados para un polinomio de grado tres y calcular el error cometido. ¾Qué ajuste es mejor? Representar grácamente de manera simultánea (comando hold) los datos iniciales y los polinomios obtenidos. Ver las diferencias.

Notas: El estudiante se valdrá de Octave para calcular lo que le piden, pero en lugar de usar la función que calcula directamente el ajuste de mínimos cuadrados usará la función que calcula Gauss- Jordan. No usar la función polyt. El estudiante no necesita programar scripts ni programas ni nada de eso, sólo efectuar una operación tras otra paso a paso según el esquema teórico de cómo se calcula un ajuste por mínimos cuadrados. Como siempre deberá decir cómo consigue los resultados y los pasos que ha seguido. Los resul- tados se darán en un pdf creado con un procesador de texto.

PROBLEMA 2:

Supóngase que en una aldea perdida en las montañas viven un granjero, un sastre, un albañil, un leñador y Alejo, un destilador ilegal de alcohol que se bebe gran parte de lo que produce. Cada uno de ellos proporciona comida, ropa, vivienda, energía y aguardiente a ellos mismos y a los demás. La fracción de los bienes producidos que consume cada uno de ellos (normalizado a la unidad) viene dado por la siguiente tabla:

Habitante comida ropa vivienda energía aguardiente Granjero 0.25 0.15 0.25 0.18 0. Sastre 0.15 0.28 0.18 0.17 0. Albañil 0.22 0.19 0.22 0.22 0. Leñador 0.20 0.15 0.20 0.28 0. Alejo 0.18 0.23 0.15 0.15 0.

Así por ejemplo, Alejo consume el 18 % de toda la comida, el 23 % de la ropa, el 15 % de la vivienda, el 15 % de la energía y el 50 % de su propio aguardiente. Obsérvese que la suma de cada uno de todos esos bienes de consumo (las columnas de la tabla) es 1. Supongamos ahora que s = [x, y, z, u, w] es un vector formado con los ingresos respectivos de cada uno de ellos. En una economía cerrada como ésta, esas cantidades no sólo denotan los ingresos, sino que además denotan el precio de las cosas.

Tarea: teniendo en cuenta lo expuesto plantear un problema de autovectores a resolver con Octave en el que se obtenga el precio que han de tener los bienes allí producidos para que los cinco habitantes puedan sobrevivir. ¾Qué bienes de consumo son el más caro y el más barato? ¾Vivirá Alejo lo suciente como para disfrutar de sus ingresos?

Notas: El estudiante se valdrá de Octave para calcular lo que le piden, le basta usar de nuevo Gauss- Jordan para las matrices adecuadas. Para ello hay que imponer el autovalor λ = 1. No usar la función eig. Una pista de cómo hacerlo la puede dar el funcionamiento del motor de búsqueda de Google que asigna el rango. El estudiante no necesita programar scripts ni programas, sólo efectuar una operación tras otra paso a paso según el esquema teórico de cómo se calculan autovectores y autovalores. Como siempre deberá decir cómo consigue los resultados y los pasos que ha seguido. Los resul- tados se darán en un pdf creado con un procesador de texto.

PROBLEMA 3:

Introduzcamos ahora algunas generalizaciones que nos serán de utilidad a lo largo de la práctica cuando abordemos sistemas lineales mal condicionados.

Matriz mal condicionada: Una matriz A está mal condicionada si pequeños cambios en sus elementos pueden producir cambios grandes en las soluciones del sistema lineal Ax = b. Si pe- queños cambios de los elementos de A producen únicamente cambios pequeños en las soluciones de Ax = b, entonces se dice que A está bien condicionada. Es decir, un cambio pequeño en alguno de los coecientes da lugar a cambios muy signicativos en el vector solución. Es importante observar que las perturbaciones de los coecientes de un sistema lineal no ocurren de forma intencionada, las fuentes más comunes de estas pertur- baciones son el truncamiento y redondeo de los resultados parciales que tiene lugar de forma inevitable durante los cálculos. Recordad que los ordenadores trabajan con aritmética nita, lo que signica que la representación de prácticamente cualquier número real lleva asociado un error. Aunque bien es verdad que estos errores son muy pequeños, también lo es que éstos se van acumulando durante los cálculos produciendo cambios que no son despreciables y pueden inuir en los resultados que muestra el ordenador. En consecuencia, es importante saber, si un sistema lineal está mal condicionado y disponer de métodos para abordar los problemas que de ellos se derivan. Como veremos, la descomposición en valores singulares es uno de ellos. Antes introduciremos algunos conceptos.

Rango numérico: Sea el número real δ > 0 una cota para los valores singulares de una matriz Am×n, tal que

σ 1 ≥ σ 2 ≥ · · · ≥ σq > δ ≥ σq+1 ≥ · · · ≥ σr > 0 , σr+1 = σr+2 =... = σn = 0.

El número natural r coincide con el rango de la matriz A. Al número natural q para el cual

σq > δ

se le llama rango numérico de la matriz A.

Matriz truncada: Sea Am×n una matriz m × n cuya descomposición en valores singulares está dada por A = UΣVT

La solución exacta del sistema lineal perturbado Ax˜ = b es

x =

Vericar estas soluciones usando gauss-jordan en Octave.

Esto ocurre porque la matriz A está mal condicionada y pequeños errores en las entradas de la matriz A producen grandes errores en la solución nal. Veamos ahora cómo la descomposición en valores singulares de una matriz nos ayuda a tratar este problema. Consideremos nuevamente nuestro sistema lineal Ax = b y busquemos una solución del problema Atx = b. Esta solución viene dada por:

x = A† t ∗ b

Utilizemos el programa Octave para ver lo que ocurre.

  1. Escribamos la matriz A  A = [1 2 1; 10 18 12; 20 22 40] A = 1 2 1 10 18 12 20 22 40 y escribamos la matriz b  b = [8; 78; 144] x = 8 78 144
  2. Realicemos la descomposición en valores singulares de la matriz A. Para ello escribamos la siguiente instrucción  [U, D, V ] = svd(A) U = − 0 , 0400 − 0 , 1203 − 0 , 9919 − 0 , 4091 − 0 , 9037 0 , 1261 − 0 , 9116 0 , 4108 − 0 , 0131 D = 54 , 5107 0 0 0 9 , 3049 0 0 0 0 , 0079 V = − 0 , 4103 − 0 , 1011 0 , 9063 − 0 , 5045 − 0 , 8028 − 0 , 3179 − 0 , 7597 0 , 5877 − 0 , 2783 Esto de acuerdo a la denición signica que

A = U DV T

  1. Consideremos la matriz D.

D =

Como podemos observar el valor singular 0 , 0079 es muy pequeño. Si consideramos δ = 0, 01 de forma que σ 1 > δ ≥ σ 2 , el rango de la matriz A sería q = 2. Ahora utilizando la denición podemos truncar la matriz A y tener que

At =

Para truncar la matriz A, basta con truncar la matriz D en su rango numérico para ello escribimos la siguiente instrucción  D(3, 3) = 0 D = 54 , 5107 0 0 0 9 , 3049 0 0 0 0 escribimos  Dt = D Dt = 54 , 5107 0 0 0 9 , 3049 0 0 0 0 Esto indica que la nueva matriz Dt esta truncada.

  1. Calculemos A† t. De acuerdo a la denición de pseudoinversa basta con invertir los valores de la diagonal de la matriz truncada, para ello escribimos la siguientes instrucciones  Dtin = Dt; Dtin(1, 1) = 1/Dtin(1, 1); Dtin(2, 2) = 1/Dtin(2, 2) Dtin = 0 , 0183 0 0 0 0 , 1075 0 0 0 0 Finalmente calculamos la matriz pseudo-inversa truncada. Escribimos la siguiente ins- trucción  Apit = V ∗ Dtin ∗ U ′ Apit = 0 , 0016 0 , 0129 0 , 0024 0 , 0107 0 , 0818 − 0 , 0270 − 0 , 0070 − 0 , 0514 0 , 0387
  2. Para resolver el sistema Ax = b, utilizando la descomposición en valores singulares (x = A† t ∗ b), escribimos la siguiente instrucción  x = Apit ∗ b x = 1 , 3642 2 , 5738 1 , 5023

Ahora de manera similiar al ejemplo mostrado, perturbemos nuestra matriz A de manera que

A = A˜ =

Tarea a realizar:

Usar este mismo método para calcular la solución del sistema

x y z

y del sistema

 

x y z

Comparar e interpretar los resultados.

Cómo realizar esta actividad de aprendizaje:

Hay que crear un documento pdf en donde se expliquen los pasos realizados y se expongan las soluciones alcanzadas a las preguntas y tareas que se plantean en cada problema. Una vez se haya completado introducir dicho documento en el buzón correspondiente.

Herramientas Básicas:

Para esta actividad sólo nos hace falta unas pocas funciones de Octave y saber cómo se asignan matrices. Si tenemos una matriz A tal que

A =

asignaremos sus valores del siguiente modo

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

Para hacer un Gauss-Jordan de A sólo necesitamos invocar una función:

rref(A)

Para ampliar una matriz A con un vector del lado derecho b y asignar el resultado a una matriz M lo haremos de este modo:

M=[A,b]

Asignar una matriz identidad de 3 × 3 :

I=eye(3)

Multipicar o sumar dos matrices y asignar a una matriz M :

M=A*B M=A+B

Calcular la inversa de una matriz A y asignar el resultado a otra N :

N=A'

Una manera sencilla para dibujar una función con octave puede ser esta:

fplot ("x^23-2x+1", [-10, 10], 100);

En este caso se dibuja la parábola y = 3x^2 − 2 x + 1 entre -10 y 10 con 100 puntos de datos.