Labbrapport - Linjär algebra och geometri Erik Gedeborg, ME, Uppgift.6 Problem: Bestäm ett tredjegradspolnom p ( ) + a + a + a a som har samma derivata som funktionen f ( ) i punkterna och. Givna funktioner: p() a + a + a + a f() Funktionerna deriveras enligt följande: p'() a + a + a f'() 6 Funktionsvärdena och värdena på derivatorna ska vara desamma för och -: p() f() p(-) f(-) p'() f'(-) p'(-) f'(-) Ovanstående ekvationer utvecklades och följande ekvationssstem erhölls: a + a + a + a a a + a a - a + a + a a - a + a Detta ger en koefficientmatris A enligt: Aa b a a a a
För att få fram vektorn a, d.v.s. a-värdena, utförs sedan matrisdivisionen A\b (alternativt multiplicera b med inversen av A, d.v.s. inv(a)*b). Vi får då: a a - a a Det sökta tredjegradspolnomet p() a + a + a + a - + Därefter tas ett antal -värden fram mellan - och med steglängden.. Detta ritas sedan upp i två grafer där den första anger f() och p() och den andra differensen mellan dem. Se figurer nedan.
Uppgift.68 Problem: Ett företag i energibranschen förbrukar vid produktion av kol, bensin och elektrisk energi dessa energiformer enligt följande tabell: För att producera en enhet kol behövs bensin behövs elenergi behövs enheter kol / enheter bensin / / / enheter elenergi / / / Bestäm hur mcket kol, bensin respektive elenergi företaget behöver för att till en kund kunna leverera enheter kol, 6 enheter bensin och 6 enheter elenergi. Ursprungligen finns det del (dvs. %) att tillgå av kol, bensin och elenergi. Vi låter sedan en vektor (,, ) t representera mängden kol, bensin respektive elenergi. Då kan vi använda en enhetsmatris I och skriva detta som I * Vid produktion av respektive energiform förbrukas en andel av den befintliga mängden. För att producera en enhet bensin behövs eempelvis / bensin och / elenergi (och delar kol). Vi överför därmed den angivna tabellens värden till en andelsmatris A. Raderna i denna matris motsvarar alltså mängden kol, bensin respektive elenergi som krävs. Förbrukningen innebär att den urpsrungliga mängden, dvs. I*, måste subtraheras med andelen som förbrukas vid produktionen, dvs. andelsmatrisen A. Den mängd som företaget vill kunna producera av de olika delarna låter vi anges av en vektor b (, 6, 6) t. Vi får därmed ett ekvationssstem:
4 ( ) 6 6 6 6 * * * A I b A I I A b 6 6 I - A b Det återstår nu alltså att lösa ekvationssstemet och få ut vektorn motsvarande mängden kol, bensin respektive elenergi som behövs för produktionen. Vi utför beräkningarna i Matlab genom att skapa en n matris C I - A (enhetsmatrisen I fås med hjälp av funktionen ee). Slutligen beräknas matrisdivisionen C\b i Matlab och tilldelas en n vektor. Antalet enheter av de olika delarna som krävs för att producera enheter kol, 6 enheter bensin och 6 enheter elenergi: Kol: Bensin: Elenergi:
Uppgift.6 Problem: Ur ett recept till mormors smörringar framgår att smör, socker, vetemjöl och skummjölkspulver används, men tvärr utan dess proportioner. Det går dock att utläsa att g deg innehåller 4, g fett, g kolhdrater,, g protein och kcal. Vidare är följande givet för g av de aktuella ingredienserna: fett kolhdrat protein kcal smör 8 8 socker 4 vetemjöl skummjölkspulver 4 Bestäm det recept som räcker till g deg till mormors smörringar. Om vi låter de olika ingredienserna representeras av en vektor (,,, ) t så kan vi skriva mängden fett, kolhdrater, proteiner och energimängd kcal som ett ekvationssstem: fett 4, g kolhdrat g protein, g energi kcal d.v.s. 8 + + + 4 4, + + + 4 + + + 4, 8 + 4 + + 44 Detta kan därmed skrivas som A b där matrisen A innehåller koefficienterna till, dvs. {,,, 4 } och b (4,,,,, ) t. Då fås nedanstående ekvationssstem: 8 8 4 4,, 4 4 A b
Vektorn ( 4) t, andelarna (per gram deg) av de olika ingredienserna, fås ut genom matrisdivisionen A\b med hjälp av Matlab (samma resultat kan givetvis nås genom att själv utföra gausselimination). Eftersom vektorn anger de olika ingredienserna per gram deg, och vi önskar få ut den mängd av ingredienserna som räcker till g deg, multipliceras slutligen med. Resultatet ses nedan: Mormors smörringar ( gram deg 6 kakor) g smör g socker g vetemjöl g skummjölkspulver 6
Uppgift 4: Plant fackverk För ett plant fackverk enligt nedanstående figur, gäller att stångkrafterna kan beskrivas av ett linjärt ekvationssstem Af b. I fackverket finns laster i noderna,, och. I noderna, och är lasten statisk medan den i nod är varierbar. I övriga noder är lasten noll. Kraftfördelningen i fackverket härleds nedan. I varje fri nod råder kraftjämvikt. Denna kan sedan delas upp i två ekvationer, en för horisontellt led (-led) och en för vertikalt led (-led). Med en numrering av stänger och noder enligt ovanstående figur fås för eempelvis nod en kraftjämvikt enligt
Ekvationerna för de krafter som påverkar nod : -led: f cos( ) + f cos(4 ) + f cos( ) + f cos( ) + f 6 cos(8 ) + P -led: f sin( ) + f sin(4 ) + f sin( ) + f sin( ) + f 6 sin(8 ) P Den ttre lasten på noden i -led och -led betecknas av P respektive P. Vid sammanställning över samtliga ekvationer framgår att detta är ekvationerna och 8. Således, eftersom högerledet b i ekvationssstemet Af b endast beror av den ttre lasten, fås att b P och b8 P. På liknande sätt fås ekvationerna för de övriga noderna. Om sin( 4 ) cos(4 ), och de två ekvationer som hör till vardera av noderna - samt den enda ekvationen för nod tas fram, fås följande ekvationssstem: Ekv. Nod F f + f 4 + f + P F f f f + P F f + f 6 + P F f P 4 F f 4 + f8 + P4 4 F f + P4 6 4 F f f 6 + f + f + P F f + f + f P 8 F f8 f + f + f + P6 6 F f f f + P6 6 F f + f4 + P F f P F f + f6 + P8 8 F f f6 + P8 4 8 F f f4 + f + P F f + f P 6 F f6 f + P 8
I det givna lastfallet är lasterna endast riktade rakt nedåt (-led), vilket ger att P P P, P varierbar, och övriga P noll. Ekvationerna ovan är ett linjärt ekvationssstem AF b för de okända krafterna F (, f,, f f ) t. Följande uppgifter sftar till att bestämma motsvarande last P så att den maimala stångkraften blir. Uppgift 4a Problem: Använd tabellering och plottning för att bestämma värdet på P, och studera om den maimala stångkraften varierar linjärt med lasten P. Tabellering och plottning Följande algoritm beräknar maimala stångkraften för ökande last P (i nod ): p []; kraft []; ima []; for P :: hl b; hl(8) P; A\hl; p [p P]; [mak, imak] ma (abs ()); kraft [kraft mak]; ima [ima imak]; end I koden ses en for-slinga ökar värdet på P från till (med intervallet) och att det åttonde elementet (som svarar mot nod ) i högerledsvektorn hl, tilldelats värdet på P. Maimal stångkraft har sedan tagits ut genom funktionen ma() och lagts i variabeln mak. Linjär kurvanpassning (Minstakvadratmetoden) p_n [ ]; hl_n b; tmp ma (abs (A\hl_n)); hl_n(8) p_n();
tmp ma (abs (A\hl_n)); kraft_n [tmp tmp]; k polfit (p_n, kraft_n, ); pval ::; kraftval k()*pval + k(); Här använder vi minstakvadratmetoden genom att använda funktionen polfit. Vi får därmed ut de två koefficienterna till den linjära kurvan. I kraftval får vi följaktligen ut ett antal na värden som vi plottar mot värdena i pval. Vid plottning av maimala stångkraften mot lasten ses att grafen blir ekvivalent för de båda metoderna: Ur figuren kan läsas att vid maimala stångkraften är lasten P. Ett mer eakt värde på P är enkelt att härleda fram ur kraftval, eller helt enkelt interpolera fram värdet (med hjälp av funktionen interp).
Uppgift 4b Problem: Visa att högerledsvektorn b kan skrivas som b b + (P - )*e 8 där b är den högerledsvektor som erhålls för P, och e 8 är den åttonde enhetsvektorn av dimension. Den nedåtriktade lasten P förekommer endast i nod nummer ; övriga noder har vardera lasten (riktade nedåt). De kraftekvationer som påverkas av lasten P är därför endast de två som hör till nod nummer. Dessa är som följer: Summa krafter i -led : f f 6 + f + f Summa krafter i -led : f d.v.s. + f + f P f f + f P + där sin( 4 ) cos(4 ). Eftersom lasterna i uppgiften alla är enbart riktade nedåt, är det endast kraftekvationen i - led som beror av P. I det ekvationssstem A* b som beskriver kraftsituationen med alla laster lika med (nedåtriktade), finns ekvationen i -led för nod nummer i rad 8. Önskar man beskriva den na kraftsituationen, i vilken lasten för nod nummer "ändrats" till P (nedåtriktad last), uttrckt med det "gamla" sstemets beteckningar, måste den åttonde ekvationen (rad 8) ändras, medan övriga ekvationer (övriga rader) lämnas oförändrade. Eftersom enhetsvektorn e 8 har nollor i alla komponenter utom just i den åttonde, kan man således skriva det "na" högerledet (det enda som ändras) enligt b b + (P - )*e 8 där b är högerledsvektorn hörande till det "gamla" sstemet (alla laster lika med ). Om händelsevis P, blir b b (samma b som i det "gamla" sstemet). Om t.e. P, blir b b + 4*e 8, men eftersom e 8 har alla komponenter noll utom den åttonde, påverkas endast den åttonde ekvationen i sstemet A* b, såsom önskas. Formeln för b beskriver alltså det "na" högerledet fullständigt. V.S.V.
Uppgift 4c Problem: Skriv lösningen till det linjära ekvationssstemet A* b som en summa av två stcken vektorer och z, där dessa vektorer är lösningar till två olika linjära ekvationssstem med koefficientmatrisen A. Betrakta ekvationssstemet A* b. Skriv b b + (P - )*e 8 och låt + z samt b b + b z. Välj t.e. b b b z (P - )*e 8 Lösningen till A* b fås då som summan av lösningarna och z till sstemen A* b A*z b z t A* A*( + z) A* + A*z b + b z b + (P - )*e 8 b. Uppgift 4d Problem: Beskriv hur beräkningarna lämpligen organiseras, utför dem och bestäm på så sätt ett noggrant P sådant att maimala stångkraften blir. For-slingan i uppgift 4a lagrade, förutom de maimala stångkrafterna vid variation av P, även de inde för vilka maima rådde. Varje inde är också numret på en stång ( t.o.m. ). Noterbart är att den maimala stångkraften tdligen alltid inträffar på stång nummer 6. För bestämmandet av P kan linjäriteten i problemet med fördel utnttjas: Låt z z vara lösningen till A* z z e 8
Det gäller då att z (P - )*z z är lösningen till A*z (P - )*e 8 Om alltså, enligt vad som togs fram i uppgift 4c, A* A*( + z) A* + A*z b + (P - )*e 8 A* b A*z (P - )*e 8 kombineras med det nss sagda, gäller att + z + (P - )*z z är lösningen till det fullständiga ekvationssstemet A* b. Eftersom maimum för stångkraften alltid hamnar i stång nummer 6, iakttas endast den ekvation som svarar mot just denna stång, vid beräkningen av P. Huvudekvationen i fråga är den setonde, innefattande dels rad nummer 6 i A, dels, d.v.s. + (P - )*z z, dels den setonde komponenten i b, d.v.s. setonde komponenten i b + (P - )*e 8. För stång nummer 6 måste alltså följaktligen gälla A[6, :]*( + (P - )*z z ) b [6] + (P - )*e 8 [6] där [] anger indeering. Den sista termen i högerledet blir noll, eftersom enhetsvektorn e 8 har sin enda nollskilda komponent på inde 8. Kvar blir: A[6, :]*( + (P - )* z z ) b [6] Notera att både A[6, :], och z z är vektorer av dimension, medan P och b [6] skalärer. (A[6, :] en radvektor, och z z kolumnvektorer.). För den sökta lösningen har ställts kravet att den maimala stångkraften får vara högst, d.v.s. + (P - )*z z med villkoret att ingen komponent i får vara större än. Enligt vad som tidigare förklarats, är den största komponenten alltid på inde 6. Ekvationen som återstår att lösa blir sålunda en skalär sådan: [6] [6] + (P - )*z z [6] varefter P nu enkelt kan lösas ut, vilket resulterar i följade uttrck för P: P ( - [6]) / z z [6] + För maimal stångkraft fås därmed ett noggrant värde på lasten P:.4