기본적인 연산자
다음 표에 기본적인 Scilab연산자를 정리하였다. Scilab의 기본 객체는 ‘행렬’이므로 피연산자도 일반적으로 ‘행렬’이다.
[표 1] 기본 연산자
연산자
|
기능
|
+
|
덧셈(이항연산자), +부호(단항연산자)
|
-
|
뺄셈(이항연산자), -부호(단항연산자)
|
*
|
곱셈
|
.*
|
요소간 곱셈
|
.*.
|
Kronercker 곱셈. kron(A,B)와 동일
|
/
|
나눗셈
|
\
|
역나눗셈 (즉 a\b 는 b를 a로 나눈다)
|
./
|
요소간 나눗셈
|
.\
|
요소간 역나눗셈
|
./.
|
Kronecker 나눗셈
|
.\.
|
Kronecker 역나눗셈
|
^ 또는 **
|
거듭 제곱
|
.^
|
요소간 거듭 제곱
|
‘(작은따옴표)
|
복소 전치 행렬
|
.’(점작은따옴표)
|
단순 전치 행렬
|
이 표에서 보면 요소간 연산자가 있는데 이것은 행렬 간 연산에서 같은 요소끼리의 연산을 수행한다. 예를 들어서 두 행렬 A, B에 대해서 A*B는 보통의 행렬곱으로 A의 열수와 B의 행수가 같아야 성랍하지만 A.*B 는 같은 위치의 요소끼리 곱셈을 수행하므로 A와 B의 크기가 같아서 수행된다. 예제는 행렬에 대해서 알아볼 때 들겠다.
대입문을 작성할 때 tuple을 사용하여 한 번에 여러 변수를 지정하는 것이 가능하다. tuple 은 괄호 ( ) 를 사용하는데 각각의 요소는 반드시 comma (,)로 구분해야 한다. 이 기능을 사용하면 변수들을 서로 swap하는 데도 간결하게 사용할 수 있다.(이 기능은 python과 흡사하다.)
아래에서 첫 번째 예가 변수 u, v 그리고 w 를 동시에 생성하는 것이다. 좌변에는 [ ... ] 를 우변에서 tuple을 지정할 때는 ( ... ) 를 사용했음에 유의해야 한다, 두 번째 예는 u와 v의 값을 서로 맞바꾸는 것이다.
내부 상수들
다음 표에 미리 정의되어 사용되는 내부 상수들을 정리하였다. 이 변수들은 모두 %로 시작하며 사용자가 덮어 쓸 수 없다.(즉, 재정의될 수 없다.)
[표 2] Scilab의 기정의된 내부 상수들
변수명
|
의미
|
%i
|
허수 ()
|
%e
|
자연상수 (2.718281…)
|
%pi
|
원주율 (3.142592…)
|
%eps
|
표현가능한 가장 작은 수(약 2.2e-16)
|
%inf
|
무한대
|
%nan
|
not a number
|
%t or %T
|
(논리적) 참
|
%f or %F
|
(논리적) 거짓
|
%s
|
다항식 s=poly(0,’s’)
|
%z
|
다항식 s=poly(0,’z’)
|
%io
|
표준 I/O
|
Scilab의 식별자에서 ‘%’를 사용할 수 있는데 맨 첫자로만 사용가능하다. 따라서 위의 상수들은 모두 특정 값이 저장되어 있고 변경할 수 없는 변수와 같이 취급된다.
댓글 없음:
댓글 쓰기