Difference between revisions of "Applets:Periodendauer periodischer Signale"

From LNTwww
Line 1: Line 1:
<p>
+
<!DOCTYPE html>
{{BlaueBox|TEXT=
 
<B style="font-size:18px">Funktion:</B>
 
$$x(t) = A_1\cdot cos\Big(2\pi f_1\cdot t- \frac{2\pi}{360}\cdot \phi_1\Big)+A_2\cdot cos\Big(2\pi f_2\cdot t- \frac{2\pi}{360}\cdot \phi_2\Big)$$
 
}}
 
</p>
 
 
 
 
<html>
 
<html>
 
<head>
 
<head>
    <meta charset="utf-8" />
 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jsxgraph/0.99.6/jsxgraphcore.js"></script>
 
    <!-- <script type="text/javascript" src="https://en.lntwww.de/MathJax/unpacked/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full,local/mwMathJaxConfig"></script> -->
 
    <!-- <script type="text/javascript" src="https://cdn.rawgit.com/mathjax/MathJax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full"></script> -->
 
 
<style>
 
<style>
         .button {
+
         .wrapper{
            background-color: black;
+
          display:grid;
            border: none;
+
          grid-template-columns: 70% 30%;
            color: white;
+
          grid-column-gap:1em;
            font-family: arial;
 
            padding: 8px 20px;
 
            text-align: center;
 
            text-decoration: none;
 
            display: inline-block;
 
            font-size: 16px;
 
            border-radius: 15px;
 
 
         }
 
         }
        .button:active {
 
            background-color: #939393;
 
        }
 
  </style>
 
</head>
 
 
<body onload="drawNow()">
 
<!-- Resetbutton, Checkbox und Formel -->
 
<p>
 
    <input type="checkbox" id="gridbox" onclick="showgrid();" checked> <label for="gridbox">Gitterlinien Zeigen</label>
 
    <button class="button" onclick="drawNow();">Reset</button>
 
</p>
 
<div id="cnfBoxHtml" class="jxgbox" style="width:600px; height:150px;  float:top; margin:-10px 20px 100px 0px;"></div>
 
<div id="pltBoxHtml" class="jxgbox" style="width:600px; height:600px; border:1px solid black; margin:-100px 20px 10px 0px;"></div>
 
 
<!-- Ausgabefelder -->
 
 
<table>
 
    <tr>
 
        <td>$x(t)$= <span id="x(t)"></span>  $\quad$ </td>
 
        <td>$x(t+ T_0)$= <span id="x(t+T_0)"></span>  $\quad$ </td>
 
        <td>$x(t+2T_0)$= <span id="x(t+2T_0)"></span>  $\quad$ </td>
 
        <td>$x_{\text{max}}$= <span id="x_max"></span>  $\quad$ </td>
 
        <td style="color:blue;">$T_0$= <span id="T_0"></span>  $\quad$ </td>
 
    </tr>
 
</table>
 
  
 
+
         .wrapper >div{
<script type="text/javascript">
+
          background:#eee;
function drawNow() {
+
          padding:1em
        // Grundeinstellungen der beiden Applets
 
         JXG.Options.text.useMathJax = true;
 
        cnfBox = JXG.JSXGraph.initBoard('cnfBoxHtml', {
 
            showCopyright: false, showNavigation: false, axis: false,
 
            grid: false, zoom: { enabled: false }, pan: { enabled: false },
 
            boundingbox: [-1, 2.2, 12.4, -2.2]
 
        });
 
        pltBox = JXG.JSXGraph.initBoard('pltBoxHtml', {
 
            showCopyright: false, axis: false,
 
            zoom: { factorX: 1.1, factorY: 1.1, wheel: true, needshift: true, eps: 0.1 },
 
            grid: false, boundingbox: [-0.5, 2.2, 12.4, -2.2]
 
        });
 
        cnfBox.addChild(pltBox);
 
        // Einstellungen der Achsen
 
        xaxis = pltBox.create('axis', [[0, 0], [1, 0]], {
 
            name: '$\\dfrac{t}{T}$',
 
            withLabel: true, label: { position: 'rt', offset: [-25, -10] }
 
        });
 
        yaxis = pltBox.create('axis', [[0, 0], [0, 1]], {
 
            name: '$x(t)$',
 
            withLabel: true, label: { position: 'rt', offset: [10, -5] }
 
        });
 
        // Erstellen der Schieberegler
 
        sldA1 = cnfBox.create('slider', [ [-0.7, 1.5], [3, 1.5], [0, 0.5, 1] ], {
 
            suffixlabel: '$A_1=$',
 
            unitLabel: 'V', snapWidth: 0.01
 
            }),
 
        sldF1 = cnfBox.create('slider', [ [-0.7, 0.5], [3, 0.5], [0, 1, 10] ], {
 
            suffixlabel: '$f_1=$',
 
            unitLabel: 'kHz', snapWidth: 0.1
 
        }),
 
        sldPHI1 = cnfBox.create('slider', [ [-0.7, -0.5], [3, -0.5], [-180, 0, 180] ], {
 
            suffixlabel: '$\\phi_1=$',
 
            unitLabel: 'Grad', snapWidth: 5
 
        }),
 
        sldA2 = cnfBox.create('slider', [ [6, 1.5], [9.7, 1.5], [0, 0.5, 1] ], {
 
            suffixlabel: '$A_2=$',
 
            unitLabel: 'V', snapWidth: 0.01
 
        }),
 
        sldF2 = cnfBox.create('slider', [ [6, 0.5], [9.7, 0.5], [0, 2, 10] ], {
 
            suffixlabel: '$f_2=$',
 
            unitLabel: 'kHz', snapWidth: 0.1
 
        }),
 
        sldPHI2 = cnfBox.create('slider', [ [6, -0.5], [9.7, -0.5], [-180, 90, 180] ], {
 
            suffixlabel: '$\\phi_2=$',
 
            unitLabel: 'Grad', snapWidth: 5
 
        }),
 
        sldT = cnfBox.create('slider', [ [-0.7, -1.5], [3, -1.5], [0, 0, 10] ], {
 
            suffixlabel: '$t=$',
 
            unitLabel: 's', snapWidth: 0.2
 
        }),
 
        // Definition der Funktion
 
        signaldarstellung = pltBox.create('functiongraph', [function(x) {
 
            return (sldA1.Value() * Math.cos(2 * Math.PI * sldF1.Value() * x - 2 * Math.PI * sldPHI1.Value() / 360) + sldA2.Value() * Math.cos(2 * Math.PI * sldF2.Value() * x - 2 * Math.PI * sldPHI2.Value() / 360))
 
        }], {
 
            strokeColor: "red"
 
        });
 
        // Definition des Punktes p_T0, des Hilfspunktes p_T0h und der Geraden l_T0 für Periodendauer T_0
 
        p_T0 = pltBox.create('point', [
 
            function() {
 
                return (Math.round(getT0() * 100) / 100);
 
            },
 
            function() {
 
                return sldA1.Value() * Math.cos(2 * Math.PI * sldF1.Value() * (Math.round(getT0() * 100) / 100) - 2 * Math.PI * sldPHI1.Value() / 360) +
 
                    sldA2.Value() * Math.cos(2 * Math.PI * sldF2.Value() * (Math.round(getT0() * 100) / 100) - 2 * Math.PI * sldPHI2.Value() / 360);
 
            }],
 
            { color: "blue", fixed: true, label: false, size: 1, name: '' }
 
        );
 
        p_T0h = pltBox.create('point',
 
            [function() { return (Math.round(getT0() * 100) / 100); }, 2],
 
            { visible: false, color: "blue", fixed: true, label: false, size: 1, name: '' }
 
        );
 
        l_T0 = pltBox.create('line', [p_T0, p_T0h])
 
        // Bestimmung des Wertes T_0 mit der Funktion von Siebenwirth
 
        setInterval(function() {
 
            document.getElementById("T_0").innerHTML = Math.round(getT0() * 100) / 100;
 
          }, 50);
 
        function isInt(n) {
 
            return n % 1 === 0;
 
 
         }
 
         }
         function getT0() {
+
         .wrapper >div:nth-child(odd){
            var A, B, C, Q;
+
          background:#add;
            if (sldF1.Value() < sldF2.Value()) {
 
                A = sldF1.Value();
 
                B = sldF2.Value();
 
            } else {
 
                B = sldF1.Value();
 
                A = sldF2.Value();
 
            }
 
            // console.log('Berechne T0 mit A=' + A, 'B=' + B);
 
            for (var x = 1; x <= 100; x++) {
 
                C = A / x;
 
                Q = B / C;
 
                // console.log(x + '. Durchgang: C = ' + C, 'Q = ' + Q);
 
                if (isInt(Q)) {
 
                    // console.log('Q ist eine Ganzzahl!!! T0 ist damit ', 1 / C);
 
                    return 1 / C;
 
                }
 
                if (x === 10) {
 
                    return 10;
 
                }
 
                if ((1 / C) > 10)
 
                    return 10
 
            }
 
 
         }
 
         }
        // Ausgabe des Wertes x(t)
+
 
        setInterval(function() {
+
</style>
            document.getElementById("x(t)").innerHTML = Math.round((sldA1.Value() * Math.cos(2 * Math.PI * sldF1.Value() * sldT.Value() - 2 * Math.PI * sldPHI1.Value() / 360) + sldA2.Value() * Math.cos(2 * Math.PI * sldF2.Value() * sldT.Value() - 2 * Math.PI * sldPHI2.Value() /
+
</head>
                360)) * 1000) / 1000;
+
<body>
        }, 50);
+
<div class="wrapper">
        // Ausgabe des Wertes x(t+T_0)
+
<div>
        setInterval(function() {
+
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ame
            document.getElementById("x(t+T_0)").innerHTML = Math.round((sldA1.Value() * Math.cos(2 * Math.PI * sldF1.Value() * (sldT.Value() + Math.round(getT0() * 1000) / 1000) - sldPHI1.Value()) + sldA2.Value() * Math.cos(2 * Math.PI * sldF2.Value() * (sldT.Value() +
+
</div>
                Math.round(getT0() * 1000) / 1000) - sldPHI2.Value())) * 1000) / 1000;
+
<div>
        }, 50);
+
afjldfakdf
        // Ausgabe des Wertes x(t+2T_0)
+
</div>
        setInterval(function() {
+
</div>
            document.getElementById("x(t+2T_0)").innerHTML = Math.round((sldA1.Value() * Math.cos(2 * Math.PI * sldF1.Value() * (sldT.Value() + 2 * Math.round(getT0() * 1000) / 1000) - sldPHI1.Value()) + sldA2.Value() * Math.cos(2 * Math.PI * sldF2.Value() * (sldT.Value() +
+
<body>
                2 * Math.round(getT0() * 1000) / 1000) - sldPHI2.Value())) * 1000) / 1000;
 
        }, 50);
 
        // Ausgabe des Wertes x_max
 
        setInterval(function() {
 
            var x = new Array(50000);
 
            for (var i = 0; i < 50001; i++) {
 
                x[i] = Math.round((sldA1.Value() * Math.cos(2 * Math.PI * sldF1.Value() * (i / 1000) - 2 * Math.PI * sldPHI1.Value() / 360) + sldA2.Value() * Math.cos(2 * Math.PI * sldF2.Value() * (i / 1000) - 2 * Math.PI * sldPHI2.Value() / 360)) * 1000) / 1000;
 
            }
 
            document.getElementById("x_max").innerHTML = Math.max.apply(Math, x);
 
        }, 50);
 
    };
 
    // Definition der Funktion zum An- und Ausschalten des Koordinatengitters
 
    function showgrid() {
 
        if (gridbox.checked) {
 
            xaxis = pltBox.create('axis', [ [0, 0], [1, 0] ], {});
 
            yaxis = pltBox.create('axis', [ [0, 0], [0, 1] ], {});
 
        } else {
 
            xaxis.removeTicks(xaxis.defaultTicks);
 
            yaxis.removeTicks(yaxis.defaultTicks);
 
        }
 
        pltBox.fullUpdate();
 
    };
 
</script>
 
</body>
 
 
</html>
 
</html>
  
 
{{Display}}
 
{{Display}}

Revision as of 16:15, 18 September 2017

<!DOCTYPE html>

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ame
afjldfakdf