허수는 Scilab에서 %i 로 입력하므로 복소수도 이것을 이용하여 입력할 수 있다. 예를 들어서 복소수 3i, 2-4i 는 다음과 같이 입력한다.
>> a=3*%i>> b=2-4*%i |
허수부와 허수사이에 곱셈(*) 기호를 빠트리지 않도록 주의하자. 또한 실수부와 허수부의 데이터형은 같아야 에러를 발생시키지 않는다.
복소수를 생성하는 다른 방법으로 complex()함수를 사용하는 방법이 있다. 위의 예와 동일한 입력은 다음과 같다.
>> a=complex(0, 3)>> b=complex(2, -4) |
함수 complex(a, b) 에서 a는 실수부 b는 허수부인데 일반적으로 행렬이 될 수 있다. 둘 중 하나라도 스칼라일 경우 나머지가 행렬일 경우는 에러를 발생시키지 않는다.
그러나 만약 a와 b 둘 다 스칼라가 아니라면 서로 차수가 같아야 에러를 발생시키지 않는다.
위 그림의 예에서는 두 행렬의 차수가 같지 않아서 에러를 발생시킨 것이다.
복소수 관련 함수는 다음 표와 같다.
[표 1] 복소수 관련 함수들
real(z)
|
복소수 z의 실수부 반환
|
imag(z)
|
복소수 z의 허수부 반환
|
imult(z)
|
z*%i 결과 반환
|
isreal(z)
|
z가 복소수라면 %F 반환
|
abs(z)
|
z의 크기를 반환
|
z’
|
z의 켤레복소수를 구한다. 만약 Z가 행렬이라면 복소전치행렬을 구한다.
|
다음 그림에 사용 예를 들었다.
한 가지 유의할 것은 isreal()함수의 결과는 행렬의 모든 요소가 실수일 경우에만 %T 이고 하나라도 복소수가 있다면 %F라는 것이다. 즉, 각각의 요소에 대해서 논리연산을 한 결과를 반환하지 않는다.
댓글 없음:
댓글 쓰기