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

 
Previous Post 매스매티카] 극한 값 구하기, 리미트, 좌극한, 우극한; Mathematica lim Li...자바스크립트] 배열의 평균 값, 합계 구하기 함수; JavaScript Sum, Avera...자바스크립트] 중간값, 중앙값(메디안) 구하기 함수; JavaScript Median Fu...Python 파이썬] 중앙값, 중간값, 메디안 구하기 함수; Median Function매스매티카] 무한급수의 합 구하기, 무한합; Mathematica Infinite Seri...디카] 니콘 D40X, D40의 B셔터 사용법; 벌브 셔터(Bulb Shutter)Excel VBA 엑셀 비베] 무한 루프, 루프 탈출, 빠져 나오기 방법; Do Loop ...Java 자바] double 배열 중앙값, 중간값, 메디안 구하기 메서드; Median M...B셔터, T셔터 차이점; 벌브 셔터(Bulb Shutter), 타임 셔터(Time Shut...C언어] double 배열 중앙값, 중간값, 메디안 구하기 함수; Median Functi...

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

Wednesday, May 30, 2007

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

예를 들어, 변수 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 라는 함수가 삭제됩니다.



0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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