허수는 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라는 것이다. 즉, 각각의 요소에 대해서 논리연산을 한 결과를 반환하지 않는다.



Posted by 살레시오
,