laddning av hjälppaket Vi laddar som vanligt linjär algebrapaketet men eftersom jag vill försöka visa hur de olika kurvformerna anpassar sig till mätpunkterna tänker jag plotta dem och då behöver vi paketet "plots". with LinearAlgebra ; with plots ; &x, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, ColumnSpace, CompanionMatrix, ConditionNumber, ConstantMatrix, ConstantVector, Copy, CreatePermutation, CrossProduct, DeleteColumn, DeleteRow, Determinant, Diagonal, DiagonalMatrix, Dimension, Dimensions, DotProduct, EigenConditionNumbers, Eigenvalues, Eigenvectors, Equal, ForwardSubstitute, FrobeniusForm, GaussianElimination, GenerateEquations, GenerateMatrix, Generic, GetResultDataType, GetResultShape, GivensRotationMatrix, GramSchmidt, HankelMatrix, HermiteForm, HermitianTranspose, HessenbergForm, HilbertMatrix, HouseholderMatrix, IdentityMatrix, IntersectionBasis, IsDefinite, IsOrthogonal, IsSimilar, IsUnitary, JordanBlockMatrix, JordanForm, KroneckerProduct, LA_Main, LUDecomposition, LeastSquares, LinearSolve, LyapunovSolve, Map, Map2, MatrixAdd, MatrixExponential, MatrixFunction, MatrixInverse, MatrixMatrixMultiply, MatrixNorm, MatrixPower, MatrixScalarMultiply, MatrixVectorMultiply, MinimalPolynomial, Minor, Modular, Multiply, NoUserValue, Norm, Normalize, NullSpace, OuterProductMatrix, Permanent, Pivot, PopovForm, QRDecomposition, RandomMatrix, RandomVector, Rank, RationalCanonicalForm, ReducedRowEchelonForm, Row, RowDimension, RowOperation, RowSpace, ScalarMatrix, ScalarMultiply, ScalarVector, SchurForm, SingularValues, SmithForm, StronglyConnectedBlocks, SubMatrix, SubVector, SumBasis, SylvesterMatrix, SylvesterSolve, ToeplitzMatrix, Trace, Transpose, TridiagonalForm, UnitVector, VandermondeMatrix, VectorAdd, VectorAngle, VectorMatrixMultiply, VectorNorm, VectorScalarMultiply, ZeroMatrix, ZeroVector, Zip animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fieldplot, fieldplot3d, gradplot, gradplot3d, graphplot3d, implicitplot, implicitplot3d, inequal, interactive, interactiveparams, intersectplot, listcontplot, listcontplot3d, listdensityplot, listplot, listplot3d, loglogplot, logplot, matrixplot, multiple, odeplot, pareto, plotcompare, pointplot, pointplot3d, polarplot, polygonplot, polygonplot3d, polyhedra_supported, polyhedraplot, rootlocus, semilogplot, setcolors, setoptions, setoptions3d, spacecurve, sparsematrixplot, surfdata, textplot, textplot3d, tubeplot (1.1)
Formulering av problemen I detta dokument ska vi studera minsta kvadratmetoden från ett lite mer generellt perspektiv så att vi kan lösa uppgift 5b-d i hemtenta2-20081130.pdf med M APLE. I denna uppgift har vi mätdata t K4 K3 K1 0 1 2 3 y K6 K2 K2 K1 2 4 5 ; t K4 K3 K1 0 1 2 3 y K6 K2 K2 K1 2 4 5 (2.1) I de olika deluppgifterna ska vi hitta de funktioner som bäst anpassar sig till dessa mätdata. När vi ska anpassa kurvor på den allmäna formen y = a 1 f 1 t C a 2 f 2 t C$$$C a n f n t så betyder det att vi ska bestämma de värden på koeffecienterna 1,..., a n som ger oss den bästa anpassningen till mätdata. 5b, 5c och 5d är tre olika exempel på detta: 1. (5b) här är f 1 t = 1 och f 2 t = t så att vi söker den räta linje y = a 1 C a 2 t som bäst anpassar sig till mätdata. 2. (5c) Här är f 1 t = 1, f 2 t = t, f 3 t = t 2 och f 3 t = t 3 vilket betyder att vi söker det tredjegradspolynom y = a 1 C a 2 t C a 3 t 2 C a 4 t 3 som bäst anpassar sig till mätdata 3. (5d) I detta fall har vi f 1 t = e K2 t och f 2 t = e 3 t så att vi söker det uttryck på formen y = a 1 e K2 t C a 2 e 3 t som bäst anpassar sig till mätdata. (observera att jag testar en liten variation på uppgift 5d där jag har C 3 t i stället för K3 t som det stod i uppgiften) Diskussion om det allmäna problemet: Tanken är att vi stoppar in våra mätpunkter t i, y i i vår allmänna form och får då lika många ekvationer i de obekanta koeffecienterna. Vi räknar med att detta system inte kommer ha någon lösning och det är därför vi söker en minsta kvadrat lösning. Systemet kan skrivas på formen Ma = y där a är en vektor med de obekanta koeffecienterna och M och y är matris och vektor som vi får från mätdatat. För att hitta minstra kvadratlösningen så multipliceras denna ekvations båda led med transponatet till matrisen M och då får vi systemet M t Ma = M t y (som vi kallar för normalekvationen). Detta system har en unik lösning eftersom M t M är en inverterbar matris (det var detta som man i den teoretiska uppgiften 5a skulle visa). Denna unika lösning är vår minstakvadratlösning. Vi går vidare och ser hur detta ser i våra tre uppgifter.
Uppgift 5b: Linjär Regression Denna uppgift är klassisk linjär regression vilket alltså innebär att man vill anpassa en rät linje till mätdata. Vi utvecklar systemet Ma = y : 1 K4 K6 1 K3 K2 1 K1 K2 M1 d 1 0 ; y1 d K1 ; 1 1 2 1 2 4 1 3 5 1 K4 1 K3 1 K1 1 0 1 1 1 2 1 3 K6 K2 K2 K1 2 4 5 (4.1) Normalekvationens vänster och höger led: MTM1 d MatrixMatrixMultiply Transpose M1, M1 ; MTy1 d MatrixVectorMultiply Transpose M1, y1 ; 7 K2 K2 40 0 57 (4.2) Nu löser vi normalekvationen:
a1 d LinearSolve MTM1, MTy1 ; 19 46 133 92 Detta ger oss alltså att att den bäst anpassade räta linjen ges av f1 t d 19 46 C 133 92 $t ; t/ 19 46 C 133 92 t Denna funktion ska vi sedan plotta! (4.3) (4.4) Uppgift 5c: anpassning av tredjegradsgraf till mätdata. I detta fall så ska vi anpassa en tredjegradskurva till våra mätdata. Vi börjar som i ovan att utveckla systemet Ma = y : Vi observerar att höger led är detsamma, det är samma y-värden! M2 d 1 K4 16 K64 1 K3 9 K27 1 K1 1 K1 1 0 0 0 1 1 1 1 1 2 4 8 1 3 9 27 ; 1 K4 16 K64 1 K3 9 K27 1 K1 1 K1 1 0 0 0 1 1 1 1 1 2 4 8 1 3 9 27 (5.1) Vi ställer upp normalekvationens båda led:: MTM2 d MatrixMatrixMultiply Transpose M2, M2 ; MTy2
d MatrixVectorMultiply Transpose M2, y1 ; 7 K2 40 K56 K2 40 K56 436 40 K56 436 K992 K56 436 K992 5620 0 57 K53 609 (5.2) Nu löser vi detta system: LinearSolve MTM2, MTy2 ; K 505 11298 27029 22596 2665 22596 29 807 (5.3) Detta ger oss nu följande tredjegradspolynom p t dk 505 11298 C 27029 2665 $t C 22596 22596 $t 2 C 29 807 $t 3 ; Detta polynom ska vi rita upp senare! t/k 505 11298 C 27029 22596 t C 2665 22596 t 2 C 29 807 t 3 (5.4) 5d: exponentialfunktionsuttryck I detta sista fall ska vi anpassa ett uttryck som består av två olika exponentialfunktioner. Systemet blir
M3 d exp 8 exp K12 exp 6 exp K9 exp 2 exp K3 1 1 exp K2 exp 3 exp K4 exp 6 exp K6 exp 9 ; e 8 e K12 e 6 e K9 e 2 e K3 1 1 e K2 e 3 e K4 e 6 e K6 e 9 (6.1) Höger led är samma som för fallen i ovan. Vi ställer upp normalekvationen för systemet MTM3 d MatrixMatrixMultiply Transpose M3, M3 ; MTy3 d MatrixVectorMultiply Transpose M3, y1 ; e 8 2 C e 6 2 C e 2 2 C 1 C e K2 2 C e K4 2 C e K6 2, e 8 e K12 C e 6 e K9 C e 2 e K3 C 1 C e K2 e 3 C e K4 e 6 C e K6 e 9, e 8 e K12 C e 6 e K9 C e 2 e K3 C 1 C e K2 e 3 C e K4 e 6 C e K6 e 9, e K12 2 C e K9 2 C e K3 2 C 1 C e 3 2 C e 6 2 C e 9 2 K6 e 8 K 2 e 6 K 2 e 2 K 1 C 2 e K2 C 4 e K4 C 5 e K6 K6 e K12 K 2 e K9 K 2 e K3 K 1 C 2 e 3 C 4 e 6 C 5 e 9 LinearSolve MTM3, MTy3 ; K 6 e 8 K 6 e K12 C 6 e 6 K 2 e K9 C 2 e 2 K 2 e K3 K 2 e K2 C 2 e 3 K 4 e K4 K 5 e K6 C 5 e 9 C e 6 2 K e 8 e K12 K e 6 e K9 K e 2 e K3 K e K2 e 3 K e K4 e 6 K e K6 e 9 C e K12 2 C e K9 2 C e K3 2 C e 3 2 C e 9 2 C 4 e 8 e K12 e 6 K 2 e 6 e K9 e K4 C 4 e 2 e K3 e 6 C 4 e K2 e 3 e 6 C 4 e K6 e 9 e 6 C 2 e 6 3 K 6 e K12 e 6 e K9 K 6 e K12 e 2 e K3 K 6 e K12 e K2 e 3 K 6 e K12 e K4 e 6 (6.2) (6.3)
K 6 e K12 e K6 e 9 K 2 e 8 e K12 e K9 K 2 e 8 e K12 e K3 C 2 e 8 e K12 e 3 C 5 e 8 e K12 e 9 K 2 e 6 e K9 e K3 C 2 e 6 e K9 e 3 C 5 e 6 e K9 e 9 K 2 e 2 e K3 e K9 C 2 e 2 e K3 e 3 C 5 e 2 e K3 e 9 K 2 e K2 e 3 e K9 K 2 e K2 e 3 e K3 C 5 e K2 e 3 e 9 K 2 e K4 e 6 e K3 C 2 e K4 e 6 e 3 C 5 e K4 e 6 e 9 K 2 e K6 e 9 e K9 K 2 e K6 e 9 e K3 C 2 e K6 e 9 e 3 C 4 e 6 2 e K9 C 6 e 8 e 6 2 C 6 e 8 e K9 2 C 6 e 8 e K3 2 C 6 e 8 e 3 2 C 6 e 8 e 9 2 C 2 e 6 e K12 2 C 2 e 6 e K3 2 C 2 e 6 e 3 2 C 2 e 6 e 9 2 C 2 e 2 e 6 2 C 2 e 2 e K12 2 C 2 e 2 e K9 2 C 2 e 2 e 3 2 C 2 e 2 e 9 2 K 2 e K2 e 6 2 K 2 e K2 e K12 2 K 2 e K2 e K9 2 K 2 e K2 e K3 2 K 2 e K2 e 9 2 K 4 e K4 e K12 2 K 4 e K4 e K9 2 K 4 e K4 e K3 2 K 4 e K4 e 3 2 K 4 e K4 e 9 2 K 5 e K6 e 6 2 K 5 e K6 e K12 2 K 5 e K6 e K9 2 K 5 e K6 e K3 2 K 5 e K6 e 3 2 K2 e 6 2 e K9 e K4 C e 8 2 C 2 e 6 2 C e 2 2 C e K2 2 C e K4 2 C e K6 2 K 2 e 8 e K12 K 2 e 6 e K9 K 2 e 2 e K3 K 2 e K2 e 3 K 2 e K4 e 6 K 2 e K6 e 9 C e K12 2 C e K9 2 C e K3 2 C e 3 2 C e 9 2 K 2 e 8 e K12 e 6 e K9 K 2 e 8 e K12 e 2 e K3 K 2 e 8 e K12 e K2 e 3 K 2 e 8 e K12 e K4 e 6 K 2 e 8 e K12 e K6 e 9 K 2 e 6 e K9 e 2 e K3 K 2 e 6 e K9 e K2 e 3 K 2 e 6 e K9 e K6 e 9 K 2 e 2 e K3 e K2 e 3 K 2 e 2 e K3 e K4 e 6 K 2 e 2 e K3 e K6 e 9 K 2 e K2 e 3 e K4 e 6 K 2 e K2 e 3 e K6 e 9 K 2 e K4 e 6 e K6 e 9 C e K12 2 e 6 2 C e K12 2 e 2 2 C e K12 2 e K2 2 C e K12 2 e K4 2 C e K12 2 e K6 2 C e K9 2 e 8 2 C e K9 2 e 2 2 C e K9 2 e K2 2 C e K9 2 e K4 2 C e K9 2 e K6 2 C e K3 2 e 8 2 C e K3 2 e 6 2 C e K3 2 e K2 2 C e K3 2 e K4 2 C e K3 2 e K6 2 C e 3 2 e 8 2 C e 3 2 e 6 2 C e 3 2 e 2 2 C e 3 2 e K4 2 C e 3 2 e K6 2 C e 6 2 e 8 2 C e 6 2 e 2 2 C e 6 2 e K2 2 C e 6 2 e K6 2 C e 9 2 e 8 2 C e 9 2 e 6 2 C e 9 2 e 2 2 C e 9 2 e K2 2 C e 9 2 e K4 2 C e 6 4, 6 e 8 K 6 e K12 C 6 e 6 K 2 e K9 C 2 e 2 K 2 e K3 K 2 e K2 C 2 e 3 K 4 e K4 K 5 e K6 C 5 e 9 K e 8 2 K e 6 2 K e 2 2 K e K2 2 K e K4 2 K e K6 2 C e 8 e K12 C e 6 e K9 C e 2 e K3 C e K2 e 3 C e K4 e 6 C e K6 e 9 C 2 e 8 e K12 e 2 K 2 e 8 e K12 e K2 K 4 e 8 e K12 e K4 C 2 e 6 e K9 e 2 C 6 e 6 e K9 e 8 K 5 e 8 e K12 e K6 C 2 e K4 e 6 2 K 2 e K3 e 8 2 K 2 e K3 e 6 2 K 2 e K3 e K2 2 K 2 e K3 e K4 2 K 2 e K3 e K6 2 K 6 e K12 e 6 2 K 6 e K12 e 2 2 K 6 e K12 e K2 2 K 6 e K12 e K4 2 K 6 e K12 e K6 2 K 2 e K9 e 8 2 K 2 e K9 e 2 2 K 2 e K9 e K2 2 K 2 e K9 e K4 2 K 2 e K9 e K6 2 C 5 e 9 e 8 2 C 5 e 9 e 6 2
C 5 e 9 e 2 2 C 5 e 9 e K2 2 C 5 e 9 e K4 2 C 2 e 3 e 8 2 C 2 e 3 e 6 2 C 2 e 3 e 2 2 C 2 e 3 e K4 2 C 2 e 3 e K6 2 C 4 e 6 e 8 2 C 4 e 6 e 2 2 C 4 e 6 e K2 2 C 4 e 6 e K6 2 C 2 e 8 e K12 e 6 K 2 e 6 e K9 e K2 K 4 e 6 e K9 e K4 K 5 e 6 e K9 e K6 C 6 e 2 e K3 e 8 C 2 e 2 e K3 e 6 K 2 e 2 e K3 e K2 K 4 e 2 e K3 e K4 K 5 e 2 e K3 e K6 C 6 e K2 e 3 e 8 C 2 e K2 e 3 e 6 C 2 e K2 e 3 e 2 K 4 e K2 e 3 e K4 K 5 e K2 e 3 e K6 C 6 e K4 e 6 e 8 C 2 e K4 e 6 e 2 K 2 e K4 e 6 e K2 K 5 e K4 e 6 e K6 C 6 e K6 e 9 e 8 C 2 e K6 e 9 e 6 C 2 e K6 e 9 e 2 K 2 e K6 e 9 e K2 K 4 e K6 e 9 e K4 C 4 e 6 3 K2 e 6 2 e K9 e K4 C e 8 2 C 2 e 6 2 C e 2 2 C e K2 2 C e K4 2 C e K6 2 K 2 e 8 e K12 K 2 e 6 e K9 K 2 e 2 e K3 K 2 e K2 e 3 K 2 e K4 e 6 K 2 e K6 e 9 C e K12 2 C e K9 2 C e K3 2 C e 3 2 C e 9 2 K 2 e 8 e K12 e 6 e K9 K 2 e 8 e K12 e 2 e K3 K 2 e 8 e K12 e K2 e 3 K 2 e 8 e K12 e K4 e 6 K 2 e 8 e K12 e K6 e 9 K 2 e 6 e K9 e 2 e K3 K 2 e 6 e K9 e K2 e 3 K 2 e 6 e K9 e K6 e 9 K 2 e 2 e K3 e K2 e 3 K 2 e 2 e K3 e K4 e 6 K 2 e 2 e K3 e K6 e 9 K 2 e K2 e 3 e K4 e 6 K 2 e K2 e 3 e K6 e 9 K 2 e K4 e 6 e K6 e 9 C e K12 2 e 6 2 C e K12 2 e 2 2 C e K12 2 e K2 2 C e K12 2 e K4 2 C e K12 2 e K6 2 C e K9 2 e 8 2 C e K9 2 e 2 2 C e K9 2 e K2 2 C e K9 2 e K4 2 C e K9 2 e K6 2 C e K3 2 e 8 2 C e K3 2 e 6 2 C e K3 2 e K2 2 C e K3 2 e K4 2 C e K3 2 e K6 2 C e 3 2 e 8 2 C e 3 2 e 6 2 C e 3 2 e 2 2 C e 3 2 e K4 2 C e 3 2 e K6 2 C e 6 2 e 8 2 C e 6 2 e 2 2 C e 6 2 e K2 2 C e 6 2 e K6 2 C e 9 2 e 8 2 C e 9 2 e 6 2 C e 9 2 e 2 2 C e 9 2 e K2 2 C e 9 2 e K4 2 C e 6 4 Som ni ser så är detta ett ganska risigt (men exakt) uttryck. Låt oss få ned det på decimalform så kanske det blir något enklare: a3 d evalf % ; K0.002067434085 0.0006406300108 Vi kan plocka ut komponenterna av denna vektor genom att ange deras index: a3 1 ; K0.002067434085 a3 2 0.0006406300108 vår funktion kan därför skrivas som (6.4) (6.5) (6.6)
E t d a3 1 $exp K2$t C a3 2 $exp 3$t ; Denna plottar vi i nästa sektion! t/a3 1 e K2 t C a3 2 e 3 t (6.7) Plottning av de olika kurvorna: Vi börjar med att plotta våra mätpunkter: Vi anger först de sju mätpunkterna som en 7x2 matris: A d K4 K6 K3 K2 K1 K2 0 K1 1 2 2 4 3 5 ; K4 K6 K3 K2 K1 K2 0 K1 1 2 2 4 3 5 (7.1) Dessa plottas med pointplot. Observera att vi namnger plotten. Detta är för att kunna få in alla plotterna i samma bild på slutet: plot1 d pointplot A, symbol = diagonalcross, symbolsize = 20, color = red ; PLOT... (7.2) Nu plottas de tre kurvorna: plot2 d plot f1 t, t =K4..3, color = blue ; plot3 d plot p t, t =K4..3, color = green ; plot4 d plot E t, t =K4..3, color = violet ; PLOT... PLOT...
PLOT... (7.3) Nu ritar vi upp våra olika plottar i samma bild: display plot1, plot2, plot3, plot4 ; 4 2 K4 K3 K2 K1 0 1 2 3 t K2 K4 K6 Egentligen ligger väl inte någon av kurvorna så imponerande nära mätpunkterna, men de är ändå de bästa inom sina respektive klasser. Däremot finns det säkert andra kurvor som ligger närmare. En sjättegradkurva kan gå genom alla sju punkterna till exempel:
1 t1 t1 2 t1 3 t1 4 t1 5 t1 6 1 t2 t2 2 t2 3 t2 4 t2 5 t2 6 1 t3 t3 2 t3 3 t3 4 t3 5 t3 6 A t1, t2, t3, t4, t5, t6, t7 d 1 t4 t4 2 t4 3 t4 4 t4 5 t4 6 ; 1 t5 t5 2 t5 3 t5 4 t5 5 t5 6 1 t6 t6 2 t6 3 t6 4 t6 5 t6 6 1 t7 t7 2 t7 3 t7 4 t7 5 t7 6 t1, t2, t3, t4, t5, t6, t7 /Matrix 7, 7, 1, 1 = 1, 1, 2 = t1, 1, 3 = t1 2, 1, 4 = t1 3, 1, 5 = t1 4, 1, 6 = t1 5, 1, 7 = t1 6, 2, 1 = 1, 2, 2 = t2, 2, 3 = t2 2, 2, 4 = t2 3, 2, 5 = t2 4, 2, 6 = t2 5, 2, 7 = t2 6, 3, 1 = 1, 3, 2 = t3, 3, 3 = t3 2, 3, 4 = t3 3, 3, 5 = t3 4, 3, 6 = t3 5, 3, 7 = t3 6, 4, 1 = 1, 4, 2 = t4, 4, 3 = t4 2, 4, 4 = t4 3, 4, 5 = t4 4, 4, 6 = t4 5, 4, 7 = t4 6, 5, 1 = 1, 5, 2 = t5, 5, 3 = t5 2, 5, 4 = t5 3, 5, 5 = t5 4, 5, 6 = t5 5, 5, 7 = t5 6, 6, 1 = 1, 6, 2 = t6, 6, 3 = t6 2, 6, 4 = t6 3, 6, 5 = t6 4, 6, 6 = t6 5, 6, 7 = t6 6, 7, 1 = 1, 7, 2 = t7, 7, 3 = t7 2, 7, 4 = t7 3, 7, 5 = t7 4, 7, 6 = t7 5, 7, 7 = t7 6 M5 d A K4,K3,K1, 0, 1, 2, 3 ; 1 K4 16 K64 256 K1024 4096 1 K3 9 K27 81 K243 729 1 K1 1 K1 1 K1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 4 8 16 32 64 1 3 9 27 81 243 729 (7.4) (7.5) Vi ställer upp normalekvationen: MTM5 d MatrixMatrixMultiply Transpose M5, M5 ; MTy5 d MatrixVectorMultiply Transpose M5, y1 ;
7 K2 40 K56 436 K992 5620 K2 40 K56 436 K992 5620 K16256 40 K56 436 K992 5620 K16256 78916 K56 436 K992 5620 K16256 78916 K261632 436 K992 5620 K16256 78916 K261632 1167700 K992 5620 K16256 78916 K261632 1167700 K4192256 5620 K16256 78916 K261632 1167700 K4192256 17844196 a5 d LinearSolve MTM5, MTy5 ; 0 57 K53 609 K1229 7977 K22133 K1 197 84 733 630 K 125 336 K 173 1008 3 112 41 5040 (7.6) (7.7) p5 t d a5 1 C a5 2 $t C a5 3 $t 2 C a5 4 $t 3 C a5 5 $t 4 C a5 6 $t 5 C a5 7 $t 6 ; t/a5 1 C a5 2 t C a5 3 t 2 C a5 4 t 3 C a5 5 t 4 C a5 6 t 5 C a5 7 t 6 (7.8) plot6 d plot p5 t, t =K4..3 ; display plot1, plot2, plot3, plot4, plot6 ; PLOT... (7.9)
4 2 K4 K3 K2 K1 0 1 2 3 t K2 K4 K6 Som vi ser så passerar grafen för detta sjättegradspolynom genom alla punkter. Detta innebär bland annat att vi i detta fall inte hade behövt gå över till normalekvationen eftersom ekvationssystemet själv har en unik lösning LinearSolve M5, y1 ;
K1 197 84 733 630 K 125 336 K 173 1008 3 112 41 5040 (7.10) Och som vi ser så är denna lösning samma som normalekvationens lösning!!