확장메뉴
주요메뉴


소득공제
공유하기

파이썬으로 풀어보는 수학

: 코드로 통계, 확률, 미적분과 같은 다양한 수학 탐험하기

첫번째 리뷰어가 되어주세요 | 판매지수 336
베스트
IT 모바일 top100 4주
정가
25,000
판매가
22,500 (10% 할인)
YES포인트
신상품이 출시되면 알려드립니다. 시리즈 알림신청
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
소중한 당신에게 5월의 선물 - 산리오 3단 우산/디즈니 우산 파우치/간식 접시 머그/하트 이중 머그컵
월간 개발자 2022년 5월호
내일은 개발자! 코딩테스트 대비 도서전
5월 전사
5월 쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2016년 06월 28일
쪽수, 무게, 크기 328쪽 | 623g | 188*235*20mm
ISBN13 9788960778689
ISBN10 8960778680

책소개 책소개 보이기/감추기

파이썬을 이용해 고등학교 수준의 다양한 수학 문제를 풀어보는 책이다. 고등학교 수준의 통계, 기하학, 확률, 미적분과 관련된 다양한 수학 문제를 파이썬이라는 프로그래밍 언어를 이용해 해결하는 방법을 살펴본다. 이와 같은 과정을 경험하면서 자연스럽게 수학과 컴퓨터 과학에 대한 공부를 할 수 있다. 데이터에 대한 통계값을 계산하고, 이를 그래프, 막대차트, 산점도로 가시화할 수 있으며, 동전 던지기, 주사위 던지기 등과 같은 놀이를 통해 확률 이론과 프로그램을 이해할 수 있다. 또한, 파이썬의 기호 수학 함수를 사용해 대수학 문제를 풀거나, 기하학 형상을 그려보며 다양한 프랙털을 만들어 볼 수 있고, 미분과 적분함수를 알아내는 프로그램도 만들어 볼 수 있다.

목차 목차 보이기/감추기

1장 숫자·연산
__기초·수학 연산
__라벨: 이름을 숫자에 부착시키기
__다른 종류의 숫자
____분수 계산
____복소수
__사용자 입력 가져오기
____예외와 유효하지 않은 입력값 처리
____입력값으로 분수와 복소수
__수리적 연산을 수행하는 프로그램 작성
____정수 팩터 계산
____곱 테이블 생성
____이차방정식의 근 구하기
__프로그래밍 연습
____#1: 짝수-홀수 자판기
____#2: 개선된 곱 테이블 생성
____#3: 개선된 단위 변환
____#4: 분수 계산기
____#5: 사용자에게 Exit(종료하기) 권한 부여

2장 그래프로 데이터 가시화
__카르테지안 좌표평면의 이해
__리스트와 튜플을 이용한 작업
____리스트나 튜플에 대한 실행 반복
__맷플롯립을 이용한 그래프 생성
____그래프에 점 표시
____뉴욕시의 연간 평균 온도를 그래프로 표시
____뉴욕시의 월간 온도 비교
____그래프 개인화
____그래프 저장
__수식으로 그래프 그리기
____만유인력에 대한 뉴턴의 법칙
____포물선 운동
__학습 내용
__프로그래밍 연습
____#2: 이차방정식을 그림으로 탐색해보기
____#3: 투척 궤적 비교 프로그램 개선
____#4: 비용 가시화
____#5: 피보나치 순열과 황금비 간의 관계 탐색

3장 통계값을 이용한 데이터 설명
__평균 계산
__중위수 계산
__최빈수를 계산하고 빈도 테이블 생성
____가장 공통적인 요소 알아내기
____최빈값 찾기
____빈도 테이블 생성
__산포정도 측정
____숫자 집합의 범위 알아내기
____분산과 표준편차 계산
__두 데이터 집합 간 상관관계 계산
____상관계수 계산
____고등학교 성적 등급과 대학입학시험 성적
__산점도
__파일에서 데이터 읽기
____텍스트 파일에서 데이터 읽기
____CSV 파일에서 데이터 읽어오기
__학습 내용
__프로그래밍 연습
____#1: 상관계수 계산 문제 개선
____#2: 통계값 계산기
____#3: 다른 csv 데이터로 테스트
____#4: 퍼센트 위치 계산
____#5: 그룹화한 빈도 테이블 생성

4장 SYMPY를 이용한 대수(Algebra)와 부호(Symbolic Math) 수학
__부호와 부호 연산 정의
__수식 계산
____수식을 요소화하고 전개
____보기 좋게 출력
____값으로 대체
____문자열을 수식으로 변환
____수식 곱하기
__방정식 풀기
____이차방정식 풀기
____다른 표시로 되어 있는 한 개 변수에 대한 해 계산
____선형 방정식 시스템 풀기
__SymPy를 사용해 그래프 그리기
____사용자가 입력한 수식을 그래프로 그리기
____여러 함수 그래프 그리기
__학습 내용
__프로그래밍 연습
____#1: 팩터 파인더
____#2: 그래픽을 이용한 방정식 풀기
____#3: 수열합 계산
____#4: 단일 변수의 부동식 풀기

5장 집합과 확률 다루기
__집합은 무엇인가?
____집합 생성
____부분집합, 초집합, 파워집합
____집합 연산
__확률
____사건A나 사건B의 확률
____사건A와 사건B의 확률
____랜덤숫자 생성
____비일양 랜덤숫자
__학습 내용
__프로그래밍 연습
____#1: 집합 간의 관계를 가시화하기 위해 벤다이어그램 사용
____#2: 대수의 법칙
____#3: 돈이 떨어지기 전에 토스 시도 횟수는?
____#4: 카드뭉치 섞기
____#5: 원의 면적 추정

6장 기하학적 형상과 프렉탈 그리기
__맷플롯립의 패치로 기하학적 형상 그리기
____원 그리기
____움직이는 그림 만들기
____투사물의 포물선 애니메이션
__프렉탈 그리기
____평면상의 점 변환
____Barnsley 고사리 그리기
__학습 내용
__프로그래밍 연습
____#1 : 사각형내에 원을 포함시키기
____#2 : Sierpinski 삼각형 그리기
____#3 : Henon의 함수 탐색
____#4 : 만델브로트(Mandelbrot) 집합 그리기

7장 미적분 문제 풀기
__함수란 무엇인가?
____함수의 도메인과 범위
____일반적인 수학 함수에 대한 개요
__SymPy의 가정
__함수의 극한 계산기
____연속 복리
____실시간 변화율
__함수의 미분 계산
____미분 계산기
____편미분의 계산
__고차 미분과 최대, 최소값 구하기
__그레디언트 상승을 이용해 전역 최대값 알아내기
____그레디언트 상승에 대한 제네릭 프로그램
____초기값에 대한 경고
____단계 크기와 입실론의 역할
__함수의 적분 계산
__확률밀도함수
__학습 내용
__프로그래밍 연습
____#1: 한 점에서 함수의 연속 검증
____#2: 그레디언트 하강 구현
____#3: 두 곡선 간 면적
____#4: 곡선 길이 계산

후기
__다음에 탐색해볼 일들
____프로젝트 율러
____파이썬 문서
____참고 문헌
__참고 사이트
__결론

부록A 소프트웨어 설치
__마이크로 소프트 윈도우
____SymPy업데이트
____matplotlib-venn 설치
____Python Shell 시작
__리눅스
____SymPy 업데이트
____matplotlib-venn 설치
____파이썬 셸 시작
__맥 OS X
____SymPy업데이트
____matplotlib-venn 설치
____파이썬 셸 시작

부록B 파이썬 주제 소개
__If__name__==’__main__’
__리스트 컴프리헨션
__딕셔너리 데이터 구조
__다중 리턴값
__예외 처리
____다중 예외 유형 설정
____else블록
__파이썬에서 파일 읽기
____한번에 모든 행 읽기
____입력으로 파일명 설정
____파일을 읽을 때 오류 다루기
__코드 재사용

저자 소개 관련자료 보이기/감추기

저자 : 아미트 사하
레드햇과 선마이크로시스템에서 재직했던 소프트웨어 엔지니어다. Fedora Scientific라는 과학과 교육용 유저대상 리눅스를 배포하는 회사를 만들고 운영하고 있다. 또한 Prentice Hall Learning에서 출간한 『Write Your First Program』의 저자이기도 하다.
역자 : 정사범
대학교와 대학원에서 산업공학을 전공했고 의사결정과 최적화 방법론에 대해 관심이 많다. 2000년이 시작될 즈음 회사에 입사해 제조업에서 발생되는 다양한 데이터를 R과 파이썬으로 분석해 본 경험이 있다. 지금도 제조현장에서 발생되는 여러 이슈사항을 데이터에 근거해 수리적으로 해결해보려고 고민한다. 또한 다양한 책과 현장 경험을 통해 데이터 수집, 정제, 분석, 보고 방법에 대한 지식을 얻는 것에 감사하고 있다. 에이콘출판사에서 출간한 『RStudio 따라잡기』(2013), 『The R book(Second Edition) 한국어판』(2014), 『예측 분석 모델링 실무 기법』(2014), 『데이터 마이닝 개념과 기법』(2015)을 번역했다.

출판사 리뷰 출판사 리뷰 보이기/감추기

★ 이 책에서 다루는 내용 ★

■ 통계로 데이터를 설명하고 그래프, 막대 그래프, 산점도로 가시화하는 방법
■ 동전 던지기, 주사위 던지기, 확률 게임에 대한 프로그램으로 살펴보는 집합 이론과 확률
■ 파이썬 기호 수학 함수를 이용한 대수학 문제 풀이
■ 기하학적 형상을 그려보고, 반즐리 펀(Barnsley fern), 시어핀스키(Sierpinski) 삼각형, 만델브로집합과 같은 다양한 프랙털 제작
■ 미분과 적분함수 계산 프로그램을 작성


★ 이 책의 대상 독자 ★

프로그래밍을 배우는 사람이라면 이 책에서 컴퓨터로 문제를 해결하기 위한 설명하는 방법을 좋아하게 될 것이다. 이와 같은 방법으로 여러분이 학습자를 가르친다면 이 책은 때로는 추상적인 컴퓨터 과학을 뛰어넘어 프로그래밍 기술의 적용 방법을 설명하는 데 유용하게 사용할 수도 있을 것이다.
이 책은 독자가 파이썬 3을 이용하며 파이썬 프로그래밍의 기초를 알고 있다고 가정한다. 구체적으로 함수와 함수 인자, 파이썬 클래스와 클래스 객체, 루프의 개념을 이해하고 있다고 가정한다. 부록 B는 프로그램에서 이용한 다른 파이썬 주제의 일부를 다룬다. 하지만 이 책은 추가 주제에 대한 지식까지 바라지는 않는다. 만약 파이썬에 대한 많은 내용을 알고 싶다면 『Python for Kids by Jason Briggs』(Nostarch Press, 2013)를 읽어볼 것을 추천한다.


★ 이 책의 구성 ★

1장, ‘숫자 연산’에서는 기초 수학 연산으로 시작해 점차 높은 수학 노하우가 필요한 주제를 설명한다.
2장, ‘그래프로 데이터 가시화’에서는 맷플롯립(matplotlib) 라이브러리를 이용해 데이터 셋에서 그래프를 만드는 방법을 설명한다.
3장, ‘통계값을 이용한 데이터 설명’에서는 데이터 셋을 처리하는 방법을 계속 설명하는데, 기초 통계 개념인 평균, 중위수, 최빈수, 데이터셋의 변수들을 대상으로 상관관계를 알아본다. 여러분은 데이터 셋을 배포하기 위해 잘 알려진 파일 포맷인 csv 파일에서 데이터를 불러와 처리하는 방법을 설명한다.
4장, ‘SYMPY를 이용한 대수와 부호 수학’에서는 SymPy 라이브러리를 이용해 부호 수학 (Symbolic Math)을 살펴본다. 방정식 해결과 같은 좀 더 복잡한 문제를 소개하기 전에 대수(Algebra) 표현식을 표현하고 이를 다루는 기초를 알아본다.
5장, ‘집합과 확률 다루기’에서는 수학 집합을 표현하는 방법과 기초 이산 확률에 대해 설명한다. 일양 및 비일양 랜덤사건을 시뮬레이션하는 방법도 알아본다.
6장, ‘기하학적 형상과 프렉탈 그리기’에서는 맷플롯립을 이용해 기하학적 형상과 프렉탈을 그리고 동영상 그림을 만드는 방법을 알아본다.
7장, ‘미적분 문제 풀기’에서는 파이썬 표준 라이브러리와 SymPy에서 사용 가능한 수학 함수를 설명하고 미분 문제를 해결하는 방법을 알아본다.
부록A, ‘소프트웨어 설치’에서는 마이크로소프트 윈도우, 리눅스, 맥 OS x에서 파이썬 3, 맷플롯립, SymPy를 설치하는 방법을 설명한다.
부록B, ‘파이썬 주제 소개’에서는 초보자에게 도움이 되는 몇 가지 파이썬 주제를 살펴본다.


★ 지은이의 말 ★

이 책의 목적은 세 가지 주제를 함께 배울 수 있게 하는 것이다. 이 책에서는 고등학교 수준의 수학인 측정 단위 변환, 투사물 운동 조사, 평균 계산, 중위수, 최빈값, 선형상관관계 결정, 대수방정식 풀기, 간단한 추운동(pendulum), 주사위 게임 시뮬레이션, 기하학적 형상 생성, 극한값/미분/적분 함수 계산을 파이썬 프로그램으로 살펴본다. 수학적으로 이러한 내용은 매우 익숙한 주제들이지만 펜과 종이를 사용하는 대신 컴퓨터를 이용해 알아볼 것이다.
프로그램 입력으로 숫자와 수식을 취해 반복 계산을 수행한 다음 해를 출력하거나 그래프를 그린다. 일부 프로그램은 수학 문제를 해결하는 데 강력한 계산기 역할을 할 것이다. 다른 여러 업무 중에서 방정식에 대한 해를 찾아내고 데이터 집합 간의 상관관계를 계산해 함수의 최대값을 결정한다. 다른 프로그램에서는 투척물 운동, 동전 던지기, 주사위 던지기 같은 실제 생활의 사건을 시뮬레이션한다. 이러한 사건을 시뮬레이션하는 프로그램을 이용해 쉽게 분석하고 이에 대해 학습한다.
프로그램 없이 학습하기에는 극단적으로 어려운 주제일 수도 있다. 예를 들어 프렉탈을 손으로 그리면 꽤 지루하고 거의 불가능하다. 하지만 프로그램으로는 관련 작업을 루프문 내부에 위치시킨 다음 for 루프를 실행하기만 하면 된다.
여러분은 프로그래밍과 수학이 좀 더 흥미롭고 재미있으며 도움이 될 수 있다는 것을 배울 것이다.

★ 옮긴이의 말 ★

학교를 다녀본 사람들이라면 학창시절에 누구나 수학, 영어와 관련한 참고서도 많이 사고 공부도 열심히 했을 것이다. 성적이 좋게 나오는 것과 상관없이 누구나 이러한 경험이 있을 것이다.
지금 학교를 다니고 있는 중고등학생들도 아마 다르지 않을 것이라 생각한다. 수학과 관련된 누구나 다 알고 있는 참고서의 누적판매량이 우리나라 총인구 수준에 육박할 만큼 팔려 나간 것으로 추정된다고 하니, 아직도 수학은 우리 학생들에게는 열심히 해야 하는 과목이라고 생각된다. 프로그램은 어떠할까? 아마도 수학만큼은 아니겠지만 관심이 있는 학생들이라면 프로그래밍 언어 하나는 배우고 있을 것이다. 이러한 언어 중에 최근 들어 인기가 있는 언어 중의 하나가 파이썬이다.
나는 수학과 프로그래밍 언어를 한 번에 익힐 수 있을 만한 책이 있으면 좋겠다고 생각했는데, 바로 이 책이 찾고 있었던 책이었다. 이 책을 번역하게 되어 영광으로 생각한다.
2016년 초에 우리나라는 알파고 열풍이 일었다. 아마도 다들 알겠지만 인공지능의 위력을 가장 쉽게 접할 수 있었던 사건이었지 않을까 생각한다. 바둑을 시작하기 일주일 전만 해도 컴퓨터가 어떻게 사람을 이길 수 없을 것이라고 생각한 사람들이 대부분일 것이다. 하지만 이러한 생각은 이젠 잘못되었다라는 것을 명백히 입증한 것이 이번 알파고 사건이다. 물론 컴퓨터가 사람을 이길 수 있도록 하기까지는 수학과 컴퓨터 프로그램이 어느 정도 역할을 했다는 데는 이견을 갖는 사람은 없을 것이다.
이처럼 프로그램을 통해 무언가를 만들고자 하는 사람에게 있어 수학은 매우 중요한 학문이다. 수학적 사고가 없이는 좋은 프로그램을 만들 수 없기 때문이다. 또한 수학적 이론을 잘 알고 있는 사람에게 있어 프로그램은 매우 중요한 기술이다. 특히 데이터를 분석하고 알고리즘을 개발하는 경우, 이를 프로그램으로 효율적으로 구현하는 능력이 떨어진다면 본인조차도 상당히 답답할 것이다. 따라서 수학과 프로그램 언어는 서로 같이 배우고 익히는 것이 필요하다라고 생각한다. 하지만 우리나라의 교과과정에서는 수학과 컴퓨터를 같이 배울 수 있는 기회가 그리 많지 않은 점이 아쉽다.
아마도 경험해보았겠지만 수학적 이론을 프로그램으로 구현해보고 컴퓨터상에서 시뮬레이션해보는 경험은 참 재미있는 일이다. 아마도 실제로 해보지 않는다면 이러한 재미를 실감할 수 없을 것이라 생각한다. 이와 같은 재미를 느끼는 데 이 책이 어느 정도 기여를 했으면 하는 마음이다.

한줄평 (4건) 한줄평 총점 8.6

혜택 및 유의사항 ?
구매 평점5점
파이썬을 이용해 고등학교 수준의 다양한 수학 문제를 풀어보는 책
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 로얄 나**보 | 2017.10.08
평점4점
수학적 내용은 비교적 쉬운 편입니다. 파이썬 수학응용의 입문용으로 적당합니다.
이 한줄평이 도움이 되었나요? 공감 0
푸**대 | 2017.04.27
평점3점
좋은 책이나 부자연스러운 해석이 종종 있음. 가끔식 한글을 해석해야 합니다
1명이 이 한줄평을 추천합니다. 공감 1
YES마니아 : 플래티넘 t******1 | 2016.12.28
  •  쿠폰은 결제 시 적용해 주세요.
1   22,500
뒤로 앞으로 맨위로 aniAlarm