Lineaarialgebra
Skaalauksia R:ssä ?
|
Esimerkki 1. Onko reaalilukujen skaalaus reaaliluvuilla?
${
1. Skaalaus R:ssä
$}
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 500
#HEIGHT = 100
#ALIGN = Center
*Frame = 0
*TextFont = "Helvetica"
*TextBold = 1
*TextSize = 18
*LabelFont = "Courier"
*LabelBold = 1
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 1
*DirectedAngles = 0
*BackRed = 255
*BackGreen = 255
*BackBlue = 220
$reset FixedText(485,15,'Reset = ''R''')[red,bold,justifyRight];
$Rlabel FixedText(485, 45,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
$RO FixedPoint(250,50)[ black, label('0')];
$Rykk FixedPoint(275,50)[ white, label('1')];
$RL Line($Rykk,$RO)[black];
$x Point on object($RL,-9)[red, bold, label('x'),layer(5)];
$c Point on object($RL,-6)[red,label('c'),layer(5)];
$cx VectorTranslation($Rykk,$c,$x)[magenta, label('cx')];
Oheisessa dynaamisessa kuviossa voi liikutella hiirellä pisteitä
c ja x.
Tässä vektorit ja skalaarit ovat samasta joukosta R, joten ne voidaan esittää yhdellä
reaaliakselilla.
Kaikilla c ja x tulos cx on täysin määrätty luku,
joten kyseessä on funktio R × R ® R;
siis reaalivektorien (-lukujen) skaalaus joukon R alkioilla.
Esimerkki 2. Onko reaalilukujen skaalaus reaaliluvuilla?
${
2. Skaalaus R:ssä
$}
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 500
#HEIGHT = 100
#ALIGN = Center
*Frame = 0
*TextFont = "Helvetica"
*TextBold = 1
*TextSize = 18
*LabelFont = "Courier"
*LabelBold = 1
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 1
*DirectedAngles = 0
*BackRed = 255
*BackGreen = 220
*BackBlue = 220
$reset FixedText(485,15,'Reset = ''R''')[red,bold,justifyRight];
$Rlabel FixedText(485, 45,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
$RO FixedPoint(250,50)[ black, label('0')];
$Rykk FixedPoint(275,50)[ white, label('1')];
$RL Line($Rykk,$RO)[black];
$x Point on object($RL,-9)[red, label('x'),layer(5)];
$c Point on object($RL,-4)[red,label('c'),layer(5)];
$Pt FixedPoint(270,0)[hidden];
$cx Dilation/3PtRatio($Rykk,$RO,$Pt,$RO,$x)[magenta, label('cx')];
Oheisessa dynaamisessa kuviossa voi liikutella hiirellä pisteitä
c ja x.
Kaikilla c ja x tulos cx on täysin määrätty luku,
joten kyseessä on funktio R × R ® R;
siis reaalivektorien (-lukujen) skaalaus joukon R alkioilla.
Huomaa funktion epäjatkuvuus (hyppy), ja se ettei arvo riipu lainkaan skaalaavasta muuttujasta!
Esimerkki 3. Onko kyseessä joukon [a,b] alkioiden skaalaus reaaliluvuilla?
${
3. Ei skaalaus välillä [a,b]
$}
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 500
#HEIGHT = 100
#ALIGN = Center
*Frame = 1
*TextFont = "Helvetica"
*TextBold = 1
*TextSize = 18
*LabelFont = "Courier"
*LabelBold = 1
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 1
*DirectedAngles = 0
*BackRed = 255
*BackGreen = 220
*BackBlue = 255
$reset FixedText(485,15,'Reset = ''R''')[red,bold,justifyRight];
$RO FixedPoint(250,50)[ black, label('0')];
$Rykk FixedPoint(275,50)[ white, label('1')];
$RL Line($Rykk,$RO)[black];
$a FixedPoint(50,50)[color(0,150,0), label('a'),layer(5)];
$b FixedPoint(450,50)[color(0,150,0), label('b'),layer(5)];
$Jana Segment($a,$b)[color(0,150,0),thick,layer(10)];
$x Point on object($RL,-4)[red, label('x'),layer(5)];
$c Point on object($RL, 1.5)[red,label('c'),layer(5)];
FixedText(485, 45,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
$cx VectorTranslation($c,$x,$a)[magenta, label('cx')];
$AnBx AnimateButton(1, 1,'Animoi x')($x,$Jana)(2)(0)(0)[red, bold];
$AnBy AnimateButton(1,21,'Animoi c')($c,$Jana)(3)(0)(0)[red, bold,hidden];
Oheisessa dynaamisessa kuviossa voi liikutella hiirellä pisteitä
c ja x. Lisäksi voit käyttää animointia.
Kaikilla c ja x tulos cx on täysin määrätty luku,
mutta se ei kaikilla välin [a,b] arvoilla x kuulu välille [a,b],
joten kyseessä ei ole funktio R × [a,b] ® [a,b];
siis ei ole skaalausfunktio.
Esimerkki 4. Onko kyseessä joukon [a,b] alkioiden skaalaus saman joukon alkioilla?
${
4. Skaalaus välillä [a,b]
$}
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 500
#HEIGHT = 200
#ALIGN = Center
*Frame = 0
*TextFont = "Helvetica"
*TextBold = 1
*TextSize = 18
*LabelFont = "Courier"
*LabelBold = 1
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 1
*DirectedAngles = 0
*BackRed = 220
*BackGreen = 220
*BackBlue = 255
$reset FixedText(485,15,'Reset = ''R''')[red,bold,justifyRight];
FixedText(485, 45,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
FixedText(485,145,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
$RO FixedPoint(250,50)[ black, label('0')];
$Rykk FixedPoint(280,50)[ white, label('1')];
$RL Line($Rykk,$RO)[black];
$Rnumx Point on object($RL,-4)[red, label('x'),layer(5)];
$fRO FixedPoint(250,150)[ black, label('0')];
$fRykk FixedPoint(280,150)[ white, label('1')];
$fRL Line($fRykk,$fRO)[black];
$Rnumc Point on object($fRL, 3)[red,label('c'),layer(5)];
$xval Ratio/Points($RO,$Rykk,$Rnumx,0,40,'x = ')[red,bold,hidden];
$cval Ratio/Points($fRO,$fRykk,$Rnumc,0,40,'c = ')[blue,bold,hidden];
$cxval Calculate(0,70,'cx = ','A @cos_ B @sin_ *A*')($xval,$cval)[hidden];
$Rcx Dilation/MarkedRatio($Rykk,$RO,$cxval)[magenta, label('cx'),layer(10)];
$RcxTR Translation($Rcx,0,0)[magenta,hidden,traced];
$Sxcx Segment($Rcx,$Rnumx)[red, layer(20)];
$Sccx Segment($Rcx,$Rnumc)[red, layer(20)];
$vasen FixedPoint(100,50)[color(0,150,0),label('a')];
$oikea FixedPoint(400,50)[color(0,150,0),label('b')];
$SL Segment($oikea,$vasen)[color(0,150,0),thick,layer(10)];
$fvasen FixedPoint(100,150)[color(0,150,0),label('a')];
$foikea FixedPoint(400,150)[color(0,150,0),label('b')];
$fSL Segment($foikea,$fvasen)[color(0,150,0),thick,layer(10)];
$AnBx AnimateButton(1, 1,'Animoi x')($Rnumx,$SL)(2)(0)(0)[red, bold];
$AnBy AnimateButton(1,21,'Animoi c')($Rnumc,$SL)(3)(0)(0)[red, bold];
$SBTR ShowButton(200,170, 'Jäljitä')($RcxTR)[magenta];
$HBTR HideButton(240,170, 'Lopeta' )($RcxTR)[magenta];
Oheisessa dynaamisessa kuviossa voi liikutella hiirellä pisteitä
c ja x. Lisäksi voit käyttää animointia.
Kaikilla c ja x tulos cx on täysin määrätty luku,
joten kyseessä on funktio [a,b] × [a,b] ® [a,b];
kyseessä on välin [a,b] lukujen skaalaus saman välin luvuilla.
Esimerkki 5. Onko reaalilukujen skaalaus reaaliluvuilla?
${
5. Tavallinen skaalaus R:ssä
$}
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 500
#HEIGHT = 200
#ALIGN = Center
*Frame = 1
*TextFont = "Helvetica"
*TextBold = 1
*TextSize = 18
*LabelFont = "Courier"
*LabelBold = 1
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 1
*DirectedAngles = 0
*BackRed = 200
*BackGreen = 240
*BackBlue = 230
$reset FixedText(485,15,'Reset = ''R''')[red,bold,justifyRight];
FixedText(485, 45,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
FixedText(485,145,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
$RO FixedPoint(250,50)[ black, label('0')];
$Rykk FixedPoint(280,50)[ white, label('1')];
$RL Line($Rykk,$RO)[black];
$Rnumx Point on object($RL,2)[red, label('x'),layer(5)];
$fRO FixedPoint(250,150)[ black, label('0')];
$fRykk FixedPoint(280,150)[ white, label('1')];
$fRL Line($fRykk,$fRO)[black];
$Rnumc Point on object($fRL, 3)[red,label('c'),layer(5)];
$xval Ratio/Points($RO,$Rykk,$Rnumx,0,40,'x = ')[red,bold,hidden];
$cval Ratio/Points($fRO,$fRykk,$Rnumc,0,40,'c = ')[blue,bold,hidden];
$cxval Calculate(0,70,'cx = ','A B *')($xval,$cval)[hidden];
$Rcx Dilation/MarkedRatio($Rykk,$RO,$cxval)[magenta, label('cx'),layer(10)];
$RcxTR Translation($Rcx,0,0)[magenta,hidden,traced];
$Sxcx Segment($Rcx,$Rnumx)[red, layer(20)];
$Sccx Segment($Rcx,$Rnumc)[red, layer(20)];
$vasen FixedPoint(0,50)[color(0,150,0),label('a'),hidden];
$oikea FixedPoint(500,50)[color(0,150,0),label('b'),hidden];
$SL Segment($oikea,$vasen)[color(0,150,0),thick,layer(10),hidden];
$fvasen FixedPoint(0,150)[color(0,150,0),label('a'),hidden];
$foikea FixedPoint(500,150)[color(0,150,0),label('b'),hidden];
$fSL Segment($foikea,$fvasen)[color(0,150,0),thick,layer(10),hidden];
$AnBx AnimateButton(1, 1,'Animoi x')($Rnumx,$SL)(2)(0)(0)[red, bold];
$AnBy AnimateButton(1,21,'Animoi c')($Rnumc,$SL)(3)(0)(0)[red, bold];
$SBTR ShowButton(200,170, 'Jäljitä')($RcxTR)[magenta];
$HBTR HideButton(240,170, 'Lopeta' )($RcxTR)[magenta];
Oheisessa dynaamisessa kuviossa voi liikutella hiirellä pisteitä
c ja x. Lisäksi voit käyttää animointeja.
Kaikilla c ja x tulos cx on täysin määrätty luku,
joten kyseessä on funktio R × R ® R;
siis reaalivektorien (-lukujen) skaalaus joukon R alkioilla.
Nyt kyseessä on tavallinen skaalaus (kertolasku).
Esimerkki 6. Onko reaalilukujen skaalaus sopivalla lukujoukolla?
${
5. Joukolla {-1,0,1} skaalaaminen
$}
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 500
#HEIGHT = 200
#ALIGN = Center
*Frame = 1
*TextFont = "Helvetica"
*TextBold = 1
*TextSize = 18
*LabelFont = "Courier"
*LabelBold = 1
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 1
*DirectedAngles = 0
*BackRed = 230
*BackGreen = 255
*BackBlue = 180
$reset FixedText(485,15,'Reset = ''R''')[red,bold,justifyRight];
FixedText(485, 45,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
FixedText(485,145,'R')[plain,font('Helvetica'),bold, black,justifyCenter];
$RO FixedPoint(250,50)[ black, label('0')];
$Rykk FixedPoint(280,50)[ white, label('1')];
$RL Line($Rykk,$RO)[black];
$Rnumx Point on object($RL,-4)[red, label('x'),layer(5)];
$cRO FixedPoint(250,150)[ black, label('0')];
$cRm1 FixedPoint(220,150)[ white, label('-1')];
$cR1 FixedPoint(280,150)[ white, label('1')];
$cRL Line($cR1,$cRO)[black];
$c Point on object($cRL, 3)[red,label('c'),layer(5)];
$DccRm1 Distance($cRm1,$c,10,10,'d(c,cRm1) = ')[hidden];
$ind1 Calculate(10,20,'luku1 = ','0A-1+@sqrt')($DccRm1)[hidden];
$cRm1trans Translation/FixedAngle/MarkedDistance($cRm1,$ind1,0)[magenta];
$cRm1transVal Ratio/Points($cRO,$cR1,$cRm1trans,0,40,'x = ')[red,bold,hidden];
$DccRO Distance($cRO,$c,10,10,'d(c,cRO) = ')[hidden];
$ind2 Calculate(10,20,'luku2 = ','0A-1+@sqrt')($DccRO)[hidden];
$cROtrans Translation/FixedAngle/MarkedDistance($cRO,$ind2,0)[magenta];
$cROtransVal Ratio/Points($cRO,$cR1,$cROtrans,0,40,'x = ')[red,bold,hidden];
$DccR1 Distance($cR1,$c,10,10,'d(c,cR1) = ')[hidden];
$ind3 Calculate(10,20,'luku2 = ','0A-1+@sqrt')($DccR1)[hidden];
$cR1trans Translation/FixedAngle/MarkedDistance($cR1,$ind3,0)[magenta];
$cR1transVal Ratio/Points($cRO,$cR1,$cR1trans,0,40,'x = ')[red,bold,hidden];
$xval Ratio/Points($RO,$Rykk,$Rnumx,0,40,'x = ')[red,bold,hidden];
$cxvalm1 Calculate(0,70,'cx = ','A B *')($xval,$cRm1transVal)[hidden];
$cxvalO Calculate(0,70,'cx = ','A B *')($xval,$cROtransVal)[hidden];
$cxval1 Calculate(0,70,'cx = ','A B *')($xval,$cR1transVal)[hidden];
$Rcxm1 Dilation/MarkedRatio($Rykk,$RO,$cxvalm1)[magenta, label('cx'),layer(10)];
$Rcxm1TR Translation($Rcxm1,0,0)[magenta,hidden,traced];
$RcxO Dilation/MarkedRatio($Rykk,$RO,$cxvalO)[magenta, label('cx'),layer(10)];
$RcxOTR Translation($RcxO,0,0)[magenta,hidden,traced];
$Rcx1 Dilation/MarkedRatio($Rykk,$RO,$cxval1)[magenta, label('cx'),layer(10)];
$Rcx1TR Translation($Rcx1,0,0)[magenta,hidden,traced];
$Sxcxm1 Segment($Rcxm1,$Rnumx)[red, layer(20)];
$SxcxO Segment($RcxO,$Rnumx)[red, layer(20)];
$Sxcx1 Segment($Rcx1,$Rnumx)[red, layer(20)];
$Sccxm1 Segment($Rcxm1,$c)[red, layer(20)];
$SccxO Segment($RcxO,$c)[red, layer(20)];
$Sccx1 Segment($Rcx1,$c)[red, layer(20)];
$vasen FixedPoint(0,50)[color(0,150,0),label('a'),hidden];
$oikea FixedPoint(500,50)[color(0,150,0),label('b'),hidden];
$SL Segment($oikea,$vasen)[color(0,150,0),thick,layer(10),hidden];
$fvasen FixedPoint(0,150)[color(0,150,0),label('a'),hidden];
$foikea FixedPoint(500,150)[color(0,150,0),label('b'),hidden];
$fSL Segment($foikea,$fvasen)[color(0,150,0),thick,layer(10),hidden];
$AnBx AnimateButton(1, 1,'Animoi x')($Rnumx,$SL)(2)(0)(0)[red, bold];
$AnBy AnimateButton(1,21,'Animoi c')($c,$fSL)(3)(0)(0)[red, bold];
$SBTR ShowButton(200,170, 'Jäljitä')($Rcxm1TR,$RcxOTR,$Rcx1TR)[magenta];
$HBTR HideButton(240,170, 'Lopeta' )($Rcxm1TR,$RcxOTR,$Rcx1TR)[magenta];
Oheisessa dynaamisessa kuviossa voi liikutella hiirellä pisteitä
c ja x. Lisäksi voit käyttää animointeja.
Tulos cx on määritelty vain arvoilla c = -1, 0 ja 1.
Kun valitaan kerroinkunnaksi K = {-1, 0, 1}, saadaan
funktio K × R ® R;
siis reaalivektorien (-lukujen) skaalaus joukon K alkioilla.
Martti.Pesonen@Joensuu.Fi 2003