relativistisk stöt - UU Studentportalen

INSTRUKTION TILL LABORATIONEN
RELATIVISTISK STÖT
6 december 2006 Bengt Karlsson, Inst. f. Fysik och Astronomi
26 september 2008 Egil Andersson, Inst. f. Fysik och Materielvetenskap
(Ändringar)
24 october 2013 Marek Jacewicz, Inst. f. Fysik och Astronomi (Ändringar)
MÅLSÄTTNING:
Att mäta upp rörelsemängder och rörelseriktningar vid elastiska kollisioner vid hög
energi (protoner vid 20 GeV), samt jämföra med den speciella relativitetsteorins förutsägelser.
Att illustrera laddade partiklars rörelse i magnetiska fält, samt deras energiförlust vid
passage av (kondenserad) materia.
Att illustrera hur ett mjukvarupaket (MATLAB
R
)
kan användas för analys av mät-
data.
UPPGIFTER:
1. Åskådliggör i diagram hur en partikels (protons) rörelsemängd och kinetiska energi
beror på partikelhastigheten dels orelativistiskt, dels relativistiskt.
2. Härled ett samband mellan rörelsemängd och krökningsradie för en laddad, relativistisk partikels cirkelrörelse i ett homogent magnetfält.
3. Betrakta en kollision mellan en inkommande proton och en proton i vila. Härled
ett uttryck för vinkeln mellan de båda utgående protonernas hastigheter som funktion
av den rekylerande protonens rörelsemängd, dels orelativistiskt, dels relativistiskt.
Åskådliggör resultaten i ett diagram.
4. Analysera ett antal bubbelkammarbilder (från CERN) av elastiska proton-protonkollisioner.
Mät upp punkter längs spåren, och bestäm för varje reaktion dels vinkeln mellan de
båda utgående protonernas spår, dels rörelsemängden för en av protonerna. Jämför
med den speciella relativitetsteorins förutsägelse.
OBSERVERA att uppgifterna 0-3 utförs som förberedelse till laborationen.
För laborationen kommer programpaketet MATLAB att användas.
Mallar till MATLAB-kod för uppgift 1-3 samt ett färdgt program för
uppgift 4 kan laddas ned från Studentportalen
LITTERATURHÄNVISNINGAR:
Kursbok i mekanik.
Observing the world of particles, The bubble chamber,
http://nobelprize.org/educational_games/physics/observing/bubble-1.html
The Nobel Prize in Physics 1960, for the invention of the bubble chamber,
http://nobelprize.org/nobel_prizes/physics/laureates/1960/index.html
1
INLEDNING
Inom kärn- och partikelfysiken studeras ofta partiklar som har så höga hastigheter att
tydliga relativistiska eekter uppträder. Acceleratorer för höga energier, och detektorer för partiklar och partikelbanor, är viktiga tekniska hjälpmedel för dessa grenar
av fysiken. I denna laboration utnyttjas material från forskningsprojekt vid CERN.
Acceleratorn är i detta fall den sk protonsynkrotronen som gav protoner med energin 28 GeV. Detektor är en bubbelkammare med ytande väte. Vätet är överhettat
och börjar koka längs partikelbanorna. Ett antal kameror ger ögonblicksbilder av de
bildade ångbubblorna omedelbart efter det att en skur av högenergetiska protoner
passerat bubbelkammaren.
Ibland kolliderar en inkommande proton med en vätekärna (dvs en annan proton) i
bubbelkammarvätskan. Fram till reaktionspunkten ser man då spåret av den inkommande partikeln, men från reaktionspunkten utgår ett spår för varje laddad partikel
som reaktionen gett upphov till. Om inga nya partiklar bildas är kollisionen elastisk,
och enbart de två protonernas spår lämnar reaktionspunkten.
För laborationens bubbelkammarbilder har protoner med rörelsemängden 19.2 GeV/c
(v
= 0.9989 c) utnyttjats. Vid ett tillfälle fann man ca 25000 reaktioner där två laddade
partiklar lämnar reaktionspunkten. En närmare analys visade att ca hälften av dessa
0
utgörs av elastiska kollisioner. Övriga reaktioner var inelastiska, som i p+p → p+p+π
+
eller p + p → p + n + π (neutrala partiklar lämnar inga spår).
I bubbelkammaren nns ett starkt, homogent magnetfält (1.74 T). Detta medför att
partiklarnas banor kröker av, och bildar (delar av) spiraler kring fältlinjerna. En 3dimensionell rekonstruktion av spåren måste därför i allmänhet göras, med hjälp av
bilder från era kameror.
För spår som ligger i ett plan vinkelrätt mot magnetfältet blir förhållandena speciellt
enkla. Dessa spår ligger i 'bildens plan' för en kamera som ser kammaren i fältriktningen, som i gur 1, och de kan analyseras med hjälp av bilder från denna enda
kamera.
För denna laboration har man valt ut 8 elastiska reaktioner av detta slag.
Ur spårens krökning i det kända magnetfältet kan partiklarnas rörelsemängder bestämmas. Genom analys av bubbelkammarbilderna kan man således testa den speciella
relativitetsteorins förutsägelser vad gäller relativistiska partiklars rörelsemängder.
2
FÖRBEREDANDE UPPGIFTER
Uppgift 0 (Behöver ej redovisas)
En proton har rörelsemängden 1.00 GeV/c. Beräkna dess fart. 1
.
När Du löst denna uppgift kan Du också kontrollera om det är sant att en proton med
rörelsemängden 19.2 GeV/c har farten 0.9988 c och ca 20 GeV energi.
Uppgift l
Hur beror en partikels rörelsemängd p~ resp kinetiska energi T på dess hastighet ~v, dels
orelativistiskt, dels relativistiskt? Sätt massan till 0.93828 GeV /c2 (proton) och illustrera
resultatet i diagram över p(v) resp T (v), för 0 ≤ v ≤ 0.99 c. Vid vilken fart v leder
tillämpning av orelativistiska formler till ett fel i T på 1%?
Redovisas innan laborationen:
härledning och formel för p(v) och T (v)
Tips:
Uttryck alla hastigheter som bråkdelar av ljushastigheten c, energier i GeV
och rörelsemängder i GeV/c.
Redovisa programkod och alla diagramer. Den som så
önskar kan använda MATLAB-len uppgift_1.m som mall. Använd MATLAB's zoom
för noggrann avläsning i guren.
Uppgift 2
En laddad partikel i ett homogent magnetfält
~
F~ = q ~v × B
där
q
~
B
är partikelns laddning och
påverkas av den magnetiska kraften
~v
dess hastighet. Om partikeln rör
sig i ett plan vinkelrätt mot fältlinjerna blir dess bana cirkulär (ur rörelseekvationen
F~ = d~p/dt = d(γm~v )/dt
2
). I den teoretiska inledningen "Einsteins rörelseekvation"
hittar ni härledningen som visar att partikelns rörelsemängd
cirkelbanans radie
p
är proportionell mot
r
p = konst · r
Bekanta er med teori och härledningen i dokumentet "Einsteins rörelseekvation" och redovisa innan laborationen:
Vilken är cirkelns radie?
Beräkna konstantens värde för relativistiska protoner om B = 1.74 T och
om p mätes i [GeV/c] och r i [m].
Svar: 0.729 c.
1
2 se
läroboken, ekvation (14.54) samt problem 2.22.
3
I en bubbelkammare måste man även ta hänsyn till att en snabb, laddad partikel
som passerar genom ett medium förlorar energi till (framför allt) mediets elektroner.
Banan blir då inte längre cirkulär utan spiralformad, men man kan visa (se appendix
1) att rörelsemängden
krökningsradie
R
p
i varje punkt längs banan är proportionell mot bankurvans
i punkten,
p = konst · R
där
konst
är samma konstant som för cirkulär bana. För det aktuella experimentet
behöver man alltså bestämma partikelns rörelsemängd i reaktionspunkten, dvs mäta upp krökningsradien längs spåret och extrapolera tillbaka till denna punkt. Ett
praktiskt sätt att göra detta är att anpassa en spiralkurva till ett antal mätpunkter
längs spåret, och sedan bestämma krökningsradien i reaktionspunkten mha kurvans
ekvation.
Uppgift 3
En inkommande proton med rörelsemängden
p~
kolliderar elastiskt med en proton i vi-
la. Elastisk stöt innebär att inga nya partiklar bildas, och att energi och rörelsemängd
bevaras vid kollisionen. Låt
kollisionen, och kalla vinkeln
p~1
p~2 vara de två protonernas
mellan p
~1 och p~2 för ω (se g. 1).
och
rörelsemängder efter
p1
ω
p2
p
Figur 1: Elastisk kollision
p+p→p+p
Antag först att Newtons (orelativistiska) mekanik gäller. Visa genom att tillämpa
lagarna om rörelsemängdens och energins bevarande att vinkeln ω = 90o oberoende av
värdena på p, p1 och p2.
3.1
Beviset ska redovisas innan laborationen.
3.2
Använd sedan Einsteins relativistiska samband. Rörelsemängden bevaras
p~ = p~1 + p~2 ,
vilket leder till sambandet
p2 = p21 + p22 + 2p1 p2 cos ω
4
Den totala energin bevaras,
q
m2 c4
+
p 2 c2
2
+ mc
=
q
m2 c4
+
p21 c2
+
q
m2 c4 + p22 c2 ,
vilket innebär att t.ex. p2 kan uttryckas i p och p1. Vinkeln ω blir nu en funktion av p samt
endera av p1 och p2, och blir alltid mindre än 900.
Sätt först p = 2 GeV/c och beräkna ω som funktion av p1 i intervallet 0 ≤ p1 ≤ 2 GeV/c.
Redovisa resultatet i en graf.
Tips:
Använd m-len uppgift_3.m som mall för den egna programkoden. Om du
använder MATLAB för att göra diagrammet blir det enklare att lösa uppgift 4.
Det erhållna diagrammet visar att ω har ett minimum, och eftersom p1 och p2 ingår symmetriskt i ekvationerna ovan måste detta minimum svara mot att p1 = p2. Av diagrammet
framgår att detta p1 är > p/2 (vilket även lätt kan visas analytiskt) så att p1 + p2 > p.
Förklara som deluppgift hur detta resultat är förenligt med villkoret att rörelsemängden
bevaras vid reaktionen.
Sätt sedan p = 19.2 GeV/c (v = 0.9988 c) och beräkna ω som funktion av p1 i intervallet 0 ≤ p1 ≤ 2 GeV/c. I detta diagram skall så småningom resultatet av laborationen
redovisas.
GENOMFÖRANDE
Uppgift 4 : Mätningar på spår efter en elastisk proton-protonkollision.
De bilder som skall användas kommer från en bubbelkammare med höjden 50 cm,
bredden 50 cm och längden 200 cm. Kameran är placerad 250 cm ovanför kammarens
övre yta, se gur 2.
En bubbelkammarbild läses in och visas i ett MATLAB-fönster med kommandot
3
image(imread('xxxx.jpg'))
Den reaktionspunkt som skall studeras är på bilderna markerad med bokstaven A.
Från denna punkt nns två utgående spår, ett rakt efter den snabba protonen, och
ett krökt efter den långsammare protonen. Om den långsamma protonen förlorar så
mycket energi att den stannar i kammaren har spåret markerats med AF, och i annat
fall med A2.
Ni har 4 bilder av typen A2 (A2_1.jpg, A2_2.jpg, A2_3.jpg, A2_4.jpg) och 3 av
AF (AF_1.jpg, AF_2.jpg, AF_3.jpg) Som första fall, välj en bild med ett A2-spår.
Notera vilken bild som lästs in - bilderna kan identieras mha bokstäverna i övre
högra hörnet. Mätningar skall sammanlagt göras på minst 3 olika bilder.
3 Den
mapp som bilden ligger i måste nnas utmed MATLAB's sökvägar. En mapp kan inkluderas
med kommandot addpath, eller mha menyn File>Set Path>Add Folder i MATLAB-fönstret.
5
Figur 2: Schematisk bild av bubbelkammaren. Magnetfältet är i bilden riktat vertikalt.
Ref. märke
9
8
7
6
5
4
3
0.902
0.633
0.573
0.441
0.303
0.321
4
0.910
0.573
0.678
0.303
0.441
5
0.605
0.383
0.273
0.320
6
0.617
0.273
0.455
7
0.365
0.320
8
0.349
Tabell 1: Avstånd mellan övre referensmärken i meter.
4.1 Bestämning av skalfaktor.
För att kunna översätta avstånd på bilden till avstånd i kammaren nns referenspunkter ingraverade på kammarens övre sida, se gur 2. Avstånden mellan referenspunkterna är väl uppmätta, se tabell 1.
För att bestämma avstånd på bilden avläses referenspunkternas koordinater
(xref 1, yref 1) etc med kommandot
[xref1,yref1]=ginput(1)
Man börjar med att på bilden zooma in den önskade punkten så mycket som pixelstorleken i bilden tillåter. Därefter skickar man in kommandot ovan från MATLABfönstret. Bilden kommer då upp igen, och man yttar hårkorset till den önskade
punkten. Genom en knapptryckning på musen registreras koordinaterna i variablerna
xref1 och yref1 .
torn f0 (meter per
Proceduren upprepas för nästa punkt (xref 2, yref 2) och skalfakpixel) beräknas.
6
Till denna skalfaktor
f0
kommer en geometrisk faktor som kompenserar för att spåret
ligger på större avstånd från kameran än vad referenspunkterna gör. Om man antar
att spåren ligger på halva kammarens höjd fås
spårets
avstånd
referensmärkenas
till
avstånd
kameran
till
kameran
=
275
= 1.10
250
och den totala skalfaktorn blir
f = 1.10 f0
Uppskatta felet i f .
4.2 Uppmätning av krökt spår.
Ett antal (20 eller er) någorlunda ekvidistanta och efter varandra följande punkter
skall nu mätas upp längs det krökta spåret, med början i reaktionspunkten. För att
kunna zooma ut, byta punkt och zooma in igen mellan varje avläsning kan man
använda loopen
for n=1:20;
pause;
[xpix(n),ypix(n)]=ginput(1);
disp(n);
end
Under pausen byter man punkt, och när man är klar att mäta avbryter man pausen
genom att trycka på en tangent, vilken som helst.
De avlästa koordinaterna konverteras till koordinater i kammaren enl uppgift 4.1, och
samlas i två radmatriser,
x
resp
y.
4.3 Uppmätning av rakt spår.
Det återstår nu att mäta upp den snabba protonens raka spår. Eftersom reaktionspunktens koordinater redan mätts upp (första koordinaten i den krökta spårens matris) är det tillräckligt att mäta på en ytterligare punkt, inte alltför nära reaktionspunkten, men heller inte så långt bort att spåret till punkten inte är rakt (t.ex. genom
(xpixs, ypixs),
(xs, ys), och spara på samma sätt som tidigare.
att protonen kolliderat en gång till). Kalla denna punkts koordinater
konvertera till koordinater i kammaren
Gör slutligen en uppskattning av hur väl koordinaterna kunnat avläsas. Kalla den
delta
och presentera konverterad till avstånd i kammaren.
Härmed är uppmätningen av den aktuella reaktionen klar, och alla mätresultaten är
sparade. Mätpunkterna kan nu börja analyseras.
4.4. Bestämning av rörelsemängd och öppningsvinkel.
Analysen görs med hjälp av funktionen
anpassning
i len anpassning.m som nns på
kurshemsidan. Genom kommandot
[p,omega,xc,yc,r0,mu,fval]=anpassning(...)
7
används de uppmätta punkterna till anpassa en spiral (denierad m.h.a. parametrar:
xc,yc - koordinater för origo ,r0 - spiralens medelradie och mu - excentricitet, avvikelse
p
4
från cirkelbana) och sedan för att bestämma rörelsemängden ( ) och öppningsvinkeln
omega
(
) i reaktionspunkten. Sista parameter, fval, är summan av avstånden i kvadrat
från de uppmätta punkterna till spiralbanan.
Granska resultaten. Hur jämför sig mätpunkternas medelavvikelse från spiralen
√
(
f val/N )
med den uppskattade osäkerheten i avläsningarna (delta)? Slutsats?
Tips: Använd mlen uppgift_4.m som mall för egen programkod. Spara dina resultat
i workspace i MATLAB som '*.mat' l med t.ex. kommandot:
save('res_bild_A2_1');
Spara också bilden från anpassningen (använd menyn 'le>save').
4.5. Fler reaktioner
Sammanlagt skall minst tre reaktioner mätas upp som i momenten 4.1-4.4. I något fall
kan, om man vill, ett spår av typen AF väljas. Det är känt att inbromsningen i slutet
av spåret har annan karaktär än för en snabb proton, och denna del av spåret bör
därför inte användas i analysen enl ovan (i praktiken analyseras sådana spår genom
att deras totala längd mäts upp, och rörelsemängden i reaktionspunkten läses av ur
en tabell baserad på en halvempirisk formel av Bethe och Bloch).
4.6. Presentation av resultaten
Nu återstår endast att sammanställa resultaten i ett diagram. Det teoretiska sambandet mellan rörelsemängd och öppningsvinkel ritas upp med hjälp av m-len från
uppgift 3. De lagrade analysresultaten tas fram reaktion för reaktion mha kommandot
load
, t.ex. som i
load('res_bild_A2_1');
och de erhållna värdena för p och omega läggs till i diagrammet.
hold on;
plot(p,omega,'*');
När samtliga resultat inkluderats i diagrammet sparas detta (använd menyn 'le>save'),
samt skrivs ut för redovisningen.
4.7. Monte Carlo-uppskattning av fel. FRIVILLIG - behöver ej redovisas
Följande uppgift kräver lite mer MATLAB - vana. Fråga din labhandledare om du är
osäker!
4 Mer
informationen om anpassning av spiralbana i MATLAB-koden och spiralens parametrar
hittar ni i APPENDIX 3
8
I experimentet och analysen nns ett antal ofullkomligheter som medför att värdena
för rörelsemängden och öppningsvinkeln är osäkra. En källa till osäkerhet skall utforskas i större detalj, nämligen osäkerheten
delta
i avläsning av koordinater längs
spåren i bubbelkammarbilden (från avsnitt 4.3). Skapa en ny 'avläsning' genom att
till varje värde för
x, y , xs
och
ys
lägga ett slumptal av storleken
göras antingen med MATLAB-funktionen
rand
delta.
Detta kan
(likfomig fördelning) eller med
randn
(normalfördelning), som i
xx=x+delta*randn(1,length(x));
(på motsvarande sätt för
funktionen
anpassning
y , xs och ys; samla beräkningarna i en m-l). Beräkna, mha
p och omega. Upprepa denna procedur säg 100-1000 gånger
, nya
(slå av visningen av diagram genom att sätta variabeln
p och omega i två radmatriser pvec
omega-värden kan nu inspekteras med hjälp av
erhållna värdena för
av
p
och
showplot=0
som i
och
!) och spara de
omegavec.
Fördelning
MATLAB-funktionen
hist
,
hist(pvec,25)
Denna funktion ritar upp ett histogram över fördelningen, med 25 staplar. Som mått
på osäkerheten i
p
och
omega
väljs standardavvikelserna för fördelningsfunktionerna
sigp
= std(pvec);
sigomega = std(omegavec);
Felgränser ritas in 'för hand' tillsammans med mätpunkten, som i:
plot(p,omega,'*',[p-sigp p+sigp],[omega omega],[p p],[omega-sigomega omega+sigomega])
Spara de erhållna värdena i samma l som tidigare.
p och omega genom att visa de
0 0
erhållna värdena i ett p − ω -plan (mha scatter(pvec, omegavec, r. )). Om fördelninMan kan få en mer detaljerad bild av osäkerheten i
gen är utsträckt resp sammantryckt i andra riktningar än koordinataxlarnas är felen
korrelerade, och standardavvikelserna borde kompletteras med ett mått på denna
korrelation (genomförs inte här).
REDOVISNING
Laborationen redovisas som en kort rapport. Skriv en kort introduktion, redovisa
svaren på uppgifterna och vilka slutsatser du kan dra från dina diagram. Glöm inte
att tala om vad du svarar på, förklara dina beteckningar osv. Redovisa hur du har
löst upppgift 1 och 3, dvs relevant kod eller motsvarande med förklaringar.
9
APPENDIX 1:
p = konst · R
Sambandet
För en bankurva på formen
~r = r(θ)r̂
~v =
fås
(
d
r̂
dθ
= θ̂,
d
θ̂
dθ
= −r̂ )
d~r
d~r
= θ̇ = θ̇(r0 r̂ + rθ̂ )
dt
dθ
och därmed
v 2 = θ̇2 (r2 + (r0 )2 )
samt, om bankurvan ligger i xy-planet,
~v × ẑ = θ̇(−r0 θ̂ + rr̂ ).
Vidare fås
d~p
d
= θ̇ (γm~v )
dt
dθ
= θ̇(
=
Men
r̂
och
θ̂
d
(γmθ̇)(r0 r̂ + rθ̂) + γmθ̇(r00 r̂ + 2r0 θ̂ − rr̂ ))
dθ
d
(γmθ̇)~v + γmθ̇2 ((r00 − r)r̂ + 2r0 θ̂)
dθ
kan uttryckas i
~v
och
~v × ẑ
r̂ =
med hjälp av sambanden ovan,
r0~v + r~v × ẑ
θ̇(r2 + (r0 )2 )
r~v − r0~v × ẑ
θ̂ =
θ̇(r2 + (r0 )2 )
så att
d~p
r(r00 − r) − 2(r0 )2
~v × ẑ + C~v
= γmθ̇2
dt
θ̇(r2 + (r0 )2 )
= γmv
rr00 − r2 − 2(r0 )2
~v × ẑ + C~v
(r2 + (r0 )2 )3/2
v och θ̇ har utnyttjats. Den första termen identieras
q~v ×(B ẑ) och leder till det sökta sambandet mellan p = γmv, det
konstanta magnetfältet B och krökningsradien R. Den andra termen är den bromsande
där även sambandet ovan mellan
som Lorentz-kraften
kraft som leder till att banan blir spiralformad istället för cirkulär; den kommer inte
till användning här.
APPENDIX 2:
Matriser och matrisoperationer i MATLAB
Viss förtrogenhet med grunderna för programmering i MATLAB förutsättes. För den
som vill repetera nns ett otal 'tutorials' tillgängliga på Internet (inkludera tutorial
bland sökorden).
10
Det antas sålunda känt hur matriser och speciellt rad- och kolumnmatriser kan skapas
0
och hanteras. Om x = [a b c] är en radmatris med tre element så är x den transponerade (och komplexkonjugerade) matrisen, en kolumnmatris. Operationen
∗
är vanlig
matrismultiplikation, dvs
x ∗ x0 = aa∗ + bb∗ + cc∗
a∗ a a∗ b a∗ c
 ∗

0
x ∗ x =  b a b∗ b b ∗ c 
c∗ a c∗ b c∗ c


Därutöver nns den elementvisa multiplikationen
.∗ denierad för matriser av samma
storlek. Exempelvis är
x. ∗ x = [a2 b2 c2 ]
åter en radmatris med tre element. På motsvarande sätt denieras
./
och
.^
så att
t.ex.
x./x = [1 1 1]
Vidare är många funktioner denierade elementvis, så att t.ex.
sin(x) = [sin(a) sin(b) sin(c)]
I samband med denna laboration kommer ett antal av MATLAB's många inbyggda
funktioner att användas. För att informera/påminna sig hur dessa funktioner används
rekommenderas MATLAB help under Help-menyn på MATLAB's kommandofönster.
APPENDIX 3:
Anpassning av spiralbanan
Vid laborationstillfället kommer ett antal bubbelkammarbilder av elastiska protonprotonkollisioner att mätas upp. Genom mätningen bestäms koordinaterna
(xi , yi ) för
ett ertal (efter varandra följande) punkter längs det 'krökta' spåret av den långsammare (utgående) protonen, med början i reaktionspunkten. Dessutom mäts koordinaterna
(xs, ys) för en enstaka punkt längs det 'raka' spåret av den snabbare (utgående)
protonen.
En svårighet är då att om man inte i detalj känner till hur inbromsningen sker så
kan banans spiralform inte bestämmas. För kortare delar av spiralen kan man dock
i allmänhet nna ett origo sådant att bankurvan har den approximativa formen (i
polära koordinater från detta origo)
r=
där
θ0
r0
1 + µ(θ − θ0 )
är vinkeln till någon referenspunkt längs spiraldelen. Allmänt gäller för en
bankurva given i polära koordinater
R=
r = r(θ)
att
(r2 + (r0 )2 )3/2
|r2 + 2rr0 − rr00 |
11
(se L Råde och B Westergren, BETA, Mathematics Handbook, kap 7.3). Insättning
ger
r0
R=
1 + µ(θ − θ0 )
Speciellt gäller i referenspunkten att
"
µ2
1+
(1 + µ(θ − θ0 ))2
R = r0 (1 + µ2 )3/2 .
#3/2
Vid laborationen väljs reak-
tionspunkten som referenspunkt, anpassningen till mätpunkterna ger parametrarna
r0
och
µ,
ur dessa bestäms först
R
och sedan rörelsemängen
p
i reaktionspunkten.
Uppgiften är nu att utforma en analysmetod för bestämning såväl av vinkeln mellan
protonernas riktningar som av den långsamma protonens rörelsemängd, i båda fallen
i reaktionspunkten.
Anpassningen kan göras på följande sätt:
A 3.1
För att fullständigt bestämma spiralkurvan krävs fyra parametrar, koordinaterna för
origo
θi
(xc , yc ) samt r0
µ. Antag först att (xc , yc ) och µ är givna, och inför en vinkel
(xi , yi ),
och
till varje mätpunkt
θi = arctan(
yi − yc
)
xi − xc
θ0 = θ1 , dvs som den polära vinkeln för reaktionspunkten. Om för varje mätpunkt
koordinaterna relativt origo skalas upp med en faktor (1 + µ(θi − θ1 )),
Välj
Xi = (xi − xc )(1 + µ(θi − θ1 ))
Yi = (yi − yc )(1 + µ(θi − θ1 ))
förväntas de uppskalade koordinaterna hamna på en cirkel med medelpunkt i origo,
dvs parametern
r0
kan väljas som medelvärdet
N q
1 X
Xi2 + Yi2
r0 =
N i=1
A 3.2
De tre återstående parametrarna
(xc , yc )
och
µ
skall nu väljas så att spiralen så väl
som möjligt anpassas till mätpunkterna. Detta kan göras genom att minimera summan
av avstånden i kvadrat från de uppmätta punkterna till spiralbanan. Om avstånden
mäts längs en linje genom origo och respektive mätpunkt (se gur 3) skall man alltså
minimera funktionen
f=
N
X
((xi − xc −
i=1
när
xc
,
yc
och
µ
r0
r0
cos θi )2 + (yi − yc −
sin θi )2 )
1 + µ(θi − θ1 )
1 + µ(θi − θ1 )
varieras. Observera att
kompliceras av att även
r0
f 's
beroende av variationsparametrarna
beror av dessa.
Problemet att nna de parametervärden som minimerar
hjälp av MATLAB-funktionen
fminsearch,
12
f
kan lösas numeriskt med
se appendix A 4.2.
A 3.3
Det återstår nu att beräkna rörelsemängden och öppningsvinkeln i reaktionspunkten.
Som reaktionspunkt väljs den punkt
vinkel är
θ0 = θ1
(xr, yr)
på den anpassade spiralen vars polära
(referenspunkten),
xr = xc + r0 cos θ0
yr = yc + r0 sin θ0
Rörelsemängden fås ur sambandet
p = konst · R
från uppgift 2.
Figur 3: Anpassning av en spiral
För att bestämma vinkeln mellan de båda utgående protonernas riktningar bildas
först vektorn
~e1 = (xs − xr, ys − yr)
som ligger i den snabba protonens riktning. En
vektor i den långsamma protonens riktning fås ur bankurvans ekvation, ~
e2 = ( dx
, dy ),
dθ dθ
för det värde θ = θ0 som svarar mot reaktionspunkten,
dx
dθ
d
r0
(xc +
cos θ)
dθ
1 + µ(θ − θ0 )
r0
µr0
= −
sin θ −
cos θ
1 + µ(θ − θ0 )
(1 + µ(θ − θ0 ))2
→ −r0 sin θ0 − µr0 cos θ0
=
På samma sätt fås
Vinkeln
ω
mellan
~e1
dy
→ r0 cos θ0 − µr0 sin θ0 .
dθ
och
~e2
fås slutligen som
ω = arccos(
~e1 · ~e2
)
|~e1 | · |~e2 |
Den sökta vinkeln är nu den minsta av vinklarna
13
ω
och
π−ω
(varför?).
APPENDIX 4:
Koden i
anpassning.m
Det antas att mätvärdena för punkterna längs det 'krökta' spåret nns samlade i
radmatriserna
x och y samt för det raka spåret i de två variablerna xs och ys. Utgående
p och öppningsvinkeln ω i reaktionspunkten
från dessa värden skall rörelsemängden
beräknas, såsom beskrivs i labhandledningen. En mall för denna beräkning nns i
m-len anpassning.m. Filen innehåller ett huvudprogram, funktionen
subrutin
en
tslspiral samt en subrutin till subrutinen, spiralobj.
subrutin circfit som i normalfallet inte kommer att behövas.
A 4.1
Funktionen
anpassning, en
Dessutom bifogas
anpassning
Huvudprogrammet börjar med funktionsdeklarationen
function [p,omega,xc,yc,r0,mu,fval]=anpassning(x,y,xs,ys,showplot)
Om variabeln
ges värdet 1 kommer resultatet av anpassningen att visas i
showplot
ett diagram, annars ej.
Börja med att fylla i Ditt namn på anvisad plats i mallen (namnet kommer att visas
i diagrammet).
På raden
N = length(x);
används MATLAB-funktionen
length
till att räkna antalet element i
x,
dvs antalet
mätpunkter längs det 'krökta' spåret.
Själva anpassningen av en spiral samlas i en funktion
tslspiral, se nedan, och utförs
med anropet
[xc, yc, mu, r0, fval, exitflag] = tlsspiral(x, y);
Utöver de värden på
värdet på funktionen
xc , yc , µ och r0 som ger bäst anpassning fås som utdata även
f , samt en variabel exitf lag som bör få värdet 1 (konvergerad
anpassning).
Med hjälp av de erhållna parametervärdena beräknas rörelsemängden i reaktionspunkten (komplettera!)
p =
Vidare behöver reaktionspunktens koordinater beräknas (komplettera)
xr =
yr =
liksom vektorerna
~e1
och
~e2 ,
för att möjliggöra en bestämning av vinkeln
ω
omega = 180/pi ∗ (komplettera)
Slutligen följer några färdigskrivna rader för att rita upp dels de uppmätta punkterna,
dels den anpassade spiralen, med en ring i reaktionspunkten.
14
A 4.2
Subrutinerna
tlsspiral, spiralobj
och
circfit
f lösfminsearch.
xc , yc och µ ,
Problemet att nna de parametervärden som minimerar avvikelsefunktionen
es med hjälp av MATLAB's standardfunktion för minimeringsproblem,
Utgående från begynnelsevärden varieras parametrarna, i vårt fall
till dess att ett minimum för avvikelsefunktionen har hittats. För detaljer angående
fminsearch
och dess användning hänvisas till MATLAB's dokumentation (Help-
menyn i MATLAB's huvudfönster).
Själva anpassningen av spiralen sker i funktionen
tlsspiral
vars enda uppgift är
att anropa
fminsearch. Funktionen fminsearch behöver givetvis i sin tur anropa
f som skall minimeras, och som första steg skapas därför en subrutin,
spiralobj, som evaluerar f för givna mät- och parametervärden. Med parametervärdena samlade i en radmatris z = [xc yc mu] fås till exempel
den funktion
function [f, r0] = spiralobj(z, x, y)
theta
scale
X
Y
N
r0
xspiral
yspiral
f
=
=
=
=
=
=
=
=
=
unwrap(atan2(y − z(2), x − z(1)));
1 + z(3) ∗ (theta − theta(1));
(x − z(1)). ∗ scale;
(y − z(2)). ∗ scale;
length(x);
sum(sqrt(X.^2 + Y.^2))/N;
z(1) + r0 ∗ cos(theta)./scale;
z(2) + r0 ∗ sin(theta)./scale;
sum((x − xspiral).^2 + (y − yspiral).^2);
x, y, X, Y, xspiral, yspiral, theta, scale alla är radmatriser med N
atan2(y, x) ger vinklar i intervallet (−π, π) (till skillnad från
atan(y./x) som ger vinklar i intervallet (−π/2, π/2)). Funktionen unwrap eliminerar
eventualla språng i variabeln theta om vinkeln skulle passera ±π . Som utdata fås
inte bara värdet på f utan också tillhörande värde på parametern r0.
Observera att
element. Funktionen
Funktionen
tlsspiral och anropet av fminsearch kan nu utformas på följande sätt:
function
options
z0
[z, fval, exitflag, output]
xc
yc
mu
[f, r0]
[xc, yc, mu, r0, fval, exitflag] ...
= tlsspiral(x, y)
=
=
=
=
=
=
=
optimset(0 TolFun0 , 1e − 14);
[(x(1) + x(end))/2, (y(1) + y(end))/2, 0];
fminsearch{@spiralobj, z0, options, x0 , y0 );
z(1);
z(2);
z(3);
spiralobj(z, x, y);
15
Begynnelsevärdena för parametrarna har samlats i variabeln
sista elementet i radmatrisen
z0 (x(end)
står för det
x) . De föreslagna värdena är som synes väldigt enkla, och
kan eventuellt behöva förbättras. Om så skulle bli fallet föreslås att en cirkel anpassas
till de uppmätta punkterna, och att koordinaterna för cirkelns medelpunkt väljs som
startvärden för
circfit,
z(1)
och
z(2).
En rutin för anpassning av en cirkel till mätpunkterna,
är inkluderad i den tillhandahållna len anpassning.m.
Som utdata från
minimerar
spiralobj
f.
fminsearch
fås de värden på parametrarna
För att få tillhörande värde på parametern
r0
xc, yc
och
mu
som
anropas på sista raden
ytterligare en gång. De erhållna parametervärdena skickas vidare till hu-
vudprogrammet genom att inkluderas bland utdatavariablerna för
16
tlsspiral.