Algoritmia - Algoritmos para probabilidad.

 
Vista:

Algoritmos para probabilidad.

Publicado por Arturo (1 intervención) el 24/08/2003 03:42:20
Necesito un algoritmo para crear una tabla de probabilidad 'Z' estandarizada, que son las que aparecen en los anexos de los libros de Estadística, y que dada una 'z' determinada se proporciona un valor probabilístico que representa el área bajo la curva de una distribución de probabilidad normal. Tengo entendido que esta tabla se llena a partir de una integral, que es la que representa el área bajo dicha curva, pero debo reflejar en un programa exactamente la misma tabla que como si la tuviera en el libro. Es igual lo que necesito para llenar una tabla "T" Student. En las dos tablas, me pidieron que sea de una y dos colas la probabilidad a reflejar, que de preferencia debe ser en Pascal o C. ¿Alguien me puede auxiliar en algo?, aunque sea diciéndome la integral y orientándome cómo programarla. Gracias Mil.
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
Imágen de perfil de Alejandro

Generación de tablas de probabilidad 'Z' y 'T' en Pascal

Publicado por Alejandro (307 intervenciones) el 28/02/2024 21:11:22
Arturo, para generar una tabla de probabilidad 'Z' estandarizada y una tabla 'T' de Student, puedes utilizar funciones de distribución acumulativa normales y t de Student respectivamente. Aquí te proporciono un ejemplo sencillo en Pascal para generar la tabla 'Z':

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
program TablaZ;
 
const
  MAX_Z = 3.99; // Valor máximo de Z para la tabla
  PASO = 0.01;  // Incremento en Z
 
var
  Z: Double;
 
begin
  Writeln('Z', #9, 'Probabilidad (una cola)', #9, 'Probabilidad (dos colas)');
 
  Z := -MAX_Z;
  while Z <= MAX_Z do
  begin
    // Calcular probabilidad para una cola
    // Utiliza la función de distribución acumulativa normal estándar
    // (puedes implementarla o utilizar una biblioteca existente)
    // En este ejemplo, usaremos la función erf() de la biblioteca math.
 
    // Probabilidad para una cola
    Write(Z:4:2, #9, (1 + erf(Z / Sqrt(2))) / 2:0:4, #9);
 
    // Probabilidad para dos colas
    Write((1 - (1 + erf(Z / Sqrt(2))) / 2) * 2:0:4);
 
    Writeln;
 
    Z := Z + PASO;
  end;
end.

Para la tabla 'T' de Student, el enfoque es similar, pero necesitarías la función de distribución acumulativa de Student en lugar de la función de distribución acumulativa normal estándar. Puedes encontrar esta función en bibliotecas matemáticas o implementarla tú mismo.

Recuerda que la función erf() utilizada aquí es una aproximación, y en un entorno de producción, podrías preferir utilizar bibliotecas matemáticas más precisas o implementar una función de distribución acumulativa normal estándar específica.

Ten en cuenta que este código es un punto de partida, y es fundamental adaptarlo según tus necesidades y requisitos específicos. Además, la generación precisa de estas tablas implica cálculos matemáticos rigurosos, y puede ser útil consultar literatura especializada para obtener métodos más avanzados de generación de tablas de probabilidad.
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