Análisis numérico


Fuentes: Esteve Comas, Jordi y Costa Cor, M. Teresa

Resumen en powerpoint: Analisis numérico
Resumen de la 2a parte: Analisis numérico 2parte

.

Miercoles, 8 de Junio de 2011

.
Casi todo el temario de la asignatura está recogido en estos dos resúmenes una linea más arriba. La asignatura ha consistido en resolver los problemas planteados, y conocer el lenguaje de programación R.

Haciendo los 2 exámenes de evaluación continuada y los de las prácticas, se puede sacar la asignatura tranquilamente. No es interesante, y a ratos parece matemática de bachillerato. Sin embargo, introducirse al lenguaje R es fundamental para matemática actuarial vida.

.

Jueves, 25 de noviembre de 2010

.

Para la segunda práctica de hoy en programación R…

1. para sumar dos matrices nº a nº

>matriz1+matriz2

2. para multiplicar dos matrices nº a nº

>matriz1*matriz2

3. para hacer el producto matricial y vectorial

sujeto a que el nº de filas del primero = nº columnas del segundo,
no cumple la propiedad conmutativa
>matriz1%*%matriz2
con vectores
>vector1%*%vector2

o también

>vector%*%matriz
(el sistema pone él solo al vector en forma de fila para poderlo multiplicar matricialmente)
>matriz%*%vector
(el sistema pone él solo al vector en forma de columna para poderlo multiplicar matricialmente)

si se hace el producto matricial entre una matriz 2×3 y otra 3×2 el resultado es una
matriz 2×2

4. suma y suma acumulada de los elementos de la matriz

>sum(matriz1)

>cumsum(matriz1)

5. operaciones sobre sólo las filas o columnas

Si se quiere aplicar sobre las filas(1) una suma (sum)
>apply(matriz,1,sum)

Si se quiere aplicar sobre las columnas(2) una suma acumulada (cumsum)
>apply(matriz,2,cumsum)

6. hacer la traspuesta

Para colocar las filas en columnas
>t(matriz)

7. ordenar de menor a mayor un vector

>vectorordenado<-sort(vector)

8. ordenar una matriz ordenando de mayor a menor los vectores “x”, “y”

[,1] [,2] [,3] [,4]      <— en la fila vector y desordenado
[1,]    0    5    3    1
[2,]    3    5    2    8
[3,]    1    4    8    0                  <—- matriz desordenada
[4,]    3   10    1    4

en la columna el vector x desordenado

>matrizordenada<-matriz[order(x),order(y)]

9. calcular las marginales de las filas

Es calcular la suma por filas de la matriz ordenada

>marginalesx<-apply(matrizordenada,1,sum)

10. la media ponderada de las marginales respecto al vector x

será la suma de los valores ordenados de x * el valor marginal
dividido la suma total de las marginales de x
>mediax<-sum(xord*marginalesx)/sum(marginalesx)

o también usando la función
>mediax<-weighted.mean(xord,marginalesx)

11. la covarianza de la matriz respecto x e y

“outer” obliga a multiplicar cada valor de “x” por el valor de “y”
…outer(vector1,vector,”operación que queremos aplicar entre ambos vectores”)
>Sxy<-sum(outer(xord,yord,”*”)*matrizordenada/sum(matrizordenada)-mediax*mediay

12. para calcular la recta Y=a+bX a partir de una serie de valores de X y de Y

>Y<-c(4,10,11,25,16)
>X<-c(1:5)
>sol<-lsfit(x,y)
>sol$coefficients

donde “intercept” es = a
el valor “x” es =b

13. la media de un vector x

>mediavectorx<-mean(x)

14. la varianza de un vector x

>varianzax<-sum((x-mediax)^2)/lenght(x)

15. covarianza de dos vectores del mismo lenght

>Sxy<-sum(x*y)/lenght(x)-mediax*mediay

16. la recta de regresión

b=
>b<-(-)Sxy/varianzax

a=
>a<-mediay-b*mediax

17. resolución de sistemas de ecuaciones

Se crea una matriz con los coeficientes de las variables de filas=ecuaciones
Se crea un vector con el igual de cada ecuación
>solve(matriz,vector)

18. para calcular el producto y producto acumulado de los elementos de un vector

>prod(vector)

>cumprod(vector)

19. señalar la posición del elemento mayor (máximo) de un vector

>which.max(vector)

y para que lo nombre

>max(x)

20. crear un vector a partir de la comparación de los valores máximos (max) o mínimos de dos vectores)

Después de crear los 2 vectores
>pmax(vector1,vector2)
o “pmin”…

21. para revertir el orden de los elementos de un vector

>rev(x)

para que además los ordene
>rev(sort(x))

22. para relacionar un vector de factores con otro numérico

tapply(vector numérico, vector factor, operación)

si tenemos un vector “salarios” y otro con “provincias”
para calcular la media de salario por provincias
>tapply(sal,prov.factor,mean)

23. crear una matriz a partir de dos vectores o matrices o ambos

colocándolos por columnas
>cbind(x,y)

colocándolos por filas
>rbind(x,y)

24. crear una matriz identidad

diagonal con valores y el resto cero
>diag(1:4)

seleccionar la diagonal de una matriz ya creada
>diag(matriz)

25. la inversa de una matriz

debe ser cuadrada y con determinante no-cero

>solve(matriz)

26. para encontrar el determinante

>det(matriz)

.

Jueves, 28 de octubre de 2010

.

Para la primera práctica de hoy en programación…

Un pajarito me ha dicho que pueden preguntar sobre
1. introducir vectores y visualizarlos, y saber su longitud (length), visualizar elementos mayores a un nº
2. crear matrices de 3×4, y visualizar algunas filas y algunas columnas
3. crear vectores edad, estado civil, etc, y averiguar qué tipo son (mode)
4. crear un data.frame con los vectores anteriores y renombrar las filas, averiguar su estructura
5. escribir una función de segundo grado y solucionarla para x=0,..,15
6.visualizar todos los objetos del workspace

1. para introducir vectores en R

Nombrar un vector y añadirle sus componentes
>v1<-c(1,2,3,4,5)

para visualizarlo
>v1

para saber su longitud
>length(v1)

para visualizar elementos mayores a un nº (p.ej. los valores mayores a 3)
>v1[v1>3]

2. para crear una matriz 3×5 (3 filas, 5 columnas)
Crear el vector que lo va a formar, por defecto sigue el orden (columna1,columna2,columna3…)
>dades<-c(1,2,3,4,5,11,12,13,14,15,21,22,23,24,25)

nombrar una matriz y añadirle “dades”, indicando que me agregue los datos por filas, y no por columnas
>m1<-matrix(dades,3,5,byrow=T)

y saldría algo así
1    2    3    4    5
11 12 13 14 15
21 22 23 24 25

si no hubiera añadido el “byrow=T” habría rellenado la matriz por columnas

1  4  12 etc…
2  5  13
3  11 14

para seleccionar de la matriz m1 la primera fila
>m1[1,]

para seleccionar las dos primeras filas y todas las columnas menos la tercera
>m1[c(1,2),-3]

para seleccionar la primera columna
>m1[,1]

para crear una matriz 3×5 donde las 3 filas sean
una secuencia de 1 a 5
5 cincos seguidos
otra secuencia de 31 a 35

>dades<-c(1:5,rep(5,5)31:35)
>m1<-matrix(dades,3,5,byrow=T)
[,1] [,2] [,3] [,4] [,5]

[1,]    1    2    3    4    5
[2,]    5    5    5    5    5
[3,]   31   32   33   34   35

3. para crear un vector edad
>edad<-c(14,17,18,24)

para crear un vector estado civil
>estado<-c(“soltero”,”soltero”,”soltero”,”casado”)

para crear un data.frame llamado hogar con una matriz de lo anterior
>hogar<-data.frame(edad,estado)

para ver la estructura del dataframe
>str(hogar)

para ver el tipo de datos que componen el vector “estado”
>mode(estado)

para renombar las filas y que en lugar de numerito salgan nombres
>rownames(hogar)<-(“juan”,”pedro”,”sonia”,…)

para renombrar las columnas
>colnames(hogar)…

4.

5. para ver todo el workspace
>ls()

.

Martes, 26 de octubre de 2010

.

Métodos para encontrar el valor de x que anula la función. f(x) = 0

1. Método de las mitades
2. método de las partes proporcionales
3. método de las tangentes de newton

.

Jueves, 14 de octubre de 2010

.

Más clase de prácticas de lenguaje R, sumatorios, sumatorios acumulados, media, varianza y desviación.

.

Jueves, 30 de septiembre de 2010

.

Clase de prácticas de lenguaje R, hemos creado vectores, matrices, y data.frame

.

Martes, 28 de septiembre de 2010

.

Hemos hecho la clase en ordenadores, básicamente para ejemplificar la fórmula de simpson en la aproximación del cálculo de un área. Lo tengo en excel y derive por si alguien lo quiere (que me lo pida por email)

.

Jueves, 23 de septiembre de 2010

.

Estamos introduciéndonos en el lenguaje de R.

.

Martes, 21 de septiembre de 2010

.

Estamos con teoría sobre aproximación a una función curva. Las fórmulas de Newton-cotes:

http://es.wikipedia.org/wiki/F%C3%B3rmulas_de_Newton%E2%80%93Cotes

http://luda.uam.mx/curso2/tema5/integral.html

.

Jueves, 16 de septiembre de 2010

.

Clase de presentación. Nos han repetido el tema de cómo funciona la avaluación continuada, y que utilizaremos el entorno  de programación R.

http://www.r-project.org/

.

Martes, 14 de septiembre de 2010

.

El profe se llama Jordi.

Los jueves de 16h-18h toca práctica en la sala de informática 8.

Hemos empezado ya con temario sobre conceptos matemáticos:

Teorema del valor medio.

Si tenemos un intérvalo cerrado (los extremos se incluyen) y afitado (no va de menos infinito a infinito, sino que los extremos son finitos), y este intérvalo (a,b) es continuo y derivable en todos sus puntos…
[a,b] significa continuo
(a,b) significa derivable, es decir, sin “esquinas”
… entonces tenemos un número “c” tal que su derivada coincide con la pendiente del segmento entre a y b.

f’(c) = [ f(b) - f(a) ] / b-a

http://es.wikipedia.org/wiki/Teorema_del_valor_medio

es difícil explicarlo en un editor de texto, así que sólo menciono que ha seguido con el teorema de Taylor

http://www.mat.uson.mx/eduardo/calculo2/soltaylor/soltaylorHTML/taylor.htm

y con la fórmula de Mac-Laurin

http://es.wikipedia.org/wiki/F%C3%B3rmula_de_Euler-Maclaurin

  1. Aún no hay comentarios.

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.

Únete a otros 27 seguidores