Suche Hilfe für kleines Simulationsprogramm :-D
-
so, das ganze driftet etwas ab
-
Dieser Thread wurde von Moderator/in Korbinian aus dem Forum Projekte in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
hab das mal eben mit der normalverteilung ausprobiert ich glaub das funzt sogar wirklich... wie gesagt ohne garantie aber mit der mfc malt der mir ne schöne glockenkurve...
ist noch verbesserungswürdig insbesondere ist schwachsinnig das ich die varianz bei jedem mal neu schätze statt das ein paar mal zu machen und dann den mittelwert der varianzen als schätzer zu nehmen aber vom prinzip her scheinst so zu gehen...
double normalverteilte_zufallsvariable(double mue,double sigma){ int i,temp,n=100; double var,zv,mue_rand; zv=var=0; mue_rand=RAND_MAX/2.0; for(i=0;i<n;++i){ temp=rand(); zv+=temp; var+=(temp-mue_rand)*(temp-mue_rand); } zv/=n; var/=n*(n-1); zv+=mue-mue_rand; zv*=sigma/pow(var,0.5); return zv; } void test(double* array,int n,double mue,double sigma,int values){ int i; double x,u,o,interval; u=mue+3*sigma; o=mue-3*sigma; interval=(o-u)/(n-2); memset(array,0,n*sizeof(double)); for(i=0;i<values;++i){ x=normalverteilte_zufallsvariable(mue,sigma); ++array[(int)(min(max(0,1+(x-u)/interval),n-1))]; } } double max_value(double* array,int n){ double max=*array; for(int i=1;i<n;++i) if(max<array[i]) max=array[i]; return max; } void CMalemaleDlg::OnButton1(){ CWnd *wp; CDC *pDC; CRect Rect; CString str; double y,von,bis; int i,width,height,n; n=700; double *array=new double[n]; test(array,n,0,1,500000); von=0; bis=max_value(array,n); wp = GetDlgItem(IDC_STATIC_DIAGRAMM); pDC = wp->GetDC(); wp->GetWindowRect(&Rect); width=min(n,abs(Rect.TopLeft().x-Rect.BottomRight().x)); height=abs(Rect.TopLeft().y-Rect.BottomRight().y); for(i=0;i<width;++i){ double wert=array[i]; if(bis>=wert && von<=wert){ y=height-(height*(wert-von)/(bis-von)); pDC->SetPixel(i,(int)y,RGB(255,0,0)); } } delete [] array; wp->ReleaseDC(pDC); }
-
In boost gibt es unter boost/random/normal_distribution.hpp auch einen Generator für Normalverteilung. Anwendung: http://www.c-plusplus.net/forum/viewtopic.php?p=596452#596452
-
Damit wir hier mal konkret weiter kommen, ein Einstieg in die Simulation, die zeigt, wie wenig marktorientiert sich die Mensa verhält, da sie die Nachfrage der Studenten nicht in allen Kategorien befriedigt:
..
-
Hallo Leute!
Ich bin wirklich sehr überrascht über euer Engagement.
Leider bin ich jetzt 3 Wochen zum Praktikum im Ausland und habe dort nicht die Möglichkeit zu programmieren. Finde ich schade da eure Anregungen sehr gut und ausführlich sind. Denk mal so viel Details würde der Prof nicht erwarten da es nicht so umfangreich angesiedelt war.Wie gesagt bin ich in 3 Wochen erst wieder fähig die Aufgabe zu erarbeiten, und habe eine Woche dann Zeit für die Lösung. Also bestimmt ordentlich was zu tun, da ich nicht über das Wissen verfüge das ihr habt (leider)
So dann VIELEN VIELEN DANK für die Ratschläge die bis jetzt kamen, wenn ich es dann net hinbekommen bin ich selbst Schuld!
MFG Joerg de Boerg
-
@Joerg de Boerg: wenn du Unterstützung brauchst, wir stehen bereit.
-
Hehe, Erhard ist schon ganz heiss auf die nächste Simulation
war aber auch wirklich mal ne nette Aufgabe, nicht so ein standard 0815 sortieren sie nach weiss ich was... hat sich der aufgabensteller mal richtig mühe gegeben
-
Solche Simulationen finde ich in der Tat recht amüsant. Ich denke, dass ich die Aufgabe mit meinem Angebot-/Nachfragespiel etwas verfälscht habe. Wahrscheinlich werden nicht jeden Tag alle Preiskategorien angeboten, sondern nur eine Auswahl. Mir ist allerdings noch nicht klar, wieviele verschiedene Essenskategorien täglich angeboten werden (spielt vielleicht auch keine Rolle, also müsste man mit einer Variable modellieren, obiges Programm wäre dann die Variante, wenn man täglich alles anbietet).
Das Programm lässt sich aber leicht an alle möglichen Fragestellungen anpassen.
Mich interessiert das zur Modellierung wirtschaftlicher Vorgänge in der Produktion, z.B. für Losgrößenoptimierung bei komplexen Kampagnenproduktionen.Ich habe den MT-Generator kombiniert mit Normalverteilung von boost genommen. Das ist an einer Hochschule sicher nicht erlaubt.
Hat jemand einen transparenten Normalverteilungsgenerator parat?
-
@Erhard
Mich interessiert das zur Modellierung wirtschaftlicher Vorgänge in der Produktion, z.B. für Losgrößenoptimierung bei komplexen Kampagnenproduktionen.
schreibst du die dinger da auch von hand oder verwendest du da ein simulationstool?
omnet++ soll ja angeblich der hammer sein. hat sich damit mal jemand beschäftigt und kann das bestätigigen?
-
Bisher verwende ich keine simulation tools, mache also alles von Hand. Danke für den Hinweis auf Omnet++.
-
Danke für den Hinweis auf Omnet++.
war eigentlich nicht als Hinweis gedacht
aber wenn du dich mit beschäftigst ist ja auch fein dann weiss ich ja wenn ich im Fall des Falles nerven muss
-
..
-
Ganz schön dreist, Jörg. Was wohl Prof. Beyer davon halten würde....
*kopfschüttel*
-
Ma ne andere Frage. Wieviel zahlst du denn damit dieser Link nicht an Prof. Beyer gesendet wird? *fg*
noch fröhliches Schaffen :p
-
Der größte Hund im ganzen Land ist der Denunziant!