Projektuppgift i Matematik 2, för E ht 2002.
Inlämnas senast fredagen den 13/12.
( Alternativ projektuppgift, litet speciell, bygger på Conways Game of Life. )
Uppgiften löses i fem steg, a) - e), där matematikprogrammet Maple är det viktigaste hjälpmedlet.
Minimeringsproblem.
Vi antar att 3 städer ligger i punkterna A, B resp. C som inte alla ligger på samma räta linje. Man vill förena de tre städerna med tre rätlinjiga vägar som alla möts i en punkt M.
Problemet är nu att välja M så att den sammanlagda längden av de tre vägarna minimeras.
Detta problem kallas också Steiners problem.a) Lägg punkterna A, B och C i punkterna (-a,0) , (a,0) resp. (b,c).
(a,b,c är dina personliga parametrar som definieras nedan).
Punkten M som söks får lämpligen koordinaterna (x,y).
Bilda funktionen f(x,y) som anger den totala väglängden som funktion av x och y. Bestäm m.hj.a. Maple den kritiska punkt som uppfyller fx = fy = 0.b) Du skall nu verifiera att den erhållna kritiska punkten representerar ett lokalt minimum.
Gör detta genom att låta Maple bestämma värdet av fxx, fxy och fyy i den kritiska punkten.
Punktens karaktär bestäms som bekant av den kvadratiska form som ingår i f:s Taylorutveckling omkring den kritiska punkten. Värdena av fxx, fxy och fyy ingår som koefficienter i den symmetriska matris som definierar denna kvadratiska form.
Definiera denna matris i Maple och bestäm matrisens egenvärden.
Verifiera att båda egenvärdena är positiva.
Detta är i så fall ett bevis för att punkten M är en lokal minimipunkt för funktionen f(x,y).c) För att kunna visa att den erhållna punkten är ett globalt minimum måste vi jämföra funktionsvärdet i den kritiska punkten M med funktionsvärdena i eventuella singulära punkter. Det visar sig att de tre punkterna A, B och C är singulära punkter för funktionen f eftersom f inte är deriverbar där. (Observera rotuttrycken som hamnar i nämnaren efter en derivering av f(x,y).) Låt alltså Maple bestämma funktionsvärdena i dessa punkter och verifiera att värdet i M är minst (vilket det kommer att vara med de parametervärden du har. Det finns dock trianglar där M sammanfaller med någon av hörnpunkterna). Därmed är det bevisat att punkten M också är en global minimipunkt för f. Randpunkter finns nämligen inte i detta problem och man ser lätt att f(x,y) går mot oo då avståndet från (x,y) till origo växer obegränsat.
d) Det visar sig att den sökta punkten M ligger så att vektorerna MA, MB och MC alltid bildar samma vinklar med varandra.
Undersök detta i fallet med din givna triangel genom att definiera dessa vektorer i Maple. Normera därefter vektorerna och bestäm skalärprodukterna av de tre vektorerna parvis (3 st produkter). Värdena av dessa produkter avslöjar nu vinklarna.e) Uppgiften avslutas med en enkel plottningsuppgift där triangeln ABC ritas upp i ett koordinatsystem tillsammans med vägarna AM, BM och CM.
Gör dessutom en tredimensionell plott av din funktion f(x,y). Försök upptäcka de tre singulära triangelpunkterna A,B och C där grafytan bildar svaga hörn.Parametervärden
Plocka ut ur ditt personnummer (inkl. de fyra sista siffrorna) de fyra största inbördes olika siffrorna.
Vi kallar dem m>n>p>r.
Vi förutsätter att du har fyra olika siffror i personnumret och att r > 1.
Skulle så inte vara fallet låter du r och/eller p osv. vara = 2.Parametrarna i deluppgift 1 definieras av:
- a = m + 4
- b = r + 2(-1)p
- c = n +6 (Ändrat 021209)
Maple-kommentarer i anslutning till uppgiften
Denna uppgift kräver i stort sett inga andra kommandon än de som listats i den tidigare Maple-handledningen:
Kort handledning.
De kommandon som omnämns men inte visas här nedan finns i denna lista.a) 'Kvadratroten ur x2 + 2' skrivs sqrt(x^2 + 2);
Första- och andra derivatorna beräknas med diff-kommandot.
Lösningen av systemet fx = 0 , fy = 0 görs med solve-kommandot .
Skriver man svar:=solve({fx,fy},{x,y}); får man lösningen i vektorn svar vars komponenter utgörs av ekvationer av typ x=..., y=... . Var uppmärksam på om ekvationen 'x=...' står som första eller andra komponent i vektorn. Detta kan nämligen växla i olika exekveringar. Om svarvektorn har y=... som första komponent får man värdet v för detta y genom:
v:=evalf(rhs(svar[1]));
Här står svar[1] för svar-vektorns första komponent som ju är en ekvation y=....
rhs(svar[1]) står för denna ekvations högerled (right hand side), dvs det sökta y-värdet.
evalf(rhs(svar[1])) ger slutligen det numeriska värdet v.
Svarvektorn kan också innehålla uttryck av typ 'RootOf' som man här dock inte behöver bry sig om.b) Maple kommer att ge en lösningspunkt (u,v) för systemet.
Insättning av (u,v) i de tre andra ordningens derivator sker exempelvis med eval-kommandot.
För att definiera matrisen och bestämma egenvärdena behöver man ladda ner linalg-paketet:
with(linalg); Den sökta matrisen definieras av :
Ma:=matrix(2,2,[A,B,B,C]);
(A,B och C antas redan ha fått numeriska värden genom eval(fxx,...) osv. )
Egenvärdena fås nu helt enkelt genom: Egenvarden:= eigenvalues(Ma);c) Inga problem, eval- och evalfkommandona räcker.
d) Definiera de 2-dimensionella vektorerna på följande sätt:
Av:=vector([-a,0]); (A:s koordinater osv.)...
Mv:=vector([u,v]); (M:s koordinater)
De normerade skillnadsvektorerna kan nu skrivas: MA:=normalize(Av-Mv); osv.
Skalärprodukterna fås genom
sk1:=dotprod(MA,MB); osv.e) Vid plottning måste först plottningspaketet laddas in:
with(plots):Plottning av linjestycken sker genom plotkommandon av typ:
plot(list1);
där list1 är en fördefinierad lista av typ: list1:=[ [u,v],[-a,0],[b,c],[u,v],[a,0],[b,c] ]
(Behöver du fler listor kan du skriva: plot({list1,list2}); )
Här har de 6 punkterna M,A,C,M,B,C listats så att alla vägar och alla triangelsidor utom basen AB kommer att ritas upp.
Kom ihåg att man kan klicka på plotten varvid en ram framträder. Genom att dra i ramen kan man modifiera koordinatsystemets skalor i x- och y-led.
Om man vill se det vinkelfenomen som studerats i d) bör man se till att dessa skalor är så lika som möjligt.Tredimensionella plottar framställs med kommandot
plot3d(f, x=a1..a2,y=b1..b2);
där f är den funktion av x och y som skall plottas.
Värdena på a1, a2, b1, b2 anger plottintervallen i x-led resp. y-led.
Låt dina intervall täcka över triangeln ABC med c:a 3 längdenheter åt bägge håll.
Använd här möjligheten att vända och vrida på plotten så att du ser de tre singulära punkterna.