정보
-
업무명 : R을 이용한 수치 해석 : 2020년 대학수학능력시험 (수능) 가형 문제
-
작성자 : 박진만
-
작성일 : 2020-05-18
-
설 명 :
-
수정이력 :
내용
[개요]
-
R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석 환경입니다.
-
통계 분석 기능으로 수치 해석, 통계 검정, 선형 회귀 분석, 시계열 데이터 분석, 클러스터링 등을 지원하고 있습니다.
-
또한 최신 논문에서 발표된 같은 새로운 기술도 R로 구현되는 경우가 많습니다.
-
특히 시각화 기능으로 히스토그램, 막대 그래프, 선 그래프, 산포도, 나무 모양 그림이나 히트맵 등 기본적인 그래프가 기본으로 지원하고 있습니다.
-
또한 ggplot2 등의 패키지를 사용하여 더 높은 수준의 그림을 가시화할 수 있습니다.
[특징]
-
데이터를 이해하기 위해서 수치 해석 및 데이터 시각화가 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어
[기능]
-
기출 문제 1-9번 풀이
[활용 자료]
-
없음
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
소스 코드 예시 참조
[사용 OS]
-
Windows 10
[사용 언어]
-
R v4.0.0
-
R Studio v1.2.5033
소스 코드
[문제지]
[소스 코드 풀이]
library(stringr)
library(spatstat.utils)
library(polynom)
#### 가형 ####
#1.
a = c(3,1)
b = c(-2,4)
result = a + 0.5 * b
ans = sum(result)
#2.
result_x = c()
result_y = c()
for (i in seq(0,-10,-0.001)) {
x = 10 ** i
y = 6 * x / (exp(4*x) - exp(2*x))
result_x = append(result_x,x)
result_y = append(result_y,y)
}
plot(result_x,result_y)
#3.
A = c(2,0,1)
B = c(3,2,0)
for (a in 1:5) {
C = c(0,a,0)
dist1 = sqrt((A[1] - C[1]) ** 2 + (A[2] - C[2]) ** 2 + (A[3] - C[3]) ** 2)
dist2 = sqrt((B[1] - C[1]) ** 2 + (B[2] - C[2]) ** 2 + (B[3] - C[3]) ** 2)
if(dist1 == dist2) {
print(paste0("ans : ",a))
print(paste0("A-B dist : ",dist1))
print(paste0("A-C dist : ",dist2))
}
}
# 4. 보류
# 지수가 음수인 다항식의 전개 방법.
aa <- function(x1,x2,parameter="x") {
}
# 5.
# x^2 - 3xy + y^2 = x 위의 점 (1,0) 에서의 접선의 기울기는?
## 요지 : x = 1 에서의 (dy/dx)를 구하라는 것
# 고로 x = 1 인 경우와 x = 1과 비교하여 아주 크거나 작은 수를 대입해 기울기를 구해보면 됨.
x1 <- 1
y1 <- 0
x2 <- 1.000001
y2 <- polyroot(c( (x2**2 - x2), (-3*x2), 1 ))[1]
result <- (y2-y1) / (x2-x1)
# 6. 흰 공 3개, 검은 공 4개가 들어 있는 주머니가 있다.
# 이 주머니에서 임의로 네 개의 공을 동시에 꺼낼 때,
# 흰 공 2개와 검은 공 2개가 나올 확률은? [3점]
# 해결법 : 많은 샘플
##
# 7. 보류
# 8.
x <- seq(exp(1),exp(2),length.out = 100000)
y <- (log(x) - 1) / x**2
nubi <- c()
for (i in 2:length(x)) {
height <- (y[i] + y[i-1]) / 2
width <- (x[i] - x[i-1])
nubi_imsi <- height*width
nubi <- append(nubi,nubi_imsi)
}
#
# result : 0.09720887 = (exp(1) - 2) / exp(2)
#1.
# (exp(1) + 2) / exp(2)
# (exp(1) + 1) / exp(2)
# 1 / exp(1)
# (exp(1) - 1) / exp(2)
# (exp(1) - 2) / exp(2) # select
# 9.
t <- seq(0,pi/2,length.out = 100000)
x <- t + sin(t)*cos(t)
y <- tan(t)
plot(x,y,ylim = c(0,10))
result <- c()
for (i in 2:length(x)) {
result_speed <- sqrt((x[i]-x[i-1]) ** 2 + (y[i]-y[i-1]) ** 2) * (100000/(pi/2))
result <- append(result,result_speed)
}
min(result)
plot(result,ylim = c(0,20))
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'프로그래밍 언어 > R' 카테고리의 다른 글
[R] 네이버 네모네모로직 사이트 퍼즐 크롤링 및 해결 프로그램 (2) | 2020.10.24 |
---|---|
[R] R 및 Python을 이용한 '디시인사이드' MBTI 갤러리 웹 크롤링 및 키워드 분석을 통한 워드 클라우드 생성 (1) | 2020.05.23 |
[R] 서울대 통계 연구소 R을 이용한 빅데이터 분석 교육 연수 (0) | 2020.05.12 |
[R] KLAPS 수치예측 모델 자료를 이용하여 내삽 방법 (Multi level B-Spline Approximation, Kriging)에 따른 전처리 및 가시화 (0) | 2020.04.14 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : dplyr (2) | 2020.04.09 |
최근댓글