이공학도를 위한 수학문제 해결사 maxima 소개 0...

16
이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요 무료 공개 소프트웨어 Maxima 작지만 매우 강력한 수학 프로그램이다. 이공학도들을 하여 전공 관련된 수학적인 문제를 거의 해결해 있다. 수치계산은 물론이고 대수적 계산도 거의 완벽하게 수행 한다. 이런 종류의 소프트웨어로 Maple, Mathematica, Mathcad 등이 있는데 가격이 적어도 수백만원에서 수천만원에 이른다. Maxima 개발하 수십년간에 걸쳐서 끊임 없이 새로운 버전 소스까지도 무료로 공개하고 있는 개발자 에게 감사하는 마음을 가진다. Maxima 기본적으로 있는 들. - Equations ... 대수방정식 각종 선형 비선형 연립방정식 등의 해를 구해 준다. - Algebra ... 일반 대수학은 물론 선형 대수학에서의 각종 연산 수행한다. - Calculus ... 미적분 편미분 중적분에 대한 대수해 수치해 등을 구해 준다. - ODE ... 상미분 방정식의 일반해 초기조건을 고려한 등을 구해 준다. - Plot ... 다양한 옵션에 따라 2D 및 3D 그래프를 나타낸다. - Simplify ... 각종 수식계산 표현식 등을 간단히 표현해 준다 . 외에도 Maxima 각종 수학 문제, 단위변환, 라플라스변환, 푸리에 급수, 통계학 등의 문제를 해결할 있는 무궁무진한 내장 함수들을 구비하고 있다. 또한 반복문(do~loop) 조건 분기문(if~then~elseif~) 등이 있어서 웬만한 프로그램이 가능하여 간이 언어로도 사용할 있다. 다운로드 설치 Maxima 프로그램을 실행시키려면 Maxima 설치해야 한다. Maxima 아래주소로 접속해서 무료로 다운로드 있다. 공식사이트 주소 http://maxima.sourceforge.net 아래 주소로 직접 액세스하여도 된다. http://sourceforge.net/projects/maxima/files/Maxima-Windows/ 현재 최신 버전은 maxima-5.31.2.exe 이다. maxima-5.31.2.exe 한번만 실행 시키기만 하면 프로그램설치 O.K. 고급사용자들은 User Manual 다운받아서 참고하기 바란다. 방대한 분량의 User Manual 무료로 다운로드 있다. 스마트폰용 애플리케이션도 Play 스토어에서 maxima on Android 검색하면 쉽게 다운 받아서 설치할 있다.

Upload: others

Post on 03-Nov-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

이공학도를

위한

수학문제

해결사 Maxima

소개

0

개요

무료

공개

소프트웨어 Maxima

작지만

매우

강력한

수학

프로그램이다.

이공학도들을

하여

전공

관련된

수학적인

문제를

거의

해결해

있다.

수치계산은

물론이고

대수적

계산도

거의

완벽하게

수행

한다.

이런

종류의

소프트웨어로 Maple, Mathematica,

Mathcad

등이

있는데

가격이

적어도

수백만원에서

수천만원에

이른다. Maxima

개발하

수십년간에

걸쳐서

끊임

없이

새로운

버전

소스까지도

무료로

공개하고

있는

개발자

에게

감사하는

마음을

가진다.

Maxima

기본적으로

있는

들.

- Equations ...

대수방정식

각종

선형

비선형

연립방정식

등의

해를

구해

준다.

- Algebra ...

일반

대수학은

물론

선형

대수학에서의

각종

연산

수행한다.

- Calculus ...

미적분

편미분

중적분에

대한

대수해

수치해

등을

구해

준다.

- ODE ...

상미분

방정식의

일반해

초기조건을

고려한

등을

구해

준다.

- Plot ...

다양한

옵션에

따라 2D

및 3D

그래프를

나타낸다.

- Simplify ...

각종

수식계산

표현식

등을

간단히

표현해

준다 .

외에도 Maxima

각종

수학

문제,

단위변환,

라플라스변환,

푸리에

급수,

통계학

등의

문제를

해결할

있는

무궁무진한

내장

함수들을

구비하고

있다.

또한

반복문(do~loop)

조건

분기문(if~then~elseif~)

등이

있어서

웬만한

프로그램이

가능하여

간이

언어로도

사용할

있다.

다운로드

설치

Maxima

프로그램을

실행시키려면 Maxima

설치해야

한다.

Maxima

아래주소로

접속해서

무료로

다운로드

있다.

공식사이트

주소 http://maxima.sourceforge.net

아래

주소로

직접

액세스하여도

된다.

http://sourceforge.net/projects/maxima/files/Maxima-Windows/

현재

최신

버전은 maxima-5.31.2.exe

이다.

maxima-5.31.2.exe

한번만

실행

시키기만

하면

프로그램설치 O.K.

고급사용자들은 User Manual

다운받아서

참고하기

바란다.

방대한

분량의 User Manual

무료로

다운로드

있다.

스마트폰용

애플리케이션도 Play

스토어에서 maxima on Android

검색하면

쉽게

다운

받아서

설치할

있다.

Page 2: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

명령어

비고

더하기 + +

빼기 - -

곱하기 × *

매트릭스연산에서는 . (

마침표)

사용

나누기 ÷ /

지수 ^ **

같이

사용할

있음

지수표기 1.2×103 1.2E3

1.2e3E

또는 e

일반변수로

사용할

없음

명령어

비고

절대값 abs(x)

역수

1/x

또는 x^(-1)

제곱근 sqrt(x)

x^(1/n)

x^(m/n)

지수합수 %e^x

또는 exp(x)

자연로그 ln log(x)

상용로그 log log(x)/log(10)

삼각함수sin(x),cos(x), tan(x),

csc(x), sec(x), cot(x)

x

는 rad.

단위임에

주의

역삼각함수 asin(x), acos(x), atan(x), etc

쌍곡선함수 sinh(x),cosh(x),tanh(x) etc

명령어

또는

기호

비고

원주율 %pi

네이피어

상수 %e

허수

단위 %i

기본

사항

1.

기본

연산자

2.

기본

수학

함수

3.

기본

상수

4. Maxima

맛보기

일반

계산기처럼

사용하여

보자.

Maxima

화면에서

이라고

타이핑

다음 shift+Enter

키를

눌러보라.

그냥 Enter

키만

누르면

명령을

실행하지

않고

단순히

줄만

바꾸고,

다른

명령어

입력

기다리는

상태가

된다.

어떤

명령어를

실행시키기

위해서는

반드시 shift+Enter

키를

누르는

주의

것.

끝에

있는 ;(

세미콜론)

명령어의

끝이라는

의미로

반드시

붙여

주어야

한다.

아래와

같은

화면을

있다.

Page 3: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

그림 3

맥시마

맛보기

(%i1)

과 (%o1)

실제로

입력하는

것이

아니고 maxima

에서

입력1(%i1)

출력1(%o1)

나타내기

위해서

자동으로

붙여준다.

번호는

자동으로

증가되면서

붙여진다.

입출력

번호를

초기화

하려면

맥시마

화면

맨위에

있는

메인

메뉴에서 Maxima

밑에

있는

서브메뉴

Restart Maxima

클릭하면

된다.(

그러나

굳이

이럴

필요는

없다)

다음에는

실행해

보라.

연이어서

다음을

실행

보라.

, numer

붙여

주면

수치(numeric value)

나타낸

준다.

fpprintprec:6$

유효

숫자의

자릿

수를 6

자리로

지정한다. (format print precision

준말)

끝의 $

표시는

역시

명령의

끝이라는

의미로

붙여주는

것인데 ;(semi colon)

다른

점은

행의

실행결과를

내부적으로는

처리하되

화면에는

나타내지는

않는다는

점이다.

1)

간단한

대수

계산

sin

계산하는

문제를

풀어보자.

입력하고 sfift+Enter

키를

누르면(

앞으로는 +

표시)

출력

것이다.

Page 4: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

2)

수학함수

사용예

sin

계산

+

sin

계산

+

식에서는 45

도(degree)

라디안(radian)

으로

바꾸기

위해 %pi/180

곱해준다.

계산

+

앞의

문제는

다음과

같이

코딩해도

같은

결과를

얻을

있다.

+

float

함수는

결과를

소숫점

형태로

바꾸어

준다.

%

기호는

항상

직전에

실행한

결과를

의미한다.

3)

다중계산예

2+3, sin

, , tan

계산

결과를

한줄에

나타내라.

+

다중계산을

하기위해서는

반드시 [ ]

묶고

컴마(,)

분리해주어야

한다.

4)

전개(<expand>)

인수분해(<factor>)

앞으로

글을

읽어

나갈

때 expr1)

수식표현을, eqn2)

방정식을, var3)

변수를

의미

하는

것으로

약속한다. expr

등호(=)

없는

수식이고, eqn

등호(=)

포함되어

있는

수식이라고

있다.

1) expression(

수식)

줄인

2) equation(

방정식)

줄인

3) variable(

변수)

줄인

Page 5: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

명령어

사용

출력

설명

limit(sin(x)/x,x,0); 1lim→

sin

극한의

수식표현

sum(n^2,n,1,5); 55

수열의

1+4+9+16+25

=55

product(n^2,n,1,5); 14400

수열의

1x4x9x16x25=

1440

전개

문법(syntax): expand(expr)

예제1

전개하시오.

+

또는

완벽한

수학식으로

표현하고

싶으면

다음과

같이

타이핑한다.

+

아포스토로피기호(‘)

등호(=)

사이에

있는

부분은

연산을

수행하지

않고

그냥

화면에

력만

해준다.

인수

분해

문법(syntax) : factor(expr)

예제2

인수분해

하시오.

+

expand, factor

이외에도

수많은

명령어들이

준비되어

있는데

앞에

기술한

공식사이트에서

Maple User's Manual

다운받아서

참고하기

바란다.

표1

가지

유용한

명령어

사용예

Page 6: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

gcd(6,10); 2

최대공약수

lcm(6,10); 30

최소공배수

factor(20);

소인수분해

trigreduce(sin(x)^3);

고차

삼각함수의

차수를

낮추어

주기

때문에

분할

유용하

trigexpand(sin(alpha+beta));

삼각함수의

전개

ratsimp((x^3-1)/(x-1));

대수식을

간단히

정리해

준다

subst([x=1,y=2,Z=3],x^2+y^2+Z^3); 32

식의

구하기

x=1,y=2,z=3

5.

간단한

프로그램

개의

점수를

입력

받아서

평균을

구한

다음

평균이 90

이상이면

수(Soo), 80

이상

이면

우(Woo), 70

이상이면

미(Mee), 60

이상이면

양(Yang), 60

미만이면

가(Gha)

평가하고

총점,

평균

평어를

출력해

주는

프로그램을

만들어

본다.

입력변수

점수: s1. s2, s3

계산변수

총점: Sum,

평균: Avg

평어: grade

/* Progrma title and/or any comment here */

print("Input data -----------")$

'[Jumsu1,Jumsu2,Jumsu3]=[s1,s2,s3]:[79,65,87];

Sum:s1+s2+s3$

Avg:Sum/3$

Avg:floor(%+0.5)$

if Avg>=90 then grade:Soo

elseif Avg>=80 then grade:Woo

elseif Avg>=70 then grade:Mee

elseif Avg>=60 then grade:Yang

else grade:Gha$

print("Output data ----------")$

print("Total=",Sum," Average=",Avg," Grade is ",grade)$

+

Page 7: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

프로그램에서 floor

함수는

계산

결과를

반올림해서

정수로

처리하기

위해서

사용

하였

다.

점수를

바꾸어서

실행시켜

보라.

Ⅱ Equation(

방정식)

1. solve

명령어

문법(syntax) solve(eqn, var);

solve([eqn1, …, eqnN], [var1, …, varN]);

연립방정식처럼

식이

여러

있을

때는

반드시 [ ]

쓰고,

방정식

미지변수를

컴마

(,)

분리해

주어야

한다.

예제1 2

방정식

해를

구하라.

+

당연한

결과지만

이차방정식의

근의

공식임을

있다.

예제2

이차방정식

푸시오.

+

예제3 x,y

관한 2

원2

연립방정식의

해를

구하라.

+

Page 8: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

예제3 4

차방정식

풀어보시오.

+

위의 4

차방정식은

허근 2

개와

실근 2

개를

가짐을

있다. %i

이다.

2. algsys

명령어

문법 algsys([eqn1, …, eqnN], [var1, …, varN]);

algsys(algebraic system)

연립방정식에서만

있다.

예제4

앞의

예제3

을 algsys

명령어로

풀이

하시오.

+

3. find_root

명령어

때로는

방정식의

해가

대수적으로는

구할

없거나,

매우

어려운

경우도

많다.

이럴

때 find_root

명령어는

수치해를

구하는데

매우

강력한

수단이

된다.

문법 find_root(eqn,var,a,b);

a

와 b

구하고자하는

해(solution)

포함되어

있는

구간을

나타낸다.

즉, a≤

해≤b

이다.

예제5

삼각방정식 tan

만족하는

구해

보자.

tan

그래프를

그려

보면

방정식의

해는

무수히

많음을

있다. x=0

하나나의

해가

되지만

의미없는

해이다.

중에서 π/2≤x≤ 3π/2

구간에서

해를

구해

본다.

+

Page 9: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

선형대수(Linear Algebra)

1.

행렬(matrix)

입력

문법: matrix (row1, …, rowN)

row1

제1

행이고, rowN

제N

행이다.

예제1

입력하시오.

+

위와

같이

입력하여

실행하면 A

행렬을

기억시켜

둔다.

행렬의

규모가

커지면

다음과

같이

행단위로

줄씩

입력하는

것이

보기에

편하다.

2.

행렬(matrix)

연산

예제2

입력하고, ① , ②, ③, ④ ⑤

구하시오

+

행렬의

곱을

계산할

때 *(asterisk)

가아니고 .(period)

사용해야

한다.

① ② ③

④ ⑤

Page 10: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

예제3

예제에서

입력한

행렬 A

의 ①

행렬식의

값 ②

역행렬 ③

고유치 ④

고유벡터 ⑤

계수

구하시오.

+

고유치에서

뒤에

있는 [1,1]

고유치

해의

중복도(multiplicities)

나타낸다.

고유벡터에서

뒤에

있는

각각의

고유치에

해당되는

고유벡터이다.

미적분(Calculus)

1.

미분

문법 diff(expr,x,n)

expr

미분하고자하는

식이고, x

미분

변수, n

미분

회수이다.

예제1

를 x

대해

미분하시오.

+

단순히

미분

결과뿐만

아니라

수학적인

식으로

나타내고

싶으면

아래와

같이

코딩한

다.

가지

동일한

결과를

얻을

있다.

+ +

Page 11: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

+

예제2

에서 x=2

에서의

미분

계수를

구하시오.

+

위에서 %

직전에

실행한

결과( )

나타낸다.

또는

줄로

코딩하면

+

예제3 sin

를 x

대하여

미분하시오.(y'''

또는

)

+

또는

+

예제4

다음을

구하시오.(

편미분

문제)

1)

2)

1)

+

2)

Page 12: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

+

2.

적분

문법 :

부정적분 integrate(expr, x)

정적분 integrate(expr, x, a, b)

예제1

를 x

관하여

적분하시오.

+

또는

+

예제2

를 x=0

에서 2

까지

정적분(

수치적분)

하시오.

+

또는

+

예제3 ∞

+

Page 13: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

또는

+

예제4

+

3.

미분방정식

문법 :

상미분방정식(Ordinary Differential Equation)

일반해

ode2 (eqn, dvar, ivar)

eqn

미분방정식, dvar

종속변수(y), ivar

독립변수(x)

초기조건(initial condition)

문제

ic1 (solution, xval, yval)

ic2 (solution, xval, yval, dval)

xval

은 x

값, yval

은 y

값, dval

은 1

미분계수

경계조건(boundary condition)

문제

bc2 (solution, xval1, yval1, xval2, yval2)

미분

기호

입력방법

′,

:

″ ,

:

Page 14: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

예제5 y

는 t

함수일

상수계수 2

계선형상미분방정식 ″ ′ sin

일반해

초기조건 , ′

만족하는

해를

구하시오.

일반해(general solution)

+

윗식에서 %k1, %k2

임의

상수이다. %e

초기조건 , ′

만족하는

+

예제6 1

미분방정식 ′ sin

일반해

초기조건

만족하는

해를

구하시오.

+

4.

멱급수(power series)

전개

문법: taylor (expr, x, a, n)

(x-a)

멱급수로

최고차항 (x-a)n

까지

나타낸다.

예제7 sin

멱급수로 7

차항까지

나타내시오.

+

Page 15: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

예제8

멱급수로 5

차항까지

나타내시오.

+

그래프

형태의 2D

그래프

형태의 3D

그래프를

그릴

있다.

뿐만

아니

옵션을

사용하면

극좌표계,

원주좌표계,

구면좌표계

모든

그래프를

그릴

있으며

눈금,

크기,

범례,

색깔,

선의

굵기

모양,

심볼

거의

모든

것들을

컨트롤

있다.

문법:

wxplot2d(expr, x_range, …, options, …), options, ...

plot2d(expr, x_range, …, options, …), options, ...

wxplot3d (expr, x_range, y_range, …, options, …), options, ...

plot3d (expr, x_range, y_range, …, options, …), options, ...

wxplot

현재작업창에

그래프를

출력하해

주고, plot

별도의

창에

그래프를

출력한

다.

굵은

글씨로

표시한

항목은

생략할

없는

들이다. 2d, 3d

각각

이차원 3

차원

래프를

나타낸다.

예제1 sin

그래프

+

예제2 tan

그래프

+

Page 16: 이공학도를 위한 수학문제 해결사 Maxima 소개 0 개요archeng.kongju.ac.kr/mini_home/notice/download_hi.asp?filename=maxima... · 선형대수(Linear Algebra) 1. 행렬(matrix)의

이상의

그래프를

동시에

그릴

때는

반드시

함수식을 [ ]

묶고,

컴마(,)

분리해

어야

한다.

예제3

그래프

+

Ⅵ Maxima

소개를

마치면서

이공계

학생들에게

수학은

필수적인

도구이다.

글에서

소개한

내용은 Maxima

가지고

있는

기능

중에서

극히

일부분만을

소개한

것에

불과하다.

필자는

아침에

연구실에

출근하

컴퓨터를

부팅한

다음

먼저

화면에

띄워

놓는

것이 Maxima

이다.

매일

매일

연구나

강의하면서

일어나는

전공분야의

크고

작은

문제들을

손쉽게

해결하는데

도움을

받고

다.