본문 바로가기
programming language/MATLAB

MATLAB si-prefix string 표현

by __observer__ 2018. 12. 29.
반응형

MATLAB 의 format 명령을 사용하면 명령 창의 출력 표시 형식을 rat, hex, short, long 등으로 변경할 수 있습니다. 공학을 하다보면 숫자를 표현할때 단위에 따라 kilo, giga, mega 등과 같은 단위를 사용하곤 하고 이런 형식으로 바꾸기 위한 방법을 찾아보니 아래 주소에서 괜찮은 코드를 발견해서 소개합니다.

https://kr.mathworks.com/matlabcentral/fileexchange/53886-scientific-prefix-to-number

위 주소에서 다운로드 버튼을 누르면 num2sci.zip 파일을 다운로드 할 수 있고~

num2sci.zip 파일을 압축 해제 한 후에 해당 폴더를 path 에 추가하면 MATLAB 의 아무 디렉토리에서나 사용할 수 있습니다. 폴더를 MATLAB path 에 추가하는 방법은 아래 주소의 글들을 참조하시기 바랍니다.

http://iamaman.tistory.com/1829

http://iamaman.tistory.com/569

http://iamaman.tistory.com/2629

num2sip.m, num2bip.m 함수를 사용할 수 있고 각각 doc num2sip, doc num2bip 이라고 하면 해당 함수에 대한 내용을 보실 수 있습니다.

num2sip 함수는 숫자를 metric prefixed string 으로 변경하는 함수인데 ~ 예를 들어 1000 이라는 숫자를 표현할때는 아시다시피 1 kilo 라고 표현하고 아래와 같이 MATLAB 명령창에 타이핑 하면 됩니다.

>> num2sip(1000)

ans =

1 k

>> num2sip(1e6)

ans =

1 M

num2sip 함수에 대한 설명을 보시면 아시겠지만 아래와 같이 4개 까지 인자를 받을 수 있습니다.

str = num2sip(num, sgf, pfx, trz)

num 은 숫자, sgf 는 표현할 숫자의 자리수, pfx 는 단위의 Full name 으로 할지 Symbol 로 할지 trz 는 자리수를 맞추기 위한 0을 넣을지 말지에 대한 결정입니다.

아래와 같은 예로 사용하시면 됩니다.

>> a=128e6

a =

128000000

>> num2sip(a, [], true, true)

ans =

128.00 mega



반응형

댓글