Access - Problemillas...

 
Vista:

Problemillas...

Publicado por Irene (30 intervenciones) el 11/08/2005 08:33:39
Alguien me puede orientar en como puedo resolver estos enunciados??
- Generar una tabla de 30 nº aleatorios distribuidos Logaritmico normal con parametros m = 7,6 y d= 0, utilizando una subrutina VBA.
- Generar una tabla de 30 nº aleatorios distribuidos Uniforme entre 0 y 1 utilizando una subrutina VBA.
Muchas gracias. Un saludo
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

Generar números aleatorios distribuidos logarítmico normal y uniforme mediante VBA

Publicado por Alejandro (4142 intervenciones) el 06/06/2023 23:19:37
Para generar una tabla de números aleatorios distribuidos logarítmicamente normales y uniformemente, puedes utilizar las funciones y métodos disponibles en VBA. Aquí te muestro cómo puedes abordar cada uno de los enunciados:

1. Generar una tabla de 30 números aleatorios distribuidos logarítmico normal:

Puedes utilizar la función `WorksheetFunction.Norm_Inv` para generar números aleatorios distribuidos logarítmicamente normales en VBA. Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub GenerarTablaLogNormal()
    Dim rng As Range
    Dim i As Integer
    Dim media As Double
    Dim desviacion As Double
 
    ' Especifica la media y desviación estándar de la distribución logarítmico normal
    media = 7.6
    desviacion = 0
 
    ' Obtén un rango de celdas donde colocar los números aleatorios
    Set rng = ThisWorkbook.Sheets("Hoja1").Range("A1:A30")
 
    ' Genera los números aleatorios logarítmico normales en el rango especificado
    For i = 1 To rng.Cells.Count
        rng.Cells(i).Value = WorksheetFunction.Norm_Inv(Rnd(), media, desviacion)
    Next i
End Sub

Este código genera 30 números aleatorios distribuidos logarítmicamente normales utilizando la función `Norm_Inv`. Asegúrate de ajustar el nombre de la hoja y el rango de celdas según tus necesidades.

2. Generar una tabla de 30 números aleatorios distribuidos uniformemente entre 0 y 1:

En este caso, puedes utilizar la función `Rnd` para generar números aleatorios distribuidos uniformemente entre 0 y 1. Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
Sub GenerarTablaUniforme()
    Dim rng As Range
    Dim i As Integer
 
    ' Obtén un rango de celdas donde colocar los números aleatorios
    Set rng = ThisWorkbook.Sheets("Hoja1").Range("B1:B30")
 
    ' Genera los números aleatorios uniformes en el rango especificado
    For i = 1 To rng.Cells.Count
        rng.Cells(i).Value = Rnd()
    Next i
End Sub

Este código genera 30 números aleatorios distribuidos uniformemente entre 0 y 1 utilizando la función `Rnd`. Asegúrate de ajustar el nombre de la hoja y el rango de celdas según tus necesidades.

Recuerda que, para obtener resultados verdaderamente aleatorios, debes inicializar la semilla de generación de números aleatorios utilizando `Randomize` antes de llamar a las funciones `Rnd`.

Espero que esto te ayude a resolver los enunciados. ¡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