Mathematica 5.0 기본명령어

 

Mathematica 기본명령어 정리.

주요 명령어

계산 실행하기: [Shift]+[Enter]
Mathematica에서는 실행 명령이 [Enter]키가 아닌 [Shift]+[Enter]키이다.
단순한 [Enter]키는 다음 칸으로 이동하는 명령.

ex) 2+3 를 타이핑한 뒤 [Shift]+[Enter]를 누르면 결과값 5가 나온다.

설명
기호
더하기 +
빼기 -
곱하기 *
나누기 /
제곱 ^
제곱근 √ Sqrt[ 식 ]
n제곱근 ^(1/n) ex) 3의 5제곱근: 3^(1/5)
계승 ! !
같다 ==
같지않다 !=
   
주석문 표시 (* 들어갈 내용 *)
근사값 구하기

N[식, 구할 자리수]
N[Pi, 100] (π값 100자리까지 구하기)

근사값 구하기 약식 식//N
실수값 구하기 약식 숫자 뒤에 .을 찍으면 답이 실수로 표시된다.
바로 앞의 결과 표시, 출력결과 이용 %

%: 바로 앞의 결과표시, 출력결과 이용
%%%...%: 현재로부터 k번째 앞의 결과표시, 출력결과 이용
%n 또는 Out[n]: n번째 식의 결과표시, 출력결과 이용
수식//Short 또는 Short[수식]: 수식의 1행 출력결과물이 긴 경우 중간 항들이 생략되고 한 행에 출력.

주요 상수들

상수명
표시
원주율 π
Pi
자연로그의 밑 e
E
허수 i
I
무한 ∞
Infinity
삼각함수 sin, cos, tan
Sin[], Cos[], Tan[]
   
* 삼각함수는 기본적으로 radian 값이 적용된다. 각도를 적용할 경우는 뒤에 Degree를 붙인다.
ex) 5 라디안값에의한 sin값 구하기: Sin[5]//N => 0.283662
5도 각도값에의한 sin값 구하기: Sin[5 Degree]//N => 0.996195

[방정식, 인수분해, 전개, 시그마, 프로덕트]

Expand[수식]: 주어진 수식을 전개.
Factor[수식]: 주어진 수식을 인수분해
Together[유리식]: 주어진 유리식을 통분
Simplify[수식]: 주어진 수식을 단순화시켜 최소 갯수의 항으로 만듬.
Collect[수식,변수명]: 주어진 수식을 주어진 변수명에대해 정리

Sum[f(i), {i,a,b}]: 시그마 i= a에서 b까지의 합
NSum[f(i), {i,a,b}]: 시그마 i= a에서 b까지 합의 근사치
Product[f, {i, imax}]: 프로덕트 i=1에서 max의 곱

Solve[좌변==우변, x]: 주어진 방정식을 x에대해 풀기-방정식 풀이
NSolve[좌변==우변, x]: 주어진 방정식(좌변=우변)의 근사해를 구함

ex) x + 3 = 0 일때 x는? --> Solve[x + 3 == 0, x]
2차 방정식의 일반해 구하기: Solve[a x^2 + b x + c == 0, x]

[함수]

(* 1변수함수 *)
f[x_] = x^2 + 1
ex) f[4] --> 1 + x^2 --> 17

(* 2변수함수 *)
f[x_, y_] = x^2 + y^2
ex) f[4, 2] --> x^2 + y^2 --> 20

(* 절대값함수 *)
Abs[x]
ex) Abs[-5] --> 5

(* 제곱근함수 *)
Sqrt[x]
ex) Sqrt[9] --> 3

(* 삼각함수 *)
Sin[x], Cos[x], Tan[x]
Csc[x], Sec[x], Cot[x]
ex) Sin[45 Degree], Sin[45. Degree], Sin[45], Sin[45.], Sin[Pi/2]

(* 자연대수: ln x *)
Log[x]
(* 밑이 a인 로그함수*)
Log[a, x]

(* 지수함수 *)
E^x, Exp[x]
ex) Exp[10] --> E^10
Exp[10] // N --> 22026.5
Exp[10.] --> 22026.5

(* 가우스함수 *)
Floor[x]
ex) Floor[5.9] --> 5

Degree : Pi/180
ex) Degree // N --> 0.0174533

?f : 함수 f의 정의를 알려줌
Clear [f] : 함수 f에 입력된 정의를 없애줌

[미적분]

(* 도함수, f(x)의 x에대한 미분: df/dx *)
D[f[x], x]
ex) D[x^2 + 3 x + 4, x] --> 3 + 2 x
D[Sin[x], x] --> Cos[x]

(* n계 도함수: d^nf/dx^n *)
D[f[x], {x, n}]
ex) D[x^3 + 3 x^2 + 4 x + 5, {x, 1}] --> 4 + 6 x + 3 x^2
D[x^3 + 3 x^2 + 4 x + 5, {x, 2}] --> 6 + 6 x
D[x^3 + 3 x^2 + 4 x + 5, {x, 3}] --> 6

(* 편미분 *)
D[f[x1, x2], x1, x2]
D[f[x1, x2, x3], x1, x2, x3]

(* 전미분 *)
Dt[f[x, y]]
ex) Dt[x^2 + y^2] --> 2 x Dt[x] + 2 y Dt[y]

(* 부정적분 *)
Integrate[f, x]
ex) Integrate[x^2 + 3 x + 4, x] --> 4 x + (3 x^2)/2 + x^3/3

(* 정적분 *)
Integrate[f, {x, xmin, xmax}]
ex) Integrate[x^2 + 3 x + 4, {x, -2, 2}] --> 64/3

(* 근사 수치 적분 *)
NIntegrate[f, {x, xmin, xmax}]

[극한(Limit)]

Limit[f (x), x

(* 좌극한 *)
Limit[f (x), x -> Subscript[x, 0], Direction -> 1]
(* 우극한 *)
Limit[f (x), x -> Subscript[x, 0], Direction -> -1]
(* 근사 수치 극한*)
NLimit[f (x), x -> Subscript[x, 0]]

ex) Limit[1/x, x -> Infinity] --> 0
Limit[(1 + (1/n))^n, n -> Infinity] // N --> 2.71828
N[E, 100] --> 2.71828182845904523536028747135266249775724709369995957496696762772407
6630353547594571382178525166427

[벡터와 행렬(Vector, Matrix) ]

v={a,b,c}: 벡터 v=(a,b,c)
A={{a,b},{c,d}}: 행렬 A=(a b/ c d)
Det[A]: 주어진 정방행렬 A의 행렬식 ->|A|

Inverse[A]: 주어진 정방행렬 A의 역행렬 -> A^-1
Transpose[A]: 주어진 정방행렬 A의 전치행렬
행렬//MatrixForm 또는 MatrixForm[행렬]: 목록을 행렬형태로 출력.

ex)
v1 = {0, 1, 2};
v2 = {2, 1, 0};
v3 = {1, 1, 1};
v1 + v2 + v3 (* 벡터의 합 *) --> {3, 3, 3}
v1 + v2 --> {2, 2, 2}
v1 - v2 (* 벡터의 차 *) --> {-2, 0, 2}
-1*v1 --> {0, -1, -2}

(* 행렬 (0 1 2/ 2 1 0/ 1 1 1)의 표현 *)
M = {v1, v2, v3}
{{0, 1, 2}, {2, 1, 0}, {1, 1, 1}}
MatrixForm [M] (* 행렬형태로 보이게 하기 *)
(* Input-Creat Table/Matrix/Palette 메뉴를 이용해 만들 수도 있다. 단축키는 Shift+Ctrl+C *)

(* (1 2 -3/ 1 -2 1/ 5 -2 -3)의 역행렬 구하기 *)
A = {{1, 2, -3}, {1, -2, 0}, {5, -2, -3}};
A // MatrixForm
MatrixForm[Inverse[A]]

[그래프, 그래픽, 애니메이션]

Options[Graphics] (* 그래픽을 사용하기위한 설정으로 변경 *)

Plot[x + 5, {x, -5, 5}] (* 마지막에 ;를 붙이면 -Graphics- 글자가 나타나지 않는다. ;의 원래기능은 실행하되 출력결과를 화면에 출력하지 않는 것 *)

Plot[x + 5, {x, -5, 5}, {AspectRatio -> Automatic}](* 그래프의 가로,세로 비율을 1:1로 해주는 옵션: {AspectRatio -> Automatic} *)

Plot[x^2 + 3 x + 5, {x, -10, 10}] (* 곡선인 그래프 그리기 *)
Plot[{x^2 + 3 x + 5, x + 3}, {x, -20, 20}]

Plot[{x^2 + 3 x + 5, x + 3, 50^(1/x)}, {x, -10, 10}] (* 여러 곡선의 그래프 한꺼번에 그리기 *)

Plot3D[Sin[x*y], {x, -Pi, Pi}, {y, -Pi, Pi}] (* 3차원 그래프 그리기 *)

Plot[Cos[x], {x, -2 Pi, 2 Pi}, {AspectRatio -> Automatic}] (* 코사인 곡선 그리기 *)

ListPlot[{{1, 3}, {2, 1}, {3, -1.3}, {4, 0}, {5, 2}}, PlotStyle -> AbsolutePointSize[4]] (* 점의 크기를 실제의 4배로 만들기: PlotStyle -> AbsolutePointSize[4] *)

ListPlot[{3, 1, -1.3, 0, 2}, PlotStyle -> AbsolutePointSize[4]] (* x좌표가 1, 2, 3, 4...일 경우 x 좌표를 생략할 수 있다. *)

Plot[Sin[x], {x, 0, 2 Pi}];
Plot[Sin[x], {x, 0, 2 Pi}, AxesOrigin -> {Pi/2, 0}, PlotLabel -> "Graph of Sine", AxesLabel -> {"X", "Y"}] (* x, y 좌표축이 만나는 점 이동하기 : AxesOrigin -> {Pi/2, 0}, 함수의 그래프에 이름 붙이기 : PlotLabel -> "Graph of Sine", 각 축에 이름 붙이기 : AxesLabel -> {"X", "Y"} *)

Plot[{Sin[x], Sin[2 x], 2 Sin[x]}, {x, 0, 2 Pi}]
Show[GraphicsArray[{{a1}, {a2}, {a3}}]] (* 한번에 여러 함수의 그래프들을 보일 수 있고 GraphicsArray[]함수를 이용해 각각의 그래프를 따로 보일 수도 있다.*)

a1 = Plot[Sin[x], {x, 0, 2 Pi}];
a2 = Plot[ Sin[2 x], {x, 0, 2 Pi}];
a3 = Plot[2 Sin[x], {x, 0, 2 Pi}];
Show[a1, a2, a3] (* 위와 같은 결과를 반대의 방식으로 나타낸 것. *)

a = ParametricPlot[{2 Sin[t], 2 Cos[t]}, {t, 0, 2 Pi}]
Show[a, AspectRatio -> Automatic] (* x=f(t), y=g(t) 형태인 매개변수 방식 그래프 그리기 *)

ParametricPlot3D[{x, y, x^2 + y^2}, {x, -2, 2}, {y, -2, 2}] (* 영역 {-2, 2}*{-2,2}에서 포물면 z=x^2+y^2을 Plot3D가 아닌 ParametricPlot3D로 그리기 *)

r = Sqrt[x^2 + y^2]
b = Plot3D[Sin[r]/r, {x, -10, 10}, {y, -10, 10}]
Show[b, PlotRange -> All]

<< Graphics`Graphics`(* Package 불러오기가 안되서 속 썩음. (`<- 이건 Esc 아래에 있는 키. 엔터키 옆의 키가 아니다.) 이 불러오기가 안되면 PolarPlot을 이용할 수 없다. 현재까지 성공 못 함. *)

PolarPlot[4*Cos[2 t], {t, 0, 2 Pi}] (* 극좌표상의 그래프 그리기 *)

u[x_, t_] = Sin[x] Cos[t];
Table[Plot[u[x, t], {x, 0, Pi}, PlotRange -> {-1, 1}], {t, 0, 2 Pi, 0.25}] (* 애니메이션 효과 *)

Show[Graphics3D[Sphere[1, 20, 20]]] (* 3차원 구 모양 그리기 *)

Table[Plot3D[Sin[3 Pi*x] Sin[2 Pi*y] Cos[Pi*t], {x, 0, 1}, {y, 0, 1},
PlotRange -> {-1, 1}], {t, 0, 1, 0.1}] (* 3차원 물결모양 파동 그래프 그리기-애니메이션 효과 *)

Needs["ProgrammingInMathematica`NotebookStuff`"]
Needs["Graphics`Animation`"]
<< ProgrammingInMathematica`AutoAnimation`
$AnimationTime = 10;
Animate[ParametricPlot[{Sin[2 u], Cos[3 u + t]}, {u, 0, 2 [Pi]}, PlotRange -> {{-1, 1}, {-1, 1}}, AspectRatio -> 1, Axes -> None], {t, 0, 2 \[Pi]}, Frames -> 18]

Table[Plot3D[Cos[n*x] Sin[y], {x, -2 Pi, 2 Pi}, {y, -2 Pi, 2 Pi}], {n, 1, 10, 2}]

<< Graphics`Animation`
MovieParametricPlot[{s Cos[2 Pi s + t], s Sin[2 Pi s + t]}, {s, 0, 4}, {t, 0, 2, Pi}, Frames -> 10, Axes -> False, AspectRatio -> Automatic, PlotRange -> {{-4, 4}, {-4, 4}}]

g = ParametricPlot3D[{x, Cos[t] Sin[x], Sin[t] Sin[x]}, {x, -Pi, Pi}, {t, 0, 2 Pi}, Axes -> False, Boxed -> False];
SpinShow[g, Frames -> 10, SpinRange -> {0 Degree, 180 Degree}];

<< Graphics`Animation`
Animate[Plot[Sin[n*x], x, -Pi, Pi], n, 1, 10, 2];
a = Plot[Sin[x], {x, -Pi, Pi}, DisplayFunction -> Identity];
b = Plot[Sin[5 x], {x, -Pi, Pi}, DisplayFunction -> Identity];
c = Plot[Sin[10 x], {x, -Pi, Pi}, DisplayFunction -> Identity];
ShowAnimation[{a, b, c}]

나중에 보충할 예정.

-2013.2.7(목) 추가
-2014.10.4(토) 추가