C/Visual C - problema con ejercicio con cada uno de los elementos

 
Vista:
sin imagen de perfil
Val: 185
Bronce
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por carlos (95 intervenciones) el 01/08/2017 12:12:21
Tengo un problema el ejercicio es este:

Se tiene una matrizde temperaturas (o vector) con valres reales positivos y negativos (supongo que float) en distintos puntos medidas en distintos dias (matriz n x m, siendo n , el numero de puntos, y m el numero de dias) Calcula la media y la dispersion de temperatura en cada uno de esos dias. La dispersion es la raíz cuadrada de la varianza, y la varianza a su vez se calcula de la siguiente forma:

1/n sumatorio n i=1 (x^2 - media 2 (x con raya encima)

donde media corresponde a la media y Xi a cada uno de los elementos

Que quiere decir con¿ Xi cada uno de los elementos?
Alguien me podria proporcionar datos y al respuesta que le sale(no el codigo), ya que no tengo manera de saber si es correcto lo que haga

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problema con ejercicio con cada uno de los elementos

Publicado por dario (1 intervención) el 01/08/2017 16:00:54
Aca tienes un ejemplo de como calcular la varianza.

Calcular la varianza de la distribución:

9, 3, 8, 8, 9, 8, 9, 18

media = (9+3+8+8+9+8+9+18)/8 = 9

Xi: significa que cada elemento (numero) debes restarle la media

varianza = (9-9)^2+(3-9)^2+(8-9)^2+(8-9)^2+(9-9)^2+(8-9)^2+(9-9)^2+(18-9)^2 / 8

8 es el numero de terminos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 185
Bronce
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por carlos (95 intervenciones) el 02/08/2017 12:17:42
Pues a mi no me sale 8 en el numero de terminos lo mas seguro que matematicamente esta mal(nunca di matematicas mas alla de la ESO)
pongo aqui el codigo por que logicamente no se que me falta;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
 
main(){;
	int m;
	int n=0;
	int temp[n];
	int media=0;
	int total;
	int var;
	int var_1;
	printf("Introduzca los dias que va a medir");
	scanf("%d",&m);
for(int n=1;n<=m;n++){
	printf("Introduzca temperatura");
	scanf("%d",&temp[n]);
		media=media+temp[n];
	fflush (stdin);
}
total=media;
media = media/m;
printf("la media es %d",media);
 
for(n=1;n<m;n++){
var_1=temp[n]-media;
var= var +(var_1*var_1);
printf ("ahora var es %d",var);
}
var=var/n;
printf("varianza terminada %d",var);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 265
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por dario (29 intervenciones) el 02/08/2017 15:58:16
Te dejo esto a ver si te sirve.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <math.h>
 
#define N 50    //si quieres mas temperaturas solo cambia este numero
                //estoy suponiendo que el numero de dias a medir es 50
 
int main() {
    float suma=0,media=0,temperaturas[N],cuadrado;
    float dispersion;
    int i,dias;
 
    printf("Cuantos dias va a medir: ");
    scanf("%d",&dias);
 
    //llenado del vector
    for (i=0; i<dias; i++) {
        printf("Ingrese temperatura del dia %d: ",i+1);
        scanf("%f",&temperaturas[i]);
    }
 
    //calculo de la media
    for (i=0; i<dias; i++)
        suma = suma + temperaturas[i];
 
    media = (float)suma /i;
    printf("\nLa media es %.2f",media);
 
    //calculo de la varianza
    for (i=0; i<dias; i++)
        cuadrado = cuadrado + (temperaturas[i] - media) * (temperaturas[i] - media);
 
    //printf("\nLa varianza es %.2f",cuadrado/i);
 
    //calculo de la dispersion
    dispersion = sqrt(cuadrado/i);
    printf("\nLa dispersion es %.2f",dispersion);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 185
Bronce
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por carlos (95 intervenciones) el 03/08/2017 01:43:08
Segun lo comparo con el mio no entiendo la varianza ni la dispersión

varianza pruebo el tuyo: -233333105... y el mio 242
dispersion: -1#J (error parece ser porque no saca la raiz cuadrada de -233333105)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 265
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por dario (29 intervenciones) el 03/08/2017 05:51:47
Prueba con estos números, 5,5,8,12,15,18 en numero de dias a medir ingresas 6, luego vas ingresando los numeros, el resultado tiene que ser:
media = 10.5
varianza = 24.25
dispersión = 4.92
saludos.
PD: Que sistema operativo y que IDE estas usando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 185
Bronce
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por carlos (95 intervenciones) el 03/08/2017 12:58:38
S.O: Win 10.
IDE: dev c++

Los resultados que me salen son

media: 10.5
varianza=37.44
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 265
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por dario (29 intervenciones) el 03/08/2017 15:22:30
A ver vamos por partes.

Para hallar la varianza:

s = (5-10.5)^2 + (5-10.5)^2 + (8-10.5)^2 + (12-10.5)^2 + (15-10.5)^2 + (18-10.5)^2

el resultado de s = 145.5

Ese resultado lo divides entre el numero de días que ingresaste (en tu ejemplo es 6).

x = 145.5 / 6 = 24.25

De donde sacas 37.44. Pruébalo con una calculadora y veras el resultado.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

problema con ejercicio con cada uno de los elementos

Publicado por Carlos (1 intervención) el 03/08/2017 18:29:40
asi de memoria tenia
resultado= resultado + (temp[n]- media)*(temp[n]-media)

y cuando sale del bucle
resultado=resultado/m(dias)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 265
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por dario (29 intervenciones) el 04/08/2017 05:05:23
Exacto, dentro del bucle tiene que poner resultado= resultado + (temp[n]- media)*(temp[n]-media)

y cuando sale del bucle poner res=resultado/m(dias). Tienes q cambiarle de nombre a la variable.

Esto te da la varianza, para conocer la dsipersion solo tienes que hallar la raiz cuadrada de la varianza:

varianza = sqrt(res) //esto es raiz cuadrada de la varianza.

Espero haber podido ayudarte.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 185
Bronce
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

problema con ejercicio con cada uno de los elementos

Publicado por carlos (95 intervenciones) el 04/08/2017 11:32:11
vale, ahora si

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar