cap_1_p_04

Grupo_5ing = detecto 2 errores en fórmulas = 0.1 puntos rudinal = detecto 4 errores de ortografía = 0.20 puntos

=Capítulo 1, Problema 4=

Mediante ensayos de corte confinado en muestra de suelos de Waukell Creek, California, se determinaron los siguientes valores (en ton/ft2).


 * = ===0.12=== ||= ===0.21=== ||= ===0.36=== ||= ===0.37=== ||
 * = ===0.39=== ||= ===0.46=== ||= ===0.47=== ||= ===0.50=== ||
 * = ===0.50=== ||= ===0.51=== ||= ===0.53=== ||= ===0.58=== ||
 * = ===0.61=== ||= ===0.62=== ||= ===0.77=== ||= ===0.81=== ||
 * = ===0.93=== ||= ===1.05=== ||= ===1.59=== ||= ===1.73=== ||

Usando 4, 6 y 8 intervalos, dibujar los histogramas para estos datos. En el segundo caso, considerar tres localizaciones diferentes de los puntos de división de los intervalos, Con pocos puntos extremos, puede ser ventajoso considerar intervalos de diferente longitud, más largos a la derecha.

Solución:
El problema se resolvió usando GNU OCTAVE de la siguiente forma:

code format="matlab" datos = [ 0.12 0.39 0.50 0.61 0.93 0.21 0.46 0.51 0.62 1.05 0.36 0.47 0.53 0.77 1.59 0.37 0.50 0.58 0.81 1.73]; code

Y se grafican los histogramas:

code format="matlab" hist(datos, 4); xlabel('Corte confinado (ton/ft2)'); ylabel('Numero de observaciones'); title('Histograma de ensayos de corte confinado en muestra de suelos de Waukell Creek, California') print('cap1_p04_4.png'); code

Histograma resultante:

code format="matlab" hist(datos, 8); xlabel('Corte confinado (ton/ft2)'); ylabel('Numero de observaciones'); title('Histograma de ensayos de corte confinado en muestra de suelos de Waukell Creek, California') print('cap1_p04_8.png'); code

Histograma resultante:

El gráfico de la frecuencia acumulada se puede obtener con los comandos: code format="matlab" Nclases = 8; datos = [0.12 0.39 0.50 0.61 0.93 0.21 0.46 0.51 0.62 1.05 0.36 0.47 0.53 0.77 1.59 0.37 0.50 0.58 0.81 1.73]; xint = linspace(min(datos),max(datos), Nclases+1); nelem = hist(datos,Nclases); fr = nelem./length(datos);         % frecuencia relativa fa = [0 cumsum(fr)];               % frecuencia acumulada figure plot(xint,fa) xlabel('Corte confinado (ton/ft2)'); ylabel('Frecuencia acumulada'); title('Frecuencia acumulada de ensayos de corte confinado en muestra de suelos de Waukell Creek, California') grid print('cap1_p04_8_fa.png'); code

El gráfico resultante es:

Si queremos dibujar histogramas con ancho diferente, debemos entonces utilizar MATLAB, ya que GNU OCTAVE no dispone de esta funcionalidad.

En este caso el programa es el siguiente: code format="matlab" datos = [ 0.12 0.39 0.50 0.61 0.93 0.21 0.46 0.51 0.62 1.05 0.36 0.47 0.53 0.77 1.59 0.37 0.50 0.58 0.81 1.73 ]; code

Con el comando code format="matlab" >> linspace(min(datos),max(datos), 10) ans =

0.1200   0.2989    0.4778    0.6567    0.8356    1.0144    1.1933    1.3722    1.5511    1.7300

>> code Puedo seleccionar los intervalos

code format="matlab" limites_clases = [ 0.12  0.2989   0.4778   0.6567  0.8356  1.0144  1.74]; n = histc(datos, limites_clases);  % Conteo de datos fr = n./sum(n);                    % Frecuencia relativa frc = fr./[diff(limites_clases) 1]; % Frecuencia relativa corregida bar(limites_clases, frc, 'histc'); xlabel('Corte confinado (ton/ft2)'); ylabel('Frecuencia relativa corregida'); title('Histograma de ensayos de corte confinado en muestra de suelos de Waukell Creek, California'); print(gcf, '-dpng', 'cap1_p04_6.png'); code Observe que en el anterior código se normalizó la frecuencia relativa, de modo que se tuvo en cuenta el ancho del intervalo.

Histograma resultante:

Cálculo de estadísticas
Para calcular las siguientes estadísticas se necesita que el vector datos sea un vector columna code format="matlab" datos = [ 0.12 0.39 0.50 0.61 0.93 0.21 0.46 0.51 0.62 1.05 0.36 0.47 0.53 0.77 1.59 0.37 0.50 0.58 0.81 1.73 ]'; N = length(datos); code (por eso el ' al final del vector datos)

Cálculo de la media de los datos
La media de los datos se calcula con la fórmula: math \bar{x} = \frac{1}{n} \sum_{i=1}^n x_i math

Y su resultado es: code format="matlab" mean(datos) code ANS = 0.65550

Cálculo de la desviación estándar de los datos
La desviación estándar __poblacional__ de los datos se calcula con la fórmula: math s_{\text{poblacional}} = \sqrt{\frac{1}{n} \sum_{i=1}^n \left(x_i - \bar{x}\right)^2} math

Y su resultado es: code format="matlab" std(datos,1) code ANS = 0.40958

Cálculo de la desviación poblacional de los datos
La desviación estándar __muestral__ de los datos se calcula con la fórmula: math s_{\text{muestral}} = \sqrt{\frac{1}{n-1} \sum_{i=1}^n \left(x_i - \bar{x}\right)^2} math

Y su resultado es: code format="matlab" std(datos) std(datos,0) code ANS = 0.39921

Cálculo del coeficiente de asimetría de los datos
El coeficiente de asimetría __poblacional__ (skewness - http://en.wikipedia.org/wiki/Skewness) está definido por: math \gamma_1 = \frac{\tfrac{1}{n} \sum_{i=1}^n (x_i - \overline{x})^3}{\left(\tfrac{1}{n} \sum_{i=1}^n (x_i - \overline{x})^2\right)^{3/2}} = \frac{\tfrac{1}{n} \sum_{i=1}^n (x_i - \overline{x})^3}{s_\text{muestral}^3} math donde math x_i math es la i-ésima muestra y math \bar{x} math es la media muestral

code format="matlab" skewness(datos) skewness(datos,1) sum((datos - mean(datos)).^3)/(std(datos,1)^3)/N code ans = 1.4203

El coeficiente de asimetría __poblacional__ es un estimador sesgado. La asimetría __muestral__ es un estimador no sesgado que corrige este sesgo. Este está dato por: math G_1 = \frac{\sqrt{n(n-1)}}{n-2} \gamma_1 math code format="matlab" skewness(datos,0) skewness(datos,1)*sqrt(N*(N-1))/(N-2) code ans = 1.5381

Como math \gamma_1 > 0 math los datos tienen un histograma que es asimétrico positivo o hacia la derecha.

--- Solucionado por:
 * Diego Andrés Alvarez Marín