Näherungsgleichung
Aus Wiki1
(Unterschied zwischen Versionen)
(Die Seite wurde neu angelegt: „{{SUBST::Verbrennungsrechnung Gase}}“) |
|||
(Der Versionsvergleich bezieht 19 dazwischenliegende Versionen mit ein.) | |||
Zeile 1: | Zeile 1: | ||
- | |||
Mit Hilfe des Programmpakets JSXGraph (siehe http://jsxgraph.uni-bayreuth.de/wp/) können komplexe, interaktive Grafiken nur mit Hilfe von JavaScript in Webseiten integriert werden. | Mit Hilfe des Programmpakets JSXGraph (siehe http://jsxgraph.uni-bayreuth.de/wp/) können komplexe, interaktive Grafiken nur mit Hilfe von JavaScript in Webseiten integriert werden. | ||
- | Damit lassen sich auch ingenieurtechnische Fragen in "smarten" Apps realisieren | + | Damit lassen sich auch ingenieurtechnische Fragen in "smarten" Apps realisieren. |
- | + | Das folgende Beispiel dient der Ermittlung einer Näherungsgleichung für 5 gegebene Punkte. Die Punkte können mit der Maus verschoben werden. Mit dem Schieberegler kann der Grad des Näherungs-Polynoms verändert werden. Um das Diagramm universell einsetzen zu können, sind die Achsen normiert (-1/+1). (Näherungspolynom Polynome Interpolation Näherungsfunktion) | |
- | + | <jsxgraph box="jxgbox" width="700" height="500"> | |
+ | //Eingabe | ||
+ | var p1xy=[0.5,0.5]; | ||
+ | var p2xy=[0,0]; | ||
+ | var p3xy=[-0.5,-0.5]; | ||
+ | var p4xy=[-0.6,-0.6]; | ||
+ | var p5xy=[-0.7,-0.7]; | ||
- | + | brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox:[-1.1, 1.1, 1.1, -1.1], grid: true, axis:true}); | |
+ | //Punkte | ||
+ | var p1 = brd.createElement('point',p1xy,{name:'A', style:5}); | ||
+ | var p2 = brd.createElement('point',p2xy,{name:'B', style:5}); | ||
+ | var p3 = brd.createElement('point',p3xy,{name:'C', style:5}); | ||
+ | var p4 = brd.createElement('point',p4xy,{name:'D', style:5}); | ||
+ | var p5 = brd.createElement('point',p5xy,{name:'E', style:5}); | ||
+ | data = []; | ||
+ | datax = []; | ||
+ | datax[0] = function(){ return p1.X();}; | ||
+ | datax[1] = function(){ return p2.X();}; | ||
+ | datax[2] = function(){ return p3.X();}; | ||
+ | datax[3] = function(){ return p4.X();}; | ||
+ | datax[4] = function(){ return p5.X();}; | ||
+ | data[0]= function(){ return p1.Y();}; | ||
+ | data[1]= function(){ return p2.Y();}; | ||
+ | data[2]= function(){ return p3.Y();}; | ||
+ | data[3]= function(){ return p4.Y();}; | ||
+ | data[4]= function(){ return p5.Y();}; | ||
- | + | s = 1; | |
- | + | deg = brd.createElement('slider',[[0.10,-0.3],[0.4,-0.3],[1,2,4]],{name:'Polynomgrad',snapWidth:1}); | |
- | + | ||
- | + | curve = brd.createElement('curve',[datax,data],{strokeColor:'gray',dash:2}); | |
- | + | curve.updateDataArray = function() { | |
- | + | var i, len = data.length; | |
- | + | for(i=0;i<len;i++) { this.dataY[i] = data[i]; } | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | var | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
} | } | ||
+ | regressionPolynomial = JXG.Math.Numerics.regressionPolynomial(deg,datax,curve.dataY); | ||
+ | // generateFunction(); | ||
- | + | reg = brd.createElement('functiongraph',[regressionPolynomial],{strokeColor:'black'}); | |
- | + | ||
- | + | des1 = brd.createElement('text',[-0.4,0.4,function(){ return "x = -1 bis 1";}],{strokeColor:'black',fontSize:'14px'}); | |
- | + | des2 = brd.createElement('text',[-0.4,0.3,function(){ return "y = -1 bis 1";}],{strokeColor:'black',fontSize:'14px'}); | |
- | + | </jsxgraph> | |
- | + | <jsxgraph box="jxg2box" width="700" height="200"> | |
- | + | brd2 = JXG.JSXGraph.initBoard('jxg2box', {boundingbox:[-1.1, 2.1, 2.1, -1.1], grid: false, axis:false, showCopyright:false, showNavigation:false}); | |
- | + | brd.addChild(brd2); | |
- | + | H1 = brd2.createElement('text',[-0.8,1.8,"Vorgegebene Punkte"],{strokeColor:'black',fontSize:'14px'}); | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | brd.createElement('text',[ | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | brd. | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | xA = brd2.createElement('text',[-0.8,1.4,function(){ return "Ax = " + Math.round(10000*p1.X())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | xB = brd2.createElement('text',[-0.8,1.2,function(){ return "Bx = " + Math.round(10000*p2.X())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | xC = brd2.createElement('text',[-0.8,1.0,function(){ return "Cx = " + Math.round(10000*p3.X())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | xD = brd2.createElement('text',[-0.8,0.8,function(){ return "Dx = " + Math.round(10000*p4.X())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | xE = brd2.createElement('text',[-0.8,0.6,function(){ return "Ex = " + Math.round(10000*p5.X())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | yA = brd2.createElement('text',[-0.1,1.4,function(){ return "Ay = " + Math.round(10000*p1.Y())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | yB = brd2.createElement('text',[-0.1,1.2,function(){ return "By = " + Math.round(10000*p2.Y())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | yC = brd2.createElement('text',[-0.1,1.0,function(){ return "Cy = " + Math.round(10000*p3.Y())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | yD = brd2.createElement('text',[-0.1,0.8,function(){ return "Dy = " + Math.round(10000*p4.Y())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | yE = brd2.createElement('text',[-0.1,0.6,function(){ return "Ey = " + Math.round(10000*p5.Y())/10000;}],{strokeColor:'black',fontSize:'14px'}); | ||
+ | H2 = brd2.createElement('text',[-0.8,-0.4,"Näherungsgleichung"],{strokeColor:'black',fontSize:'14px'}); | ||
+ | t = brd2.createElement('text',[-0.8,-0.8,function(){ return "Polynom f(x) = " + regressionPolynomial.getTerm();}],{strokeColor:'black',fontSize:'14px'}); | ||
</jsxgraph> | </jsxgraph> | ||
- | |||
- | |||
- | |||
[[Kategorie:Technik]] | [[Kategorie:Technik]] |
Aktuelle Version vom 10:08, 20. Feb. 2017
Mit Hilfe des Programmpakets JSXGraph (siehe http://jsxgraph.uni-bayreuth.de/wp/) können komplexe, interaktive Grafiken nur mit Hilfe von JavaScript in Webseiten integriert werden.
Damit lassen sich auch ingenieurtechnische Fragen in "smarten" Apps realisieren.
Das folgende Beispiel dient der Ermittlung einer Näherungsgleichung für 5 gegebene Punkte. Die Punkte können mit der Maus verschoben werden. Mit dem Schieberegler kann der Grad des Näherungs-Polynoms verändert werden. Um das Diagramm universell einsetzen zu können, sind die Achsen normiert (-1/+1). (Näherungspolynom Polynome Interpolation Näherungsfunktion)