|
physiker |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.07.2009, 20:30
Titel: Doppelspaltexperiment
|
|
|
|
|
hallo
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 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
Beschreibung: |
|
Download |
Dateiname: |
Präsentation1.jpg |
Dateigröße: |
22.11 KB |
Heruntergeladen: |
662 mal |
Beschreibung: |
schematischer aufbau des experiments |
|
Download |
Dateiname: |
Präsentation1.jpg |
Dateigröße: |
22.11 KB |
Heruntergeladen: |
652 mal |
|
|
|
|
|
qualle |
Forum-Anfänger
|
|
Beiträge: 40
|
|
|
|
Anmeldedatum: 03.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 08.07.2009, 21:26
Titel:
|
|
|
|
|
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.
Das ist nur ein Gedanke, ob jetzt alles Spaltenvektoren, was Spaltenvektoren sein sollen sind, etc. weiß ich nicht.
Gruß qualle
|
|
|
physiker |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.07.2009, 07:52
Titel:
|
|
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
|
|
Beiträge: 40
|
|
|
|
Anmeldedatum: 03.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 10.07.2009, 10:10
Titel:
|
|
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)
Die Abfrage ob Teilchen xi im Intervall Intervall(j,1) liegt läuft dann so:
Dann wie in der anderen Schleife weiter. Dann musst du y_Ende weder modifizieren noch ab irgendeiner Nachkommastelle abschneiden.
Gruß qualle
|
|
|
physiker |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.08.2009, 08:46
Titel:
|
|
hallo qualle,
ja so habe ich es gemacht. projekt wurde mit 1,7 benotet
|
|
|
qualle |
Forum-Anfänger
|
|
Beiträge: 40
|
|
|
|
Anmeldedatum: 03.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 25.08.2009, 08:49
Titel:
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|