WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Poisson Verteilung aus Scshleife grafisch

 

Itchy
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 05.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.05.2016, 13:04     Titel: Poisson Verteilung aus Scshleife grafisch
  Antworten mit Zitat      
Moin ich benötige eure Hilfe!
Mit Matlab möchte ich mittels Wahrscheinlichkeitsrechnung den optimalen Umsatz einer Fähre ermitteln, die zwischen Hafen A und B pendelt. Die Fähre kann immer genügend Passagiere zum niedrigeren Preis (f1) mitnehmen, es gibt aber noch teuere Plätze, die kurz vor Abfahrt verkauft werden. Wie viele Plätze zum teureren Tarif sollte die Fähre nun freihalten um den höchsten Ertrag zu erzielen.
Hierzu habe ich mir gedacht das ganze mittels der Poisson-Verteilung zu berechnen und die Fähre x100.000 fahren zu lassen. Hierbei komme ich auch auf Ergebnisse, möchte diese jedoch gerne grafisch darstellen und den höchsten Umsatz im Diagramm angezeigt bekommen..??
Wie kann ich das in Matlab umsetzten, damit ich eine grafische Lösung für meine Fragestellung bekomme?
Ich danke euch vorneweg schon einmal,
LG

Code:
%Ferry (F) in shuttle service between harbor A and B
%Aim to simulate the amount of places for f2 that need to be "protected" to gain
%the highest revenue for the ferry

%assumptions:
    %F has 1000 ports (N) available for customers
    %Two fares are available for customers (f1, f2)
    %Number of people wanting to pay f2 will be distriubeted as Poisson with
    %parameter 400
    %Number of people are willing to pay f1 is unlimited

clear all; clc;
N=          1000;       %capacity of ferry
protect1=   500;        %assumption reserved for low fare customers
lambda1=    400;        %average demand for high fare customers is poisson (400)-Expectation value
price1=     600;        %low fare is 600,-/N1- always maximum!
price2=     900;        %high fare is 900,-/N2

for protect1=500:1000
for i=100000
    demand2(i)= poissrnd(lambda1);
    demand1(i)= max(1000-demand2(i),0);
    revenue(i)= price2*min(demand2(i),N-protect1)+price1*protect1;
   end
  protect1,mean(revenue)           %calculate mean
   end
 
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 06.05.2016, 20:20     Titel:
  Antworten mit Zitat      
Zum plotten:
welcher Wert soll genau geplottet werden?

revenue?
oder demand1 oder demand2?
Was genau hast du schon versucht?

Code:
plot((1:length(revenue)),revenue,'*-');




Die innere for-schleife sollte mMn so sein:
Code:

Derzeit überschreibst du deine Werte die die innere Schleife ergab, bei jedem weiteren Schleifendurchlauf der äußeren Schleife. D.h. du speicherst auch nur die Werte ab, die entstehen, wenn protect1=1000!


Außerdem sollte man nicht unbedingt i (imaginäre Einheit )als Laufvariable nutzen.


Die Variable protect1 wird einmal definiert und dann nochmals als Laufvariable neu belegt.


Code:
revenue(i)= price2*min(demand2(i),N-protect1)+price1*protect1;

Warum multiplizierst du den Preis1 mit protect1, statt mit demand1?


Code:
protect1,mean(revenue)           %calculate mean

Was soll diese Zeile deiner Meinung nach machen?
AKtuell wird hier nur die Laufvariable protect1 ausgegeben und der Mittelwert der bisherigen Berechnung.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Itchy
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 05.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2016, 09:28     Titel:
  Antworten mit Zitat      
Erst einmal herzlichen Dank für die Kommentare zu meinem Thema!

Zum plotten:
Ich erhalte ja 500 Werte als Ergebnis (je protect1 einen Wert). Dieser entspricht meiner Ansicht nach meiner revenue für das jeweilige Protectionlevel. Und diese Anzahl an Werten möchte ich in einer Grafik plotten und grafisch den höchsten Wert herauslesen lassen. Also an sich auf der x-achse das Protektionslevel von protect1=500-1000 und auf der y-achse die revenue (also den Preis den ich als Mittelwert für jedes Protektionslevel erhalte). Diese beiden Ergebnisse kombiniert ergeben meiner Meinung nach eine Kurve und aus dieser möchte ich meine höchste Revenue (Hochpunkt) zum zugehörigen Protectionlevel grafisch erhalten. Ist das überhaupt möglich oder denke ich quer-Beet?!

Kann ich vllt. meine Ergebnisse in eine x-y-Tabelle speichern und diese dann plotten?

for-schleife:
Du hast vollkommen Recht, das 1: hat gefehlt.

Warum multiplizierst du den Preis1 mit protect1, statt mit demand1?
Da ich meine Fähre immer komplett mit low fare customers füllen kann. Also mein demand 1 wäre unendlich.

Was soll diese Zeile deiner Meinung nach machen?
Meiner Meinung nach ermittel ich damit den Mittelwert des Umsatzes zu dem jeweiligen protection level.

LG und ich freue mich auf deine Kommentare.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.