<iframe src="http://jsxgraph.org/share/iframe/complex-root-of-polynomial-with-real-coefficients-dynamic" style="border: 1px solid black; overflow: hidden; width: 550px; aspect-ratio: 55 / 65;" name="JSXGraph example: Complex roots of polynomial with real coefficients (dynamic)" allowfullscreen ></iframe>
<div id="board-0-wrapper" class="jxgbox-wrapper " style="width: 100%; "> <div id="board-0" class="jxgbox" style="aspect-ratio: 1 / 1; width: 100%;" data-ar="1 / 1"></div> </div> <script type = "text/javascript"> /* This example is licensed under a Creative Commons Attribution ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/ Please note you have to mention The Center of Mobile Learning with Digital Technology in the credits. */ const BOARDID = 'board-0'; const board = JXG.JSXGraph.initBoard(BOARDID, { boundingbox: [-9, 9, 9, -9], axis: true, defaultAxes: { x: { name: 'real part', withLabel: true, label: { position: 'rt', offset: [-5, 15], anchorX: 'right' } }, y: { withLabel: true, name: 'imaginary part', label: { position: 'rt', offset: [5, -5], anchorY: 'top' } } }, }); // Coefficients [a_o, ..., a_n] of a polynomial, // starting with a_0, a_1, ... var coefficients = [-1, 3, -9, 1, 0, 0, -8, 9, -9, 1]; // Manipulate coefficients a_7 and a_8 var a8 = board.create('slider', [ [0, 7], [6, 7], [-10, -9, 10] ], { name: 'a_8', snapWidth: 0.1, snapValues: [0], snapValueDistance: 0.4 }); var a7 = board.create('slider', [ [0, 6], [6, 6], [-10, 9, 10] ], { name: 'a_7', snapWidth: 0.1, snapValues: [0], snapValueDistance: 0.4 }); var i; for (i = 0; i < 9; i++) { board.create('point', [ (function(ii) { return function() { coefficients[7] = a7.Value(); coefficients[8] = a8.Value(); let roots = JXG.Math.Numerics.polzeros(coefficients); return [roots[ii].real, roots[ii].imaginary]; } })(i) ], { withLabel: false }); } board.create('text', [-8, -5, () => JXG.Math.Numerics.generatePolynomialTerm(coefficients, coefficients.length - 1, 'x', 1)], {fixed: true}); </script>
/* This example is licensed under a Creative Commons Attribution ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/ Please note you have to mention The Center of Mobile Learning with Digital Technology in the credits. */ const BOARDID = 'your_div_id'; // Insert your id here! const board = JXG.JSXGraph.initBoard(BOARDID, { boundingbox: [-9, 9, 9, -9], axis: true, defaultAxes: { x: { name: 'real part', withLabel: true, label: { position: 'rt', offset: [-5, 15], anchorX: 'right' } }, y: { withLabel: true, name: 'imaginary part', label: { position: 'rt', offset: [5, -5], anchorY: 'top' } } }, }); // Coefficients [a_o, ..., a_n] of a polynomial, // starting with a_0, a_1, ... var coefficients = [-1, 3, -9, 1, 0, 0, -8, 9, -9, 1]; // Manipulate coefficients a_7 and a_8 var a8 = board.create('slider', [ [0, 7], [6, 7], [-10, -9, 10] ], { name: 'a_8', snapWidth: 0.1, snapValues: [0], snapValueDistance: 0.4 }); var a7 = board.create('slider', [ [0, 6], [6, 6], [-10, 9, 10] ], { name: 'a_7', snapWidth: 0.1, snapValues: [0], snapValueDistance: 0.4 }); var i; for (i = 0; i < 9; i++) { board.create('point', [ (function(ii) { return function() { coefficients[7] = a7.Value(); coefficients[8] = a8.Value(); let roots = JXG.Math.Numerics.polzeros(coefficients); return [roots[ii].real, roots[ii].imaginary]; } })(i) ], { withLabel: false }); } board.create('text', [-8, -5, () => JXG.Math.Numerics.generatePolynomialTerm(coefficients, coefficients.length - 1, 'x', 1)], {fixed: true});
<jsxgraph width="100%" aspect-ratio="1 / 1" title="Complex roots of polynomial with real coefficients (dynamic)" description="This construction was copied from JSXGraph examples database: BTW HERE SHOULD BE A GENERATED LINKuseGlobalJS="false"> /* This example is licensed under a Creative Commons Attribution ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/ Please note you have to mention The Center of Mobile Learning with Digital Technology in the credits. */ const board = JXG.JSXGraph.initBoard(BOARDID, { boundingbox: [-9, 9, 9, -9], axis: true, defaultAxes: { x: { name: 'real part', withLabel: true, label: { position: 'rt', offset: [-5, 15], anchorX: 'right' } }, y: { withLabel: true, name: 'imaginary part', label: { position: 'rt', offset: [5, -5], anchorY: 'top' } } }, }); // Coefficients [a_o, ..., a_n] of a polynomial, // starting with a_0, a_1, ... var coefficients = [-1, 3, -9, 1, 0, 0, -8, 9, -9, 1]; // Manipulate coefficients a_7 and a_8 var a8 = board.create('slider', [ [0, 7], [6, 7], [-10, -9, 10] ], { name: 'a_8', snapWidth: 0.1, snapValues: [0], snapValueDistance: 0.4 }); var a7 = board.create('slider', [ [0, 6], [6, 6], [-10, 9, 10] ], { name: 'a_7', snapWidth: 0.1, snapValues: [0], snapValueDistance: 0.4 }); var i; for (i = 0; i < 9; i++) { board.create('point', [ (function(ii) { return function() { coefficients[7] = a7.Value(); coefficients[8] = a8.Value(); let roots = JXG.Math.Numerics.polzeros(coefficients); return [roots[ii].real, roots[ii].imaginary]; } })(i) ], { withLabel: false }); } board.create('text', [-8, -5, () => JXG.Math.Numerics.generatePolynomialTerm(coefficients, coefficients.length - 1, 'x', 1)], {fixed: true}); </jsxgraph>
// Define the id of your board in BOARDID const board = JXG.JSXGraph.initBoard(BOARDID, { boundingbox: [-9, 9, 9, -9], axis: true, defaultAxes: { x: { name: 'real part', withLabel: true, label: { position: 'rt', offset: [-5, 15], anchorX: 'right' } }, y: { withLabel: true, name: 'imaginary part', label: { position: 'rt', offset: [5, -5], anchorY: 'top' } } }, }); // Coefficients [a_o, ..., a_n] of a polynomial, // starting with a_0, a_1, ... var coefficients = [-1, 3, -9, 1, 0, 0, -8, 9, -9, 1]; // Manipulate coefficients a_7 and a_8 var a8 = board.create('slider', [ [0, 7], [6, 7], [-10, -9, 10] ], { name: 'a_8', snapWidth: 0.1, snapValues: [0], snapValueDistance: 0.4 }); var a7 = board.create('slider', [ [0, 6], [6, 6], [-10, 9, 10] ], { name: 'a_7', snapWidth: 0.1, snapValues: [0], snapValueDistance: 0.4 }); var i; for (i = 0; i < 9; i++) { board.create('point', [ (function(ii) { return function() { coefficients[7] = a7.Value(); coefficients[8] = a8.Value(); let roots = JXG.Math.Numerics.polzeros(coefficients); return [roots[ii].real, roots[ii].imaginary]; } })(i) ], { withLabel: false }); } board.create('text', [-8, -5, () => JXG.Math.Numerics.generatePolynomialTerm(coefficients, coefficients.length - 1, 'x', 1)], {fixed: true});
This example is licensed under a Creative Commons Attribution ShareAlike 4.0 International License. Please note you have to mention The Center of Mobile Learning with Digital Technology in the credits.