vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 1158: Normalverteilte Zufallszahlen 
Autor: Ulf Schlohand
 Tipp anzeigenDatum: 31.03.20 15:10

Sicher bemerkt ihr bei den erstellten Zufallszahlen viele "Zacken" und "Einbrüche" bei Ansicht der Wahrscheinlichkeitsdichte in MSChart...

Dies liegt an der falschen Platzierung der RND-Initialisierung innerhalb der Function, wodurch die Zufallszahlen immer neu initialisiert und daher verschiedenen! Grundgesamtheiten entnommen werden.

Richtig wäre:
--------------------------------------------------------
Sub Main()
...
Randomize (Timer) 'gehört an diese Stelle direkt vor der For-Schleife!
For i = 1 To 10000
Print #FileNumber, CStr(rnd_gauss(185, 0.2, 20))
Next i
Close #FileNumber
End Sub

Function rnd_gauss(m, s, Border As Double) As Double
...
'Randomize (Timer)ist an dieser Stelle falsch!
Do
X = 2 * Border * Rnd + (m - Border)
Y = Rnd
DoEvents
WD = (Sqr(2 * 3.1415 * s) ^ (-1)) * Exp(-((X - m) ^ 2) / (2 * s))
Loop Until Y < WD

rnd_gauss = X
End Function
--------------------------------------------------------------------------
Ausprobieren!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tipp 1158: Normalverteilte Zufallszahlen712Ulf Schlohand31.03.20 15:10

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel