--- output: pdf_document --- ```{r,echo=FALSE} cat("UNIVERSIDAD NACIONAL AGRARIA\nDPTO. Estadística e Informática\nMétodos Numéricos y Simulación") ``` ##$$Parcial,~Octubre~2016$$ ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` 1. La siguiente muestra corresponde a las medidas de la altura del Maíz. Cada registro tiene un error relativo de 0.05. Se debe calcular algunas estadísticas como la mediana medida central y el rango como medida de variación. Hallar sus valores si la muestra es: 1.65, 1.61, 1.65, 1.90, 1.50 y 1.48 metros: Como todo error de una funcion, esta se determina con las relaciones: $\epsilon_f = \sum |f'_{x_i}(x_1,x_2...)|*\epsilon_{x_i}$ Para el caso de la mediana corresponde al valor central o promedio entre los centrales, luego de ordenar los datos. Segun la medida de la muestra, el orden seria: ```{r} x<-c(1.65, 1.61, 1.65, 1.90, 1.50, 1.48) print(x) print(sort(x)) ``` los valores centrales son: 1.61 y 1.65, el promedio 1.63 El error correspondiente. si el relativo es 0.05, el absoluto de cada valor que participa es: $0.05*1.61$, y $0.05*0.65$; resultado: $\epsilon_1 = 0.0805$ $\epsilon_2 = 0.0325$ El error de la funcion de promedio: $(1*0.0805+1*0.0325)/2 = 0.0565$ Por lo tanto la mediana sera: $1.63 \pm 0.0565$ Para el caso del rango, la funcion corresponde a la diferencia absoluta del maximo y minimo, siendo las medidas positivas, el rango seria solo el maximo - minimo. Segun el orden, estos son: maximo = 1.9, su error $0.05*1.9 = 0.095$ minimo = 1.48, su error $0.05*0.42 = 0.021$ rango = 0.42 Error de la funcion: $1*0.095+ 1*0.021 = 0.116$ Por lo tanto, el rango es: $0.42 \pm 0.116$ 2. Resolver la ecuación $e^{-x}- 2*x^{0.5} = 0$ por aproximación sucesiva, verificar la convergencia, previamente localice la raíz cercana a cero. La ecuacion: ```{r} f<-function(x) exp(-x)-2*x^0.5 curve(f,-1,1) abline(h=0,v=0,lty=2) ``` La solucion por aproximacion sucesiva: $e^{-x}- 2*x^{0.5} = 0$ Primera posibilidad $x=(0.5*e^{-x})^2$ $x_0=0.5$ **Prueba de la condicion de Lipschitz** dada la la funcion $g(x)= (0.5*e^{-x})^2$ $|g(x_{i+1})-g(x_i)| \le |x_{i+1}-x_i|$ ```{r} x<-NULL g<-function(x) (0.5*exp(-x))^2 x[1]<-1 for(i in 1:4){ x[i+1]<-g(x[i]) test<-abs(g(x[i+1])-g(x[i])) < abs(x[i+1]-x[i]) print(test) } ``` Cumple la condicion. a) Halle la raíz utilizando tres iteraciones ```{r} x<-NULL g<-function(x) (0.5*exp(-x))^2 x[1]<-0.5 for(i in 1:3){ x[i+1]<-g(x[i]) test<-abs(g(x[i+1])-g(x[i])) < abs(x[i+1]-x[i]) } print(cbind(iter=0:3,x)) ``` b) Encuentre la raíz con 2 cifras decimales significativos. Para 2 cifras decimales, la cota de error debe ser: $\epsilon = 0.5*10^{-1-2+1} = 0.5*10^{-2}$ error de aproximacion $\epsilon_i = \left |\frac{f(x_i)}{f'(x_i)}\right |$ ```{r} f1<-function(x) -exp(-x) - 1/sqrt(x) Ei<-function(x)abs(f(x)/f1(x)) Error<- 0.005 x<-NULL; E<-NULL g<-function(x) (0.5*exp(-x))^2 x[1]<-0.5 i<-1 E[i]<-Ei(x[i]) while (Ei(x[i])> Error) { x[i+1]<-g(x[i]) i<-i+1 E[i]<-Ei(x[i]) } print(cbind(iter=0:(i-1),x,E)) ``` Satisface el error < 0.005, la raiz es: 0.17975925 con 5 iteraciones. c) Encuentre la raíz con un margen de error menor al 5%. Significa que el error relativo debe ser menor de 0.05 $\delta<0.05$ $\delta=\frac{\epsilon}{|x|}$ ```{r} Di<-function(x)Ei(x)/abs(x) dError<- 0.05 x<-NULL; dE<-NULL x[1]<-0.5 i<-1 dE[i]<-Di(x[i]) while (Di(x[i])> dError) { x[i+1]<-g(x[i]) i<-i+1 dE[i]<-Di(x[i]) } print(cbind(iter=0:(i-1),x,dE)) ``` Satisface el error $\delta < 0.05$, la raiz es: 0.17975925 con 4 iteraciones. 3. Se tiene información de una variable dependiente "y" y tres variables independientes ($x_1$, $x_2$, y $x_3$). La matriz de correlación de $x_1$, $x_2$, y $x_3$, constituyen los coeficientes de un sistema de ecuaciones, el lado derecho del sistema corresponde a la correlación de las Variables $x_1$, $x_2$, y $x_3$ con la variable dependiente **y**. $$Y=\left(\begin{array}{c} 4\\3\\2\\0 \end{array} \right) ~~~ X= \left (\begin{array}{ccc}4 & -1 & 4\\8 & -2 & 2 \\4 & 5 & 0 \\1 & -1 & 1 \end{array} \right)$$ Halle la solución por los métodos de Jacobi y de Gauss. La solución corresponde a los efectos directos de cada variable sobre la dependiente. (Se conoce como análisis de secuencias en modelo de ecuaciones estructurales del análisis multivarial). ```{r} y<-c(4,3,2,0) x<-rbind(c(4,-1,4), c(8,-2,2), c(4,5,0), c(1,-1,1)) b<-cor(x,y) A<-cor(x) print(b) print(A) ``` **Jacobi** ```{r} z<-c(0,0,0) # solucion k w<-NULL # solucion k+1 iter<-5 for(k in 1:iter){ w[1]<-(b[1]-A[1,2]*z[2]-A[1,3]*z[3])/A[1,1] w[2]<-(b[2]-A[2,1]*z[1]-A[2,3]*z[3])/A[2,2] w[3]<-(b[3]-A[3,1]*z[1]-A[3,2]*z[2])/A[3,3] cat(k,w,"\n") z<-w } ``` **Gauss-seidel** ```{r} w<-c(0,0,0) # solucion k iter<-5 for(k in 1:iter){ w[1]<-(b[1]-A[1,2]*w[2]-A[1,3]*w[3])/A[1,1] w[2]<-(b[2]-A[2,1]*w[1]-A[2,3]*w[3])/A[2,2] w[3]<-(b[3]-A[3,1]*w[1]-A[3,2]*w[2])/A[3,3] cat(k,w,"\n") } ```