maple : 몇 가지 쓸모있는 계산 연습

그동안 메이플에 관해 맛은 잘 보셨나요? ^^ 오늘은 다른 것을 해 보기 전에 먼저 삼각함수가 약간 등장하는 것도 보고, 아주 기본적인 미분이 어떻게 일어나는지도 잠시 보면서 워밍업을 하겠습니다. 지난 주에 부득이 휴강을 한 관계로 이전에 하신 것들이 가물가물 하다면 복습하고 오시기를 간절히 간절히 바랍니다!!!!!!!

파이를 메이플에서 어떻게 쓰시는 지는 다 아시겠고……^^ 모르신다고요? 에이, 다 아시면서. pi 라고 쓰면 되겠지요? ^^ 그러면 sin(pi)가 얼마인지는 아시겠네요? 수학과라면 당연히…… 0입니다. 그러면 한번 다음을 시험해 보겠습니다.

> sin(pi);

> sin(pi/2);

> sin(2*pi);

> sin (15);

> cos(pi);

> cos(pi/2);

> cos(2*pi);

> cos (15);

sin과 cos를 이용해 보았다면 다른 것도 다 된다는 말까지는 시간낭비에 가까우므로 생략하겠습니다. –+

그리고…… sin^2+cos^2가 뭔지는 다 아시죠? 이것을 계산해 보면…..

> simplify(sin(x)^2+cos(x)^2);

입니다. 삼각함수 등에 대한 기본적인 계산은 이런 식으로 이루어지고, 나중에 또 시간나면 살펴 볼 테니까 다음으로 넘어가겠습니다. 다음의 답은 무엇일까요?

> D(f*g);

D(f) g + f D(g)이 답으로 나옵니다. 여기서 D는 미분이고, f와 g는 정의되지 않은 함수라 하겠습니다.

maple : 도움말을 보면 인생이 편하다

모든 프로그램을 사용함에 있어서 도움말을 사용하는 것은 그 프로그램을 가장 빨리 배우는 비결이 될 수 있습니다. 그런 차원에서 메이플에서 도움 말을 사용하는 방법을 살펴 보겠습니다.

사용법은 간단한데…….

> ?

물음표 하나를 입력하시면 도움말 화면이 쫙 뜨는 것을 보실 수 있습니 다. 아, 물론 영어겠죠? ^^ 위쪽에 박스가 몇 개 있는데, 맨 왼쪽에 있는 박스를 봅시다. 이런 저런 항목들이 많죠? 오늘은 도움말의 사용법을 알아 보는 것이니 만큼, graphics 쪽을 보도록 합시다. 이 부분을 먼저 보자는 것이 아니라, 처음 메이플을 배울 때 다들 재미있어 하는 부분이 바로 이 부분이기 때문에 살펴나 보자는 것입니다.

클릭하셨어요?

무엇을 클릭하느냐에 따라 두번째 박스의 내용이 변합니다. 역시 재미있 는 것을 보자 하였으니, Animation 을 클릭하세요. 다음으로 같은 방식으 로 세번째 박스에서 animate3d를 클릭하면 아래에 내용이 나옵니다.

보이시죠? 보이지 않으면 뭔가 문제가 있거나, 혹은 네 번째 박스에 다른 내용이 있거나겠죠? 아래에 찾던 내용이 나왔으면 살펴봅시다.

Calling Sequence 하고는 어떻게 사용하는지 간단히 나오고요, 다음으로 Parameters, 즉 각각의 값에 대한 설명이 나옵니다. 설명은 영어가 되시 는 분, 혹은 실제 사용하실 때는 읽어 보셔야 겠죠. 죽 내리다 보면 예제 가 빨간 글씨로 나올 것입니다.

>with(plots):
> animate3d(cos(t*x)*sin(t*y),x=-Pi..Pi, y=-Pi..Pi,t=1..2);animate3d (x*cos(t*u),x=1..3,t=1..4,u=2..4,coords=spherical);

> animate3d((1.3)^x * sin(u*y),x=- 1..2*Pi,y=0..Pi,u=1..8,coords=spherical);

> animate3d(sin(x)*cos (t*u),x=1..3,t=1..4,u=1/4..7/2,coords=cylindrical);

> animate3d([x*u,t-u,x*cos(t*u)],x=1..3,t=1..4,u=2..4);

> animate3d([x,y,(1.3)^x * sin(u*y)],x=1..3,y=1..4,u=1..2,coords=spherical);

> animate3d([x*u,u*t,x*cos(t*u)],x=1..3,t=1..4,u=2..4,coords=cylindrical);

> animate3d(cos(t*x)*sin(t*y),x=-Pi..Pi, y=-Pi..Pi,t=1..2,color=cos(x*y));

이런 그래프를 그리기 위해서는 맨 처음에 with(plots)를 한번 입력해 주 어, 앞으로 그래프를 그릴 것이라고 알려 주어야 합니다. 식들을 마우스 로 긁어서 Ctrl+C 누르시면 복사가 됩니다. 이것을 작업 화면에 붙이시면 바로 실행해 보실 수 있으니 한번 해 보세요. 앞으로도 이런 식으로 항목 설명과 예제를 찾아, 비슷하게 변형하여 사용하실 수 있습니다.

maple : 기본 규칙과 기본 계산

사칙연산 뿐이 아니라….. 기본적인 장난을 칠 만한 것들을 줄줄이 살펴 보겠습니다. ^^ 예제들을 입력해서 실행해 보시면, 설명하는 특징들을 확 실히 느낄 수 있을 것입니다.
Maple은 수학에서 사용하는 수식을 그대로 사용하기 때문에 배우기 쉽습니 다. 다음 예제들을 입력해서 실행해 보세요.
> f(x)=x^3+1;
Maple은 정확한 값을 계산하는 훌륭한 계산기입니다. 상당히 많은 자릿수 를 계산할 수 있고요. 보통 이런 것의 테스트에는 파이 값을 사용하곤 하 는데, 한번 실험해 보세요. 몇 자리까지 나옵니까?
> sqrt(Pi); > Digits:=500: > evalf(Pi);
sqrt는 스퀘어 루트, 우리가 보통 말하는 2승근을 의미하는 것이겠죠? evalf()는 함수로서, 괄호 안에 들어있는 식이나 변수, 함수 등을 계산해 서 답을 구하는 것입니다.
Maple은 기호연산(symbolic computation)이 가능합니다.
> factor(x^6-y^6);
> Diff(cos(x^2),x)=diff(cos(x^2),x);
Maple은 그래픽을 매우 빠르게 처리하며, 애니메이션(animation) 구현도 가능합니다. 평면 그래프는 물론3차원과 애니메이션 그래프까지 그릴 수 있어, 그냥 상상으로 넘어가기 쉬운 괴상한 식의 그래프가 어떻게 생긴 녀 석인지 상상할 수 있게 해 줍니다. 미적분 책은 다들 있으실 테니, 믿어지 지 않게 생긴 식이 있다면 꼭 그려 보세요. 그래프에 관한 세부 설명은 다 음에 마저 하겠습니다.
> with(plots):Digits:=10: Warning, the name changecoords has been redefined > contourplot(sin(x*y), x=-10..10, y=-10..10);
> plot3d(sin(x*y), x=-2..2, y=-2..2);
Maple은 고수준(high-level)의 프로그래밍 언어입니다. 실제로 loop와 분 기가 가능한 프로그램을 작성할 수 있습니다. 또한 문서화에 편리하며, 식 과 결과들을 ps 파일이나 html 파일로 저장할 수 있습니다.
그럼 아래의 예제들을 마저 실행해 보세요. 어떤 결과가 나옵니까?
> answer:=int(x^2*sin(x-a),x);
> plot3d(answer, x=-Pi..Pi, a=0..1);
> animate(answer, x=-Pi..Pi, a=0..1);
다음은 기본적인 연산인 더하기, 빼기, 곱하기, 나누기, 지수승을 나타냅 니다. 예제들 보다는 조금 지겹겠지만, 다 한번씩 해 보세요. 익숙해지지 않으면 가장 단순한 식에서 실수를 하게 됩니다.
> 5+4;
> 8-3;
> 23*15;
> 150/5;
> 2*(24+7);
> 5^4;
다음과 같은 식들이 주어지면, 주어진 식을 전개해 줍니다. 복잡하게 보이 는 식들이 좍 풀어져서 보기 좋은 모양이 됩니다.
> (x+1)^2;
> expand((x+1)^2);
변수를 정의할 수 있습니다. 다음과 같은 것은 변수에 주어진 값을 저장하 는 것입니다. 이후에 같은 값을 사용할 시에는 변수를 이용하여 간단히 할 수 있습니다.
> y:=10-5;
> a:=987654321*123456789;
> b:=1234567/7654321;
계산 결과를 부동점 소수로 표현해 줍니다.
> evalf(b);
주어진 식의 해를 구합니다. 물론 여기서는 4*x-1=0 이겠죠? ^^
> solve(4*x-1,{x});
Maple을 사용하는 데도 기본적인 규칙이 필요합니다. 간단히 살펴 보겠습 니다만, 기본적인 것은 수학에서 사용하는 규칙들이나 일반적인 프로그래 밍 언어에서 볼 수 있는 특징들을 갖고 있으니 크게 어렵지는 않을 것입니 다. ^^
> var:=2;
var 라는 변수에 2를 집어 넣는 것입니다. 우리가 무엇을 정의(define) 할 때는 :=를 쓰죠? 같은 방식입니다. var를 2로 정의하는 것입니다. 끝 에 있는 ;는 한 문장이 끝나면 반드시 쓰는 것이니까 바빠도 빼먹으면 안 되죠!!!!!!
> var_name:=2;
같은 방식입니다. 아, 변수 이름은 알파벳, 숫자와 _ 까지 쓸 수 있습니 다.
> var:=’var’;
문자열을 정의하는 것입니다. 이 경우 var 라는 변수 안에는 var 라는 문 자열이 들어갑니다.
> var;
지금까지 위의 내용을 다 실행해 보셨다면, 지금 var 라는 변수에는 어느 것이 들어가 있을까요? 2일까요, 아니면 문자열 var 일까요? 이렇게 변수 만 입력해 보면 그 안에 들어 있는 값이 나옵니다. 실행해 보세요. 변수에 는 나중에 들어간 값이 정의되어 있을 것입니다.
> restart;
위의 잡다한 내용을 실행한 후, 변수부터 시작해서 모든 것을 초기화 할 때마다 maple을 껐다 켤 수는 없겠지요. restart 명령이면 다시 초기화가 됩니다. 종종 사용하시게 될 것입니다.
> 5+3;
이것은 그냥 계산입니다. 답은 아마 8이 나오겠지요~~~ ^^
> 1+%;
이 식에서 %가 의미하는 것은 무엇일까요? 바로 전에 계산한 식의 답, 즉 8을 의미합니다. 이 계산의 답은 9입니다.
> 1-%%;
이 식에서 %%는 전전 번의 계산의 답, 8을 의미합니다. 즉 이 식의 답은 – 7이 되는 것인데, 그냥 %만 했다면 9를 의미하여 답은 -8이 되었을 것입니 다.
> y:=x+3;
이것은 일종의 함수입니다. 1차함수 아시죠? 여기에 x에 어떤 수가 들어가 느냐에 따라 y가 바뀌게 됩니다.
> subs(x=-3, y);
위의 함수에 x=-3 을 넣고 계산한 결과입니다. 답은 다들 상상하실 수 잇 죠? 0입니다.
> y;
y는 함수이므로 x+3이 출력됩니다.
> x:=-3;
그러면 다시 x에 -3을 대입해 보겠습니다.
> y;
y의 값이 변해 있는 것을 확인하실 수 있습니다. x에 다른 값을 새로 대입 하고 계산해 보실 수 있습니다.
> y:=t->t+1;
이 식은, y(t)=t+1과 같은 꼴의 함수를 나타냅니다. 앞으로 종종 사용하시 게 될 이런 방식은, 정의할 때는 이렇게 정의하고 사용할 때는 y(t)의 꼴 로 사용하게 됩니다.
> y;
별 게 나오지 않죠? ^^;;;;;; 사용할 때는 그게 아니라고 했잖아요.
> y(t);
그렇습니다. 식이 나오죠. 그렇다는 것은, 이 안에 숫자를 넣으면 계산이 된다는 말이 됩니다.
> y(-3);
-2가 출력되는 것을 확인할 수 있습니다.

초보의 maple – 들어가기

메이플은 컴퓨터를 통해 수학 문제를 풀어주는 가장 강력한 프로그램 중 하나이며, 수학과 컴퓨터, 수치해석 등의 과목을 공부할 때 가장 사람을 정신병원으로 보낼 것 같은(친구들 반응을 관찰하다 보니….) 녀석이기 도 합니다. 어찌 되었건 천재도 아닌 평민인데다가 학부생인 우리에게야 그렇겠지만, 메이플은 상당히 훌륭한 수치 해석적 응용 프로그램으로써, 사용하기 쉽고, 정확하며, 확장하기 쉽다는 장점이 있으며, 또한 가장 작 은 메모리를 요구하면서도, 강력한 기능이 있다고 하는군요. (참고 문서에 는 지금 뭐가 좋고 뭐가 좋고….. 말이 많습니다만 번역하기 귀찮아 넘어 갑니다.) 게다가 윈도에도 리눅스에도 솔라리스에도 잘! 깔리니 더 예쁘 죠.

윈도에서 사용하고 싶으면 아이콘을 클릭하시면 된다는 말까지 해야 할 지 는 모르겠지만. 하여간 유닉스나 리눅스에서 사용하시려면 xmaple 이라는 명령을 쓰시면 됩니다. maple 이라고만 해도 실행되지만, 그래프나 수식 이 예쁘게 나오지 않고….. 아스키 아트가 되어 버립니다. 그런 그래프 를 보자고 메이플을 써서야 되겠습니까.

가장 먼저 뜨는 프롬프트는 > 입니다. 이제 여기에 원하는 수식 등을 넣 어 사용할 수 있는 것인데, 여러 문법의 핵심! 엑기스만 뽑아 말씀드리면 다음과 같습니다. 이 정도는 아셔야 겠죠?

 

  • 함수의 argument는 괄호'(…)’안에 주어진다.
  • 모든 각각의 명령어는 ‘;’과 ‘:’으로 끝난다.
  • 곱하기는 ‘*’로 표현된다.
  • 급수는 ‘^’로 표현된다.

예, 저건 외우세요. 저정도도 모르시면 더 못 배우십니다. ^^ 다음 강좌에 서는 기본 사칙 연산을 시작해 보겠습니다