mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Wednesday, May 30, 2007

매스매티카] 함수 정의 방법, 사용자 함수 만들기; Mathematica User Defined Function


매스매티카에 무수히 많은 함수들이 이미 내장되어 있지만, 사용자가 직접 함수를 정의하여 사용할 수도 있습니다. 일반 프로그래밍 언어에서와 마찬가지입니다.

예를 들어, 변수 x에 10을 더한 후 반환하는 단순한 함수를, f(x) 라는 이름으로 정의하려면

f[x_] := x + 10

이렇게 하면 됩니다. 함수 인수인 x 뒤에 밑줄(_)을 넣어서 x_ 이렇게 해야 합니다. 다만 우변의 x 에는 밑줄을 붙이면 안됩니다.

이제 매스매티카의 노트북(하얀 빈 종이)에
f[3]
이렇게 입력하고 Shift+Enter키를 치면 13 이 출력됩니다.


사용자 정의 함수명은 소문자로 시작


addTen[x_] := x + 10
이렇게 함수명을 여러 글자로 지정해도 됩니다.

다만 함수명의 첫글자는 소문자여야 합니다.

AddTen[x_] := x + 10

ADDTEN[x_] := x + 10

이렇게 대문자로 시작하는 함수명은 좋지 않습니다. 매스매티카의 기본 내장 함수와 상수들은 반드시 대문자로 시작하고, 사용자 정의 함수는 반드시 소문자로 시작하는 것이 관례입니다. 그래야 내장 함수인지 사용자 정의 함수인지 쉽게 구분할 수 있기 때문입니다.

그리고 매스매티카는 항상 대소문자를 엄격히 구분하기에, addTen[x_] 와 AddTen[x_] 는 서로 전혀 다른 함수입니다.


파라미터(매개변수) 여러 개 지정


x의 y제곱을 반환하는 함수를 정의하려면

f[x_, y_] := x^y

이렇게 합니다.

이전에
f[x_] := x + 10
이런 함수를 정의했다면,

f[x_, y_] 함수와 f[x_] 함수는 동시에 공존합니다.

f[3]
이렇게 변수 1개를 넣으면 f[x_] 함수가 실행되어 13이 나오고

f[2, 3]
이렇게 두 개를 넣으면, f[x_, y_] 함수가 실행되어 8이 출력됩니다. "함수 오버로딩 기능"인 듯한데, 매스매티카 매뉴얼에 여기에 대한 설명이 보이지 않았습니다.

?f
라고 하면, 함수 f 의 정의가 출력됩니다.




함수 삭제


Clear[f]
이렇게 하면 f 라는 함수가 삭제됩니다.




tag: mathematica
매스매티카 Mathematica | 수학 Math

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top