Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/06/2012, 15:43
Avatar de Adrii952
Adrii952
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 116
Antigüedad: 13 años
Puntos: 7
Respuesta: Multiplicar dos arrays, estadística

Gracias a los dos, pero sólo me sirvió el de maycolalvarez, gracias.
@Nemutagk el problema simplemente es que no tengo conocimientos suficientes de PHP como para hacer algo tan simple como el code de maycolalvarez, que es exactamente lo que buscaba.

Así es como quedó mi cutre-código:

Código PHP:
<?php
header
("Content-type: text/html; charset=utf-8");
if (
$_POST['xi'] == "") {
?>
<meta name="Content-Type"  content="text/html;" http-equiv="content-type" charset="utf-8" />
<form id='login' action='est.php' method='post' accept-charset='UTF-8'>
<textarea name="xi" rows="30" cols="20">xi...</textarea>
<textarea name="fi" rows="30" cols="20">fi...</textarea><br>
<input type='submit' name='Submit' value='Calcular' />
</form>
<?php
} else {
    
$xi_data explode("\r\n",$_POST['xi']);
    
$fi_data explode("\r\n",$_POST['fi']);
    foreach (
$xi_data as $key => $value) {
        
$xifi_data[$key] = $value $fi_data[$key];
    }
    foreach (
$fi_data as $key => $value) {
        
$Fi_data[$key] = $value $Fi_data[$key-1];
    }
    foreach (
$xi_data as $key => $value) {
        
$xi2fi_data[$key] = pow($value,2) * $fi_data[$key];
    }
    echo 
'<textarea rows="1" cols="20">xi:</textarea>';
    echo 
'<textarea rows="1" cols="20">fi:</textarea>';
    echo 
'<textarea rows="1" cols="20">xi·fi:</textarea>';
    echo 
'<textarea rows="1" cols="20">Fi:</textarea>';
    echo 
'<textarea rows="1" cols="20">xi²fi:</textarea><br>';
    echo 
'<textarea name="xi" rows="30" cols="20">'.$_POST['xi'].'</textarea>';
    echo 
'<textarea name="fi" rows="30" cols="20">'.$_POST['fi'].'</textarea>';
    echo 
'<textarea name="xifi" rows="30" cols="20">';
    foreach (
$xifi_data as $xifi) {
        echo 
$xifi."\n";
    }
    echo 
'</textarea>';
    echo 
'<textarea name="Fi" rows="30" cols="20">';
    foreach (
$Fi_data as $Fi) {
        echo 
$Fi."\n";
    }
    echo 
'</textarea>';
    echo 
'<textarea name="xi²fi" rows="30" cols="20">';
    foreach (
$xi2fi_data as $xi2fi) {
        echo 
$xi2fi."\n";
    }
    echo 
'</textarea>';
    
    
$comp_xi preg_replace("/[^0-9]/",""$_POST['xi']); 
    
$comp_fi preg_replace("/[^0-9]/",""$_POST['fi']); 
    if (!
$comp_xi && !$comp_fi) {
        echo 
'<br>Error: Los datos de xi y de fi solo pueden ser númericos';
        exit;
    } else {
        if (
count($xi_data) != count($fi_data)) {
            echo 
'<br>Error: La cantidad de datos de xi y de fi debe ser la misma';
            exit;
        } else {
            echo 
'<br>'.count($xi_data).' filas insertadas.';
        }
    }
    
$sum_fi_data    array_sum($fi_data);
    
$sum_xifi_data    array_sum($xifi_data);
    
$sum_Fi_data    array_sum($Fi_data);
    
$sum_xi2fi_data    array_sum($xi2fi_data);
    
$media            = ($sum_xifi_data/$sum_fi_data);
    
$varianza        = ($sum_xi2fi_data/$sum_fi_data)-pow($media,2);
    
$desviacion        sqrt($varianza);
    echo 
'<br>∑ fi: '.$sum_fi_data;
    echo 
'<br>∑ xifi: '.$sum_xifi_data;
    echo 
'<br>∑ Fi: '.$sum_Fi_data;
    echo 
'<br>∑ xi²fi: '.$sum_xi2fi_data;
    echo 
'<br>Media: '.$media;
    echo 
'<br>Varianza: '.$varianza;
    echo 
'<br>Desviación típica(σ): '.$desviacion;
    echo 
'<br>Coeficiente de Variación: '.($desviacion/$media);

}

?>
Lo podéis probar tal cual. Hace lo básico de estadística. Saludos