[코풀수: 해석] 일차 방정식과 함수

함수를 배웠으니, 일차 방정식 을 다시 돌아보자. ax + b = 0은 일차 함수 인 y = ax + b와 유사하다. y 대신 0이 들어간 것이다. y = ax + b라는 함수에서 어떤 x를 넣으면 y가 0이 될까를 찾는 것이다.


함수와 방정식


앞서 말한 것처럼 일차 방정식은 다음 두 함수의 만나는 점으로 생각할 수 있다.


두개의 일차함수를 그려보자.

일차 방정식 (ax + b = 0)

a:

b:



답:

코드는 일차 방정식을 푸는 것과 일차 함수를 그리는 것을 합한 것이다. 해가 항상 그래프의 한 가운데 오도록, 방정식의 해를 그리는 함수의 마지막 인자(Parameter)로 넣었다.

<!DOCTYPE html>
<html>
<title>일차 방정식과 일차 함수</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
    google.charts.load('current', {'packages':['corechart']});
    google.charts.setOnLoadCallback(drawChart);

    function drawChart(a = 2, b = 1, origin = -0.5) {
        var data = new google.visualization.DataTable();
        data.addColumn('number', 'x');
        data.addColumn('number', 'y');
        data.addColumn('number', 'y=0');

        for (var i = 0; i < 9; i++) {
            var x = (i - 4)*0.5 + origin;
            var y1 = a * x + b;
            var y2 = 0;
            data.addRow([x, y1, y2]);
        }

        var options = {
            title: 'y = ' + a + 'x + ' + b + ", y = 0",   
            legend: {position: 'in'},
            hAxis: {title: 'x'},
            vAxis: {title: 'y'},
            pointSize: 10
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart'));

        chart.draw(data, options);
    }
</script>
<body>

<h4>일차 방정식 (ax + b = 0)</h4>

<form>
  a: <input type="text" id="a" value="2"><br><br>
  b: <input type="text" id="b" value="1"><br><br>
  <input type="button" id="solve" value="해 구하기"><br><br>
</form>

<p id="result">답: </p>
<div id="chart" style="width: 90%; height: 500px"></div>

<script>
    document.getElementById("solve").addEventListener("click", calc);
    
    function calc() {
        // 입력된 문자열을 숫자로 바꾸기
        a = Number(document.getElementById("a").value);
        b = Number(document.getElementById("b").value);
        if (isNaN(a) || isNaN(b)) {
            document.getElementById("result").innerHTML = "숫자를 입력하세요.";
            return;
        }

        var ans = 0;
        if (a == 0) {
            if (b == 0) {
                document.getElementById("result").innerHTML = "x = 부정 (모두 해가 됩니다.)";
            }
            else {
                document.getElementById("result").innerHTML = "x = 불능 (가능한 해가 없습니다.)";
            }
        }
        else {
            ans = -b / a;
            document.getElementById("result").innerHTML = "x = " + ans;
        }

        drawChart(a, b, ans);
    }
</script>

</body>
</html>

위의 내용을 이해했다면, 연립방정식도 유사하게 할 수 있겠다라는 생각이 떠오를 것이다.

댓글