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.