Creazione distribuzione normale vba
Hai un problema con Excel? 
Creazione distribuzione normale vba
di salvoturu (utente non iscritto) data: 25/11/2013 20:12:19
partendo dalla creazione di numeri casuali U1 e U2 devo normalizzare i valori ottenuti e trovare i vettori Z1 e Z2
solo che inserendo i voli del vettore U1 e U2 nelle formule e lanciando il ciclo mi da un vettore con tutti numeri uguali...
dove sbaglio
Sub ciccio()
Dim a As Double, b As Double
Dim Vet(2) As Integer
Dim I As Byte, J As Byte
Dim Z(2) As Double
Vet(1) = 125
Vet(2) = 125
For I = 1 To 2
init_genrand (Vet(I))
For J = 1 To 10
Cells(J, I).Value = genrand_real3()
Next J, I
For I = 1 To 2
init_genrand (Vet(I))
a = Sqr(-2 * Application.Ln(genrand_real3()))
b = 2 * Application.Pi * genrand_real3()
Next I
For I = 1 To 2
Z(1) = a * Sin(b)
Z(2) = a * Cos(b)
For J = 1 To 10
Cells(J, I + 2).Value = Z(I)
Next J, I
End Sub |
di Vecchio Frac data: 26/11/2013 11:13:32
E' difficilissimo risponderti senza una base su cui lavorare, inoltre nel pezzo di codice che mostri richiami alcune funzioni (o sub) di cui non sappiamo niente (init_genrand, genrand_real3).
Allega uno scenario completo e poi ne riparliamo.
A occhio comunque, doppio il ciclo
For I = 1 To 2
Z(1) = a * Sin(b)
Z(2) = a * Cos(b)
For J = 1 To 10
Cells(J, I + 2).Value = Z(I) <<<<<<<
Next J, I
assegna alle celle il valore di Z(1) e Z(2) -- rispettivamente e invariabilmente seno e coseno di a e b, e non cambiano mai all'interno del doppio ciclo.
Vuoi Approfondire?