인터넷에 공개된 “2020학년도 대학수학능력시험 문제 및 정답” PDF 문제를 풀어보자.
library(tidyverse)
library(pdftools)
library(magick)
image_read_pdf("data/math_2020_2_1.pdf", page = 28)
exam_pdf <-
%>%
exam_pdf image_scale("700") %>%
image_draw()
앞서 추출한 \(\LaTeX\) 수식표현을 Sympy 표현식으로 바꿔야한다. 이를 위해서 latex2sympy
를 설치해서 사용하면 되지만, 파이썬 2로 작성되어 있어 파이썬3를 많이 사용해서 이를 확인할 필요가 있다.
$ pip install latex2sympy3==0.1.1
파이썬 표현식으로 작성하고 나서 이를 Sympy 문법 값을 구하는 N()
을 사용해서 해를 구한다.
from sympy import *
16 * 2**(- 3)) N(
2.00000000000000
latex2r
팩키지의 도움으로 \(\LaTeX\) 코드를 R 코드로 변환시킨다.
# devtools::install_github("tomicapretto/latex2r")
library(latex2r)
latex2r("16 \\times 2^{-3}") r_expr <-
R에서 Sympy
를 통해 문제를 풀 수 있는 팩키지가 caracas
, rSympy
가 있다. caracas
를 사용해서 문제를 풀면 다음과 같다.
library(caracas)
::eval_to_symbol(r_expr) caracas
[caracas]: 2.0
rSympy
를 사용해서 문제를 풀면 다음과 같다. ^
→ **
으로 바꿔 파이썬 표현식에 맞춰 넣어주면 rSympy
로 해를 구할 수 있다. rJavaTools
오류로 R마크다운 컴파일 오류지만 인터랙티브 계산은 됨!!!
library(rSymPy)
sympy("16 * 2 ** (- 3)")
몇가지 방식으로 손으로 풀 수 있다.
\(16 \times 2^{-3} = \frac{16}{2^3} = \frac{2^4}{2^3} = 2^{4-3} = 2\)
\(16 \times 2^{-3} = \frac{16}{2^3} = \frac{16}{8} = 2\)
SymPy Gamma
vs Wolfram Alpha
SymPy Gamma는 Wolfram Alpha
의 오픈소스 버전으로 보면 된다.
데이터 과학자 이광춘 저작
kwangchun.lee.7@gmail.com