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

Geburtstags-Paradoxon

 

BigKahuna

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2009, 01:22     Titel: Geburtstags-Paradoxon
  Antworten mit Zitat      
Moin,

bin ein fast vollkommener Noob was Matlab angeht und möchte gerne mit einem M-File das Geburtstags-Paradoxon darstellen.

Dazu habe ich folgenden m-file schon bis dahin angelegt:
Code:

function p=geburtstagsparadoxon(n)

n=23

p=1-((365/(365-n))^(365.5-n)*exp(-n))
 

Nun soll man das Ganze noch wie eine Funktion darstellen, d.h. die n-Werte, also die Anzahl der Personen von 20-40 darstellen und daneben jeweils die passenden Wahrscheinlichkeiten, dass eben zwei Personen von dieser Anzahl am gleichen Tag Geburtstag haben.
Daran scheiter ich aber bisher.

n p
20 0.4144
21 0.4437
22 .....

usw...

Natürlich soll das alles im M-File möglichst kurz geschrieben werden.


Wenn jemand so nett ist und mir das erklärt, kann er auch gerne gleich ausschweifend erklären Wink

Ich weiß zum Beispiel nicht mal, warum denn nun das n=23 über meiner Formel stehen muss und nicht dadrunter stehen kann. Dann funktioniert mein M-File nämlich nicht mehr...

Wer sonst weiter am Geburtstagsparadoxon interessiert ist, kann bei wikipedia vorbeischauen!

edit by steve: Bitte an die Code-Umgebung denken!


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 24.03.2009, 16:45     Titel:
  Antworten mit Zitat      
Moin,

du bist eigentlich schon fast am Ziel:
Code:

function p=geburtstagsparadoxon(n)

p=1-((365./(365-n)).^(365.5-n).*exp(-n)); % hier auf die "." vor den "/" und "*" achten
 

Das als geburtstagsparadoxon.m abspeichern und dann kannst du z.B im Command Window folgendes schreiben:
Code:

x = 20:40;
y = geburtstagsparadoxon(x)
figure,
plot(x,y);
 


Zur Erklärung:
Du hast jetzt eine eigene Funktion, an welche das "n" übergeben wird und die das zugehörige "p" zurückgibt. "n" kann jetzt auch ein Vektor sein, da innerhalb der Gleichung die elementweise Multiplikation (.*), Division (./) und Potenz (.^) anwenden.

Ich hoffe das reicht als Erklärung, sonst einfach noch mal fragen...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
BigKahuna

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2009, 13:44     Titel:
  Antworten mit Zitat      
Besten Dank, funktioniert dann natürlich einwandfrei!
 
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 - 2024 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.