{{ stepNode.name }}
| {{ 'ml-lesson-number-slides' | message : article.intro.bblockCount}} |
| {{ 'ml-lesson-number-exercises' | message : article.intro.exerciseCount}} |
| {{ 'ml-lesson-time-estimation' | message }} |
Jonas (Diskussion | bidrag) | Karin.hedin@osteraker.se (Diskussion | bidrag) | ||
(4 mellanliggande versioner av 3 användare visas inte) | |||
Rad 2: | Rad 2: | ||
Varför ligger två punkter med samma $y$-värde lika långt från symmetrilinjen?</translate></hbox> | Varför ligger två punkter med samma $y$-värde lika långt från symmetrilinjen?</translate></hbox> | ||
<translate><!--T:2--> | <translate><!--T:2--> | ||
− | För en [[Misc: | + | För en [[Misc:Andragradsfunktioner och deras grafer|andragradskurva]] gäller det att två punkter med '''samma''' $y$-värde alltid befinner sig lika långt från funktionens [[Symmetrilinje - andragradskurva *Wordlist*|symmetrilinje]].</translate> |
<jsxgpre id="varfor_ligger_tva_punkter_med_samma"> | <jsxgpre id="varfor_ligger_tva_punkter_med_samma"> | ||
Rad 12: | Rad 12: | ||
− | var b = mlg.board([xLeft,yTop,xRight,yBottom],{grid: | + | var b = mlg.board([xLeft,yTop,xRight,yBottom],{grid:0}); |
var xax = b.xaxis(1,0); | var xax = b.xaxis(1,0); | ||
var yax = b.yaxis(1,0); | var yax = b.yaxis(1,0); | ||
Rad 58: | Rad 58: | ||
var n1 = b.node(symX + labelDist, function() {return p1.Y();}); | var n1 = b.node(symX + labelDist, function() {return p1.Y();}); | ||
var n2 = b.node(symX - labelDist, function() {return p2.Y();}); | var n2 = b.node(symX - labelDist, function() {return p2.Y();}); | ||
− | var label3 = b.midpoint([n,n1],{name:xDist,opacity:0,withlabel:true,mathMode:false,label:{position:'n',mathMode:false}}); | + | var label3 = b.midpoint([n,n1],{name:xDist,opacity:0,withlabel:true,mathMode:false,label:{position:'n',mathMode:false,opacity:0}}); |
− | var label4 = b.midpoint([n,n2],{name:xDist,opacity:0,withlabel:true,mathMode:false,label:{position:'n',mathMode:false}}); | + | var label4 = b.midpoint([n,n2],{name:xDist,opacity:0,withlabel:true,mathMode:false,label:{position:'n',mathMode:false,opacity:0}}); |
b.hide(label3); | b.hide(label3); | ||
b.hide(label4); | b.hide(label4); | ||
Rad 69: | Rad 69: | ||
Dra mig</translate>!',{anchor:p2}); | Dra mig</translate>!',{anchor:p2}); | ||
− | + | var showstate = 1; | |
+ | var flyttashow = true; | ||
p1.on('drag', function() { | p1.on('drag', function() { | ||
− | b.hide([flyttaMig, flyttaMig2]); | + | if(flyttashow){ |
+ | b.hide([flyttaMig, flyttaMig2]); | ||
+ | flyttashow = false; | ||
+ | } | ||
if (p1.X() < xLimDown) { | if (p1.X() < xLimDown) { | ||
Rad 84: | Rad 88: | ||
if (Math.abs(p1.X() - p2.X()) < 2*labelDist) { | if (Math.abs(p1.X() - p2.X()) < 2*labelDist) { | ||
− | + | if(showstate == 1){ | |
− | b.hide(label1); | + | b.hide(label2.label); |
− | b.show(label3); | + | b.hide(label1.label); |
− | b.show(label4); | + | b.show(label3.label); |
+ | b.show(label4.label); | ||
arrow1.setAttribute({lastArrow:false}); | arrow1.setAttribute({lastArrow:false}); | ||
arrow2.setAttribute({lastArrow:false}); | arrow2.setAttribute({lastArrow:false}); | ||
arrow1.setAttribute({firstArrow:false}); | arrow1.setAttribute({firstArrow:false}); | ||
arrow2.setAttribute({firstArrow:false}); | arrow2.setAttribute({firstArrow:false}); | ||
+ | showstate = 2; | ||
+ | } | ||
+ | |||
} | } | ||
else { | else { | ||
− | + | if(showstate == 2){ | |
− | b.show(label1); | + | b.show(label2.label); |
− | b.hide(label3); | + | b.show(label1.label); |
− | b.hide(label4); | + | b.hide(label3.label); |
+ | b.hide(label4.label); | ||
arrow1.setAttribute({lastArrow:true}); | arrow1.setAttribute({lastArrow:true}); | ||
arrow2.setAttribute({lastArrow:true}); | arrow2.setAttribute({lastArrow:true}); | ||
arrow1.setAttribute({firstArrow:true}); | arrow1.setAttribute({firstArrow:true}); | ||
arrow2.setAttribute({firstArrow:true}); | arrow2.setAttribute({firstArrow:true}); | ||
+ | showstate = 1; | ||
+ | } | ||
} | } | ||
}); | }); | ||
p2.on('drag', function() { | p2.on('drag', function() { | ||
− | + | if(flyttashow){ | |
+ | b.hide([flyttaMig, flyttaMig2]); | ||
+ | flyttashow = false; | ||
+ | } | ||
+ | |||
if (p2.X() < xLimDown) { | if (p2.X() < xLimDown) { | ||
Rad 118: | Rad 133: | ||
if (Math.abs(p1.X() - p2.X()) < 2*labelDist) { | if (Math.abs(p1.X() - p2.X()) < 2*labelDist) { | ||
− | + | if(showstate == 1){ | |
− | b.hide(label1); | + | b.hide(label2.label); |
− | b.show(label3); | + | b.hide(label1.label); |
− | b.show(label4); | + | b.show(label3.label); |
+ | b.show(label4.label); | ||
arrow1.setAttribute({lastArrow:false}); | arrow1.setAttribute({lastArrow:false}); | ||
arrow2.setAttribute({lastArrow:false}); | arrow2.setAttribute({lastArrow:false}); | ||
arrow1.setAttribute({firstArrow:false}); | arrow1.setAttribute({firstArrow:false}); | ||
arrow2.setAttribute({firstArrow:false}); | arrow2.setAttribute({firstArrow:false}); | ||
+ | showstate = 2; | ||
+ | } | ||
+ | |||
} | } | ||
else { | else { | ||
− | + | if(showstate == 2){ | |
− | b.show(label1); | + | b.show(label2.label); |
− | b.hide(label3); | + | b.show(label1.label); |
− | b.hide(label4); | + | b.hide(label3.label); |
+ | b.hide(label4.label); | ||
arrow1.setAttribute({lastArrow:true}); | arrow1.setAttribute({lastArrow:true}); | ||
arrow2.setAttribute({lastArrow:true}); | arrow2.setAttribute({lastArrow:true}); | ||
arrow1.setAttribute({firstArrow:true}); | arrow1.setAttribute({firstArrow:true}); | ||
arrow2.setAttribute({firstArrow:true}); | arrow2.setAttribute({firstArrow:true}); | ||
+ | showstate = 1; | ||
+ | } | ||
} | } | ||
}); | }); | ||
Rad 153: | Rad 175: | ||
Symmetrilinjen till $f(x)$ ges av $pq$-formelns första term, $x=\N \frac{p}{2}.$ Principen bakom $pq$-formeln är att, precis som ovan, hitta de punkter som ligger på samma avstånd från symmetrilinjen och har samma $y$-värde, i det här fallet $0$. | Symmetrilinjen till $f(x)$ ges av $pq$-formelns första term, $x=\N \frac{p}{2}.$ Principen bakom $pq$-formeln är att, precis som ovan, hitta de punkter som ligger på samma avstånd från symmetrilinjen och har samma $y$-värde, i det här fallet $0$. | ||
</translate> | </translate> | ||
− | <jsxgpre id="why_andragradsfunktionens_symmetrilinje_1" > | + | <jsxgpre id="why_andragradsfunktionens_symmetrilinje_1" static=1> |
b=mlg.board([-1.5,8,11.5,-1.5],{desktopSize:'medium'}); | b=mlg.board([-1.5,8,11.5,-1.5],{desktopSize:'medium'}); | ||
b.xaxis(50,0,'x'); | b.xaxis(50,0,'x'); |
För att motivera det kan man använda egenskapen att andragradskurvor är spegelsymmetriska kring sin symmetrilinje. Om man tänker sig att man speglar en punkt i symmetrilinjen kommer den avbildas på andra sidan på lika långt från linjen i x-led, och på samma höjd i y-led. Därför gäller även det omvända: punkter på samma y-värde ligger lika långt ifrån symmetrilinjen.
Man är alltså ute efter kurvans nollställen, och dem hittar man genom att addera respektive subtrahera kvadratroten ur diskriminanten från symmetrilinjen.