수학은 공통 테스트를 그래프로.

실행 환경


  • Mac OS Catanalina
  • 버전 10.15.6
  • 언어 : Python
  • Spyder

  • 계기



    그래프와 Python을 사용하여 친숙한 것을 만지고 싶었습니다.

    실제로 해보자



    수학 Ⅱ · 수학 B 대 1 질문 [1] (1) 문제 A



    문제
    함수 y = sin θ+√3 cos(θ) (0 <= θ <= π/2)의 최대값을 구하라.

    matplotlib의 기본 그래프 설정을 열거 ~ 산점도와 연속 곡선 ~ 를 참고해, 생각합니다. 여기에서는, 문제대로 생각하는 것이 아니라, 미분을 이용해 그래프로 해 생각하려고 합니다.
    sin x+√{3}*cos(x)を微分すると......
    
    import sympy
    x = sympy.Symbol('x')
    print(sympy.diff(sympy.sin(x)+sympy.sqrt(3)*sympy.cos(x)))
    

    사실은 θ입니다만, 여기에서는, 다음에 그래프로 하고 싶기 때문에, x로 하고 있습니다.

    출력 결과
    -sqrt(3)*sin(x) + cos(x)
    

    수학처럼 쓰면,
    -√{3} *sin(x)+cos(x)
    

    입니다.

    프로그램
    import matplotlib.pyplot as plt
    import numpy as np
    
    
    x = np.linspace(0, 90, 900)
    y = -np.sqrt(3)*np.sin(x)+np.cos(x)
    
    # グラフの大きさ指定
    plt.figure(figsize=(5, 5))
    
    # グラフの描写
    plt.plot(x, y, '-', label='-√3 sin(θ)+cos(θ)')
    # plt.plot(x, y, label='first', linestyle='-') # でも同じ
    
    plt.title('Answer') # タイトル
    plt.xlabel('x') # x軸のラベル
    plt.ylabel('tilt') # y軸のラベル
    
    plt.grid(True) # gridの表示
    plt.legend()
    

    위의 프로그램을 실행하면 이런 느낌이 될 것입니다. 분명히 극지가 많네요. 이제 원래 문제의 그래프를 작성합시다(방향 전환).

    아래 프로그램을 실행한 결과입니다.
    import matplotlib.pyplot as plt
    import numpy as np
    
    
    x = np.linspace(0, 90, 900)
    y = np.sqrt(3)*np.cos(x)+np.sin(x)
    
    # グラフの大きさ指定
    plt.figure(figsize=(5, 5))
    
    # グラフの描写
    plt.plot(x, y, '-', label='sin(θ)+√3 cos(θ)')
    # plt.plot(x, y, label='first', linestyle='-') # でも同じ
    
    plt.title('Answer') # タイトル
    plt.xlabel('x') # x軸のラベル
    plt.ylabel('tilt') # y軸のラベル
    
    plt.grid(True) # gridの表示
    plt.legend()
    

    대답은 외형으로 2라는 느낌이 듭니다. (실제, 대답도 그렇습니다.) 조금 마지막이 감각적(모호)이 되어 버렸습니다만, 대답을 그래프 Python으로 얻을 수 있었습니다.

    확대판





    이런 느낌입니다.
    ``
    프로그램
    import matplotlib.pyplot as plt
    import numpy as np
    
    
    x = np.linspace(0, 10, 100)
    y = np.sqrt(3)*np.cos(x)+np.sin(x)
    
    # グラフの大きさ指定
    plt.figure(figsize=(5, 5))
    
    # グラフの描写
    plt.plot(x, y, '-', label='sin(θ)+√3 cos(θ)')
    # plt.plot(x, y, label='first', linestyle='-') # でも同じ
    
    plt.title('Answer') # タイトル
    plt.xlabel('x') # x軸のラベル
    plt.ylabel('tilt') # y軸のラベル
    
    plt.grid(True) # gridの表示
    plt.legend()
    

    참고문헌


  • matplotlib의 기본 그래프 설정을 열거 ~ 산점도와 연속 곡선 ~
  • 입시 문제로서의 저작물 이용의 유의점
  • 츄니치 진학 네비게이션 2021년도 대학 입학 공통 테스트 문제·해답 속보
  • Python, SymPy 사용 (인수 분해, 방정식, 미분 적분 등)
  • 2018년 대학 입학 공통 테스트의 문제 책자의 표지(참고 이미지)
  • 좋은 웹페이지 즐겨찾기