Lineaarialgebra

Suoran sovitus pistejoukkoon

Seuraavassa sovitetaan 2-5 pisteen joukkoon PNS-suora

Kaksi pistettä

${ 1. Suoran sovitus kahden pisteen joukkoon $} #CODEBASE = "../jsp" #ARCHIVE = "jsp4.jar" #WIDTH = 406 #HEIGHT = 400 #ALIGN = Center *Frame = 1 *LabelFont = "Courier" *LabelBold = 1 *MeasureFont = "Courier" *MeasureSize = 14 *MeasureBold = 1 *MeasureInDegrees = 1 *DirectedAngles = 0 *Backblue = 255 *BackGreen = 255 *Backred = 255 $reset FixedText(385,15,'Reset = ''R''')[red,bold,justifyRight]; $Clear FixedText(365,390,'Puhdistus: x ->')[red,plain,font('Courier'),bold,justifyRight,hidden]; $xText FixedText(385,195,'t')[bold, black, justifyCenter]; $yText FixedText(195, 10,'s')[bold, black, justifyCenter]; ${ The Plane Coordinate System $} $O FixedPoint(200, 200) [black, label('0')]; $unitp UnitPoint($O, 40) [white, label('1'),hidden]; $coord Origin&Unit($O, $unitp)[black, hidden]; $Xax AxisX($coord)[black]; $Yax AxisY($coord)[black]; $P1 Point( 50,300)[red, label('P1')]; $P2 Point(140,260)[red, label('P2')]; $TS1 Coordinates($P1,$coord,10,10,'P1 = ')[red]; $TS2 Coordinates($P2,$coord,10,30,'P2 = ')[red]; $t1 Calculate( 200,10,'','#A1')($TS1)[red,hidden]; $s1 Calculate( 300,10,'','#A2')($TS1)[red,hidden]; $t2 Calculate( 200,30,'','#A1')($TS2)[red,hidden]; $s2 Calculate( 300,30,'','#A2')($TS2)[red,hidden]; $a11 Calculate( 200,80,'a11 = ','2 A 0*+')($t1)[blue,hidden]; $a12 Calculate( 300,80,'a12 = ','AB+')($t1,$t2)[blue,hidden]; $a22 Calculate( 300,100,'a22 = ','A2^ B2^ +')($t1,$t2)[blue,hidden]; $det Calculate( 200,130,'det = ','AC * B2^ -')($a11,$a12,$a22)[blue,hidden]; $b1 Calculate( 200,150,'b1 = ','AB+')($s1,$s2)[blue,hidden]; $b2 Calculate( 300,150,'b2 = ','#A1 #A2 * #B1 #B2 * +')($TS1,$TS2)[blue,hidden]; $c0 Calculate( 5,215,'c0 = ','AD * BC * - E /')($b1,$b2,$a12,$a22,$det)[blue]; $c1 Calculate( 5,230,'c1 = ','BC * AD * - E /')($b1,$b2,$a11,$a12,$det)[blue]; $nolla Calculate( 200,80,'','0 A*')($t1)[blue,hidden]; $t0 Calculate( 200,80,'','0 AB/ -')($c0,$c1)[blue,hidden]; $R1 PlotXY($c0,$coord,$nolla)[white]; $R2 PlotXY($nolla,$coord,$t0)[white]; Line($R1,$R2); $r21 Calculate(0,250,'','A BC* + D- 2 ^')($c0,$c1,$t1,$s1)[black,hidden]; $r22 Calculate(0,270,'','A BC* + D- 2 ^')($c0,$c1,$t2,$s2)[black,hidden]; $r2 Calculate(5,250,'||r||^2 = ','AB+')($r21,$r22)[black];

Kolme pistettä

${ 2. Suoran sovitus kolmen pisteen joukkoon $} #CODEBASE = "../jsp" #ARCHIVE = "jsp4.jar" #WIDTH = 406 #HEIGHT = 400 #ALIGN = Center *Frame = 1 *LabelFont = "Courier" *LabelBold = 1 *MeasureFont = "Courier" *MeasureSize = 14 *MeasureBold = 1 *MeasureInDegrees = 1 *DirectedAngles = 0 *Backblue = 255 *BackGreen = 255 *Backred = 225 $reset FixedText(385,15,'Reset = ''R''')[red,bold,justifyRight]; $Clear FixedText(365,390,'Puhdistus: x ->')[red,plain,font('Courier'),bold,justifyRight,hidden]; $xText FixedText(385,195,'t')[bold, black, justifyCenter]; $yText FixedText(195, 10,'s')[bold, black, justifyCenter]; ${ The Plane Coordinate System $} $O FixedPoint(200, 200) [black, label('0')]; $unitp UnitPoint($O, 40) [white, label('1'),hidden]; $coord Origin&Unit($O, $unitp)[black, hidden]; $Xax AxisX($coord)[black]; $Yax AxisY($coord)[black]; $P1 Point( 50,300)[red, label('P1')]; $P2 Point(140,260)[red, label('P2')]; $P3 Point(150,240)[red, label('P3')]; $TS1 Coordinates($P1,$coord,10,10,'P1 = ')[red]; $TS2 Coordinates($P2,$coord,10,30,'P2 = ')[red]; $TS3 Coordinates($P3,$coord,10,50,'P3 = ')[red]; $t1 Calculate( 200,10,'','#A1')($TS1)[red,hidden]; $s1 Calculate( 300,10,'','#A2')($TS1)[red,hidden]; $t2 Calculate( 200,30,'','#A1')($TS2)[red,hidden]; $s2 Calculate( 300,30,'','#A2')($TS2)[red,hidden]; $t3 Calculate( 200,50,'','#A1')($TS3)[red,hidden]; $s3 Calculate( 300,50,'','#A2')($TS3)[red,hidden]; $a11 Calculate( 200,80,'a11 = ','3 A 0*+')($t1)[blue,hidden]; $a12 Calculate( 300,80,'a12 = ','AB+C+')($t1,$t2,$t3)[blue,hidden]; $a22 Calculate( 300,100,'a22 = ','A2^ B2^ + C2^ +')($t1,$t2,$t3)[blue,hidden]; $det Calculate( 200,130,'det = ','AC * B2^ -')($a11,$a12,$a22)[blue,hidden]; $b1 Calculate( 200,150,'b1 = ','AB+C+')($s1,$s2,$s3)[blue,hidden]; $b2 Calculate( 300,150,'b2 = ','#A1 #A2 * #B1 #B2 * + #C1 #C2 * +')($TS1,$TS2,$TS3)[blue,hidden]; $c0 Calculate( 5,215,'c0 = ','AD * BC * - E /')($b1,$b2,$a12,$a22,$det)[blue]; $c1 Calculate( 5,230,'c1 = ','BC * AD * - E /')($b1,$b2,$a11,$a12,$det)[blue]; $nolla Calculate( 200,80,'','0 A*')($t1)[blue,hidden]; $t0 Calculate( 200,80,'','0 AB/ -')($c0,$c1)[blue,hidden]; $R1 PlotXY($c0,$coord,$nolla)[blue]; $R2 PlotXY($nolla,$coord,$t0)[blue]; Line($R1,$R2); $r21 Calculate(0,250,'','A BC* + D- 2 ^')($c0,$c1,$t1,$s1)[black,hidden]; $r22 Calculate(0,270,'','A BC* + D- 2 ^')($c0,$c1,$t2,$s2)[black,hidden]; $r23 Calculate(0,290,'','A BC* + D- 2 ^')($c0,$c1,$t3,$s3)[black,hidden]; $r2 Calculate(5,250,'||r||^2 = ','AB+ C+')($r21,$r22,$r23)[black];

Neljä pistettä

${ 3. Suoran sovitus neljän pisteen joukkoon $} #CODEBASE = "../jsp" #ARCHIVE = "jsp4.jar" #WIDTH = 406 #HEIGHT = 400 #ALIGN = Center *Frame = 1 *LabelFont = "Courier" *LabelBold = 1 *MeasureFont = "Courier" *MeasureSize = 14 *MeasureBold = 1 *MeasureInDegrees = 1 *DirectedAngles = 0 *Backblue = 255 *BackGreen = 225 *Backred = 255 $reset FixedText(385,15,'Reset = ''R''')[red,bold,justifyRight]; $Clear FixedText(365,390,'Puhdistus: x ->')[red,plain,font('Courier'),bold,justifyRight,hidden]; $xText FixedText(385,195,'t')[bold, black, justifyCenter]; $yText FixedText(195, 10,'s')[bold, black, justifyCenter]; ${ The Plane Coordinate System $} $O FixedPoint(200, 200) [black, label('0')]; $unitp UnitPoint($O, 25) [white, label('1')]; $coord Origin&Unit($O, $unitp)[black, hidden]; $Xax AxisX($coord)[black]; $Yax AxisY($coord)[black]; $P1 Point( 50,300)[red, label('P1')]; $P2 Point(140,260)[red, label('P2')]; $P3 Point(150,240)[red, label('P3')]; $P4 Point(200,200)[red, label('P4')]; $TS1 Coordinates($P1,$coord,10,10,'P1 = ')[red]; $TS2 Coordinates($P2,$coord,10,30,'P2 = ')[red]; $TS3 Coordinates($P3,$coord,10,50,'P3 = ')[red]; $TS4 Coordinates($P4,$coord,10,70,'P4 = ')[red]; $t1 Calculate( 200,10,'','#A1')($TS1)[red,hidden]; $s1 Calculate( 300,10,'','#A2')($TS1)[red,hidden]; $t2 Calculate( 200,30,'','#A1')($TS2)[red,hidden]; $s2 Calculate( 300,30,'','#A2')($TS2)[red,hidden]; $t3 Calculate( 200,50,'','#A1')($TS3)[red,hidden]; $s3 Calculate( 300,50,'','#A2')($TS3)[red,hidden]; $t4 Calculate( 200,70,'','#A1')($TS4)[red,hidden]; $s4 Calculate( 300,70,'','#A2')($TS4)[red,hidden]; $a11 Calculate( 200,80,'a11 = ','4 A 0*+')($t1)[blue,hidden]; $a12 Calculate( 300,80,'a12 = ','AB+C+D+')($t1,$t2,$t3,$t4)[blue,hidden]; $a22 Calculate( 300,100,'a22 = ','A2^ B2^ + C2^ + D2^ +')($t1,$t2,$t3,$t4)[blue,hidden]; $det Calculate( 200,130,'det = ','AC * B2^ -')($a11,$a12,$a22)[blue,hidden]; $b1 Calculate( 200,150,'b1 = ','AB+C+D+')($s1,$s2,$s3,$s4)[blue,hidden]; $b2 Calculate( 300,150,'b2 = ','#A1 #A2 * #B1 #B2 * + #C1 #C2 * + #D1 #D2 * +')($TS1,$TS2,$TS3,$TS4)[blue,hidden]; $c0 Calculate( 5,215,'c0 = ','AD * BC * - E /')($b1,$b2,$a12,$a22,$det)[blue]; $c1 Calculate( 5,230,'c1 = ','BC * AD * - E /')($b1,$b2,$a11,$a12,$det)[blue]; $nolla Calculate( 200,80,'','0 A*')($t1)[blue,hidden]; $t0 Calculate( 200,80,'','0 AB/ -')($c0,$c1)[blue,hidden]; $R1 PlotXY($c0,$coord,$nolla)[blue]; $R2 PlotXY($nolla,$coord,$t0)[blue]; Line($R1,$R2); $r21 Calculate(0,250,'','A BC* + D- 2 ^')($c0,$c1,$t1,$s1)[black,hidden]; $r22 Calculate(0,270,'','A BC* + D- 2 ^')($c0,$c1,$t2,$s2)[black,hidden]; $r23 Calculate(0,290,'','A BC* + D- 2 ^')($c0,$c1,$t3,$s3)[black,hidden]; $r24 Calculate(0,290,'','A BC* + D- 2 ^')($c0,$c1,$t4,$s4)[black,hidden]; $r2 Calculate(5,250,'||r||^2 = ','AB+ C+ D+')($r21,$r22,$r23,$r24)[black];

Viisi pistettä

${ 4. Suoran sovitus viiden pisteen joukkoon $} #CODEBASE = "../jsp" #ARCHIVE = "jsp4.jar" #WIDTH = 407 #HEIGHT = 407 #ALIGN = Center *Frame = 1 *LabelFont = "Courier" *LabelBold = 1 *MeasureFont = "Courier" *MeasureSize = 14 *MeasureBold = 1 *MeasureInDegrees = 1 *DirectedAngles = 0 *Backblue = 225 *BackGreen = 255 *Backred = 255 $reset FixedText(385,15,'Reset = ''R''')[red,bold,justifyRight]; $Clear FixedText(365,390,'Puhdistus: x ->')[red,plain,font('Courier'),bold,justifyRight,hidden]; $xText FixedText(385,195,'t')[bold, black, justifyCenter]; $yText FixedText(195, 10,'s')[bold, black, justifyCenter]; ${ The Plane Coordinate System $} $O FixedPoint(200, 200) [black, label('0')]; $unitp UnitPoint($O, 25) [white, label('1')]; $coord Origin&Unit($O, $unitp)[black, hidden]; $Xax AxisX($coord)[black]; $Yax AxisY($coord)[black]; $P1 Point( 50,300)[red, label('P1')]; $P2 Point(140,260)[red, label('P2')]; $P3 Point(150,240)[red, label('P3')]; $P4 Point(200,220)[red, label('P4')]; $P5 Point(250,120)[red, label('P5')]; $TS1 Coordinates($P1,$coord,10,10,'P1 = ')[red]; $TS2 Coordinates($P2,$coord,10,30,'P2 = ')[red]; $TS3 Coordinates($P3,$coord,10,50,'P3 = ')[red]; $TS4 Coordinates($P4,$coord,10,70,'P4 = ')[red]; $TS5 Coordinates($P5,$coord,10,90,'P5 = ')[red]; $t1 Calculate( 200,10,'','#A1')($TS1)[red,hidden]; $s1 Calculate( 300,10,'','#A2')($TS1)[red,hidden]; $t2 Calculate( 200,30,'','#A1')($TS2)[red,hidden]; $s2 Calculate( 300,30,'','#A2')($TS2)[red,hidden]; $t3 Calculate( 200,50,'','#A1')($TS3)[red,hidden]; $s3 Calculate( 300,50,'','#A2')($TS3)[red,hidden]; $t4 Calculate( 200,70,'','#A1')($TS4)[red,hidden]; $s4 Calculate( 300,70,'','#A2')($TS4)[red,hidden]; $t5 Calculate( 200,90,'','#A1')($TS5)[red,hidden]; $s5 Calculate( 300,90,'','#A2')($TS5)[red,hidden]; $a11 Calculate( 200,80,'a11 = ','5 A 0*+')($t1)[blue,hidden]; $a12 Calculate( 300,80,'a12 = ','AB+C+D+E+')($t1,$t2,$t3,$t4,$t5)[blue,hidden]; $a22 Calculate( 300,100,'a22 = ','A2^ B2^ + C2^ + D2^ + E2^ +')($t1,$t2,$t3,$t4,$t5)[blue,hidden]; $det Calculate( 200,130,'det = ','AC * B2^ -')($a11,$a12,$a22)[blue,hidden]; $b1 Calculate( 200,150,'b1 = ','AB+C+D+E+')($s1,$s2,$s3,$s4,$s5)[blue,hidden]; $b2 Calculate( 300,150,'b2 = ','#A1 #A2 * #B1 #B2 * + #C1 #C2 * + #D1 #D2 * + #E1 #E2 * +')($TS1,$TS2,$TS3,$TS4,$TS5)[blue,hidden]; $c0 Calculate( 5,215,'c0 = ','AD * BC * - E /')($b1,$b2,$a12,$a22,$det)[blue]; $c1 Calculate( 5,230,'c1 = ','BC * AD * - E /')($b1,$b2,$a11,$a12,$det)[blue]; $nolla Calculate( 200,80,'','0 A*')($t1)[blue,hidden]; $t0 Calculate( 200,80,'','0 AB/ -')($c0,$c1)[blue,hidden]; $R1 PlotXY($c0,$coord,$nolla)[blue]; $R2 PlotXY($nolla,$coord,$t0)[blue]; Line($R1,$R2); $r21 Calculate(0,250,'','A BC* + D- 2 ^')($c0,$c1,$t1,$s1)[black,hidden]; $r22 Calculate(0,270,'','A BC* + D- 2 ^')($c0,$c1,$t2,$s2)[black,hidden]; $r23 Calculate(0,290,'','A BC* + D- 2 ^')($c0,$c1,$t3,$s3)[black,hidden]; $r24 Calculate(0,290,'','A BC* + D- 2 ^')($c0,$c1,$t4,$s4)[black,hidden]; $r25 Calculate(0,290,'','A BC* + D- 2 ^')($c0,$c1,$t5,$s5)[black,hidden]; $r2 Calculate(5,250,'||r||^2 = ','AB+ C+ D+ E+')($r21,$r22,$r23,$r24,$r25)[black]; ${ $Sunit Segment($O,$unitp)[hidden]; $Cir Circle by radius($lp,$Sunit)[blue, hidden]; $P Point on object($Cir, 1)[red, label('P')]; $Q Point on object($Cir, 2)[blue, label('Q')]; $LPlp Line($lp,$P)[red]; $LQlp Line($lp,$Q)[blue]; $IntxPlp Intersect($Xax,$LPlp)[white,label('LPx')]; Coordinates($IntxPlp,$coord,10,10,'LPx = ')[red]; $IntyPlp Intersect($Yax,$LPlp)[white,label('LPy')]; Coordinates($IntyPlp,$coord,10,30,'LPy = ')[red]; $IntxQlp Intersect($Xax,$LQlp)[white,label('LQx')]; Coordinates($IntxQlp,$coord,10,60,'LQx = ')[blue]; $IntyQlp Intersect($Yax,$LQlp)[white,label('LQy')]; Coordinates($IntyQlp,$coord,10,80,'LQy = ')[blue]; $CP Coordinates($P,$coord,20,60,'P = ')[red,hidden]; $CQ Coordinates($Q,$coord,20,80,'Q = ')[red,hidden]; $Clp Coordinates($lp,$coord,20,100,'lp = ')[red,hidden]; $P2_lp2 Calculate( 0,30,'','#B2 #A2 -')($Clp,$CP)[red,suffix('x'),hidden]; $P1_lp1 Calculate(57,30,'+(','#A1 #B1 -')($Clp,$CP)[red,suffix(')y = '),hidden]; $right1 Calculate(152,30,'','#B2#A2- #A1* #B1#A1- #A2* -')($Clp,$CP)[red,hidden]; $Q2_lp2 Calculate( 0,50,'','#B2 #A2 -')($Clp,$CQ)[blue,suffix('x'),hidden]; $Q1_lp1 Calculate(57,50,'+(','#A1 #B1 -')($Clp,$CQ)[blue,suffix(')y = '),hidden]; $right2 Calculate(152,50,'','#B2#A2- #A1* #B1#A1- #A2* -')($Clp,$CQ)[blue,hidden]; $}



Martti.Pesonen@Joensuu.Fi 2003