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

Doppelspaltexperiment

 

physiker

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2009, 20:30     Titel: Doppelspaltexperiment
  Antworten mit Zitat      
hallo Smile

ich bin physikstudent und möchte mittels matlab das doppelspaltexperiment darstellen. das heißt, dass von einer punktquelle teilchen, dessen bahnen durch geraden dargestellt sind, unter zufälligen winkeln losschießen. das war für mich als super matlab neuling schon schwer, aber ich habs hingekriegt:

x = 0:0.01:100

for i=1:100
theta = pi*rand*100/180;
strahl = tan(theta)*x;
plot(x,strahl,'k-')
hold on

end

nun kommt als nächstes der doppelspalt. das würde bedeuten, dass nur die teilchen mit bestimmten winkeln durch den spalt kommen. das würde ich auch noch sicherlich hinkriegen mit ner definitionsbereich - definition. so nach dem motto, wenn die geraden nicht den anstieg haben, dann sind diese nur bis zum spalt definiert.

meine frage ist nun, wie ich die geraden (teilchen) hinten am schirm messen/zählen kann? ibt es irgendwie eine möglichkeit dafür? irendwie sowas wie: teilchen trifft auf schirm an stelle x1, nächstes teilchen trifft wieder schirm auf x2. eine diagramm mit den punkten (treffer) auf einer geraden würde schon reichen. mein problem ist nun gerade, dass ich das über schnittpkte zweier geraden machen wollte, aber ein schirm der senkrecht steht, is halt keine funktion, die mit einer anderen schneiden könnte, also sowas wie: solve(f1=f2,x) ist doch nicht möglich oder?

wäre toll, wenn ihr mir ansätze geben könntet Smile gibt es vielleicht eine elegantere lösung mit simulation o.ä.? ich kenne die möglichkeiten noch nicht on matlab.

ach ja das ganze soll klassisch sein, also keine beugung, das wäre wohl zu schwierig für mich!

ich danke im voraus

gruß und schönen abend noch

Präsentation1.jpg
 Beschreibung:

Download
 Dateiname:  Präsentation1.jpg
 Dateigröße:  22.11 KB
 Heruntergeladen:  662 mal
Präsentation1.jpg
 Beschreibung:
schematischer aufbau des experiments

Download
 Dateiname:  Präsentation1.jpg
 Dateigröße:  22.11 KB
 Heruntergeladen:  652 mal


qualle
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 03.07.09
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 08.07.2009, 21:26     Titel:
  Antworten mit Zitat      
Hallo Physiker,

dein Schirm ist doch eine Gerade: x_Schirm='Abstand des Schirms von Ursprung'. (Ich nehme mal dein Ursprung/Nullpunkt hast du am Startpunkt der Teilchen festgelegt. Und y_Schirm ist beliebig.
1. Jetzt muss du dir überlegen/ausrechnen, wo Teilchen x_i, falls es durch einen der beiden Öffnungen gelangen konnte, und den Weg x_Schirm zurück gelegt hat, sich befindet. Nennen wir das mal (xi_Ende,yi_Ende).
2. Als nächstes überlegst du dir, in wie große Intervalle du deinen Schirm einteilen willst. Dann skalierst du, wenn nötig, ein bisschen um und schneidest den yi_Ende_modifiert ab.
3: Nun definierst du dir eine Folge von Intervallen und fragst einzeln ab, ob y_i in dem Intervall liegt.
Genauer: Intervall(i,j): j entspricht, wenn du die unten aufgeführte Schleife durchgehst , der Anzahl der dort gelandeten Teilchen, i entspricht dem Wert des Intervalls.
Code:

Intervall(:,2)=zeros(1,Anzahl_der_Intervalle)
for i=1:1:Anzahl_der_Teilchen(=10000)
for k=1:1:Anzahl_der_Intervalle
if y_Ende_modifiziert(i)==Intervall(k,1)
Intervall(k,2)=Intervall(k,2)+1;
end;
end;
 


Das ist nur ein Gedanke, ob jetzt alles Spaltenvektoren, was Spaltenvektoren sein sollen sind, etc. weiß ich nicht.

Gruß qualle
Private Nachricht senden Benutzer-Profile anzeigen
 
physiker

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2009, 07:52     Titel:
  Antworten mit Zitat      
hey qualle

also die idee mit der aufteilung des schirms in viele verschiedene intervalle gefällt mir sehr gut.

hab ich die schleife so richtig verstanden:

wenn der teilchenstrahl mit wert y_ende_modifiziert auf den schirm trifft (und zwar hier den wert der ordinate in der ersten spalte von intervall), dann wird in der zweiten spalten einfach eine eins addiert. das geht dann mehrmals durch und nachher habe ich dann die verschiedenen bereiche des schirms (1 spalte) mit jeweiligen treffern (2. spalte) ?

hab vielen dank für deine mühen!

gruß physiker
 
qualle
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 03.07.09
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 10.07.2009, 10:10     Titel:
  Antworten mit Zitat      
Hallo Physiker,

zur Schleife: Ja, das hast du richtig verstanden. Du hast am Ende eine Matrix der Intervalle Ionertvall(Anzahl der Intervalle,2), wobe iin der ersten Spalte der "Intervall-Wert" und in der zweiten SPalte die Anzahl der Teilchen steht, die in dieses Intervall eingefallen ist.

So noch was zur Abfrage, ob das Teilchen in dem Intervall liegt:
Du kannst deinenSchirm der Länge "Länge_Schirm" in "Anzahl der Intervalle" einteilen. Deine Intervall-Länge ist dann: "Länge_Schirm"/"Anzahl der Intervalle" so dann definierst du die erste Spalte der Intervalle so (Nullpunkt, ist am startpunkt der Teilchen gewählt und unter der Annahme, dass der Schirm nach oben und unter gleich lang ist von (x_Schirm,0) aus gesehen)
Code:

for i=1:1:"Anzahl_der_Intervalle"
Intervall(i,1)=("Länge_Schirm"-0.5)/"Anzahl der Intervalle" *(i-1)
end;
 

Die Abfrage ob Teilchen xi im Intervall Intervall(j,1) liegt läuft dann so:
Code:

if y_Ende(i)-Intervall(i)<Länge_Schirm"/"Anzahl der Intervalle
 

Dann wie in der anderen Schleife weiter. Dann musst du y_Ende weder modifizieren noch ab irgendeiner Nachkommastelle abschneiden.

Gruß qualle
Private Nachricht senden Benutzer-Profile anzeigen
 
physiker

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.08.2009, 08:46     Titel:
  Antworten mit Zitat      
hallo qualle,

ja so habe ich es gemacht. projekt wurde mit 1,7 benotet Smile
 
qualle
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 03.07.09
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 25.08.2009, 08:49     Titel:
  Antworten mit Zitat      
Das freut mich!
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 - 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.