MATLAB에서 행렬의 원소로 문자열을 사용하는 것이 가능하다. 문자열은 작은 따옴표나 큰따옴표로 묶는다.
>> A=['hi']A = hi>> B="there"B = there |
두 번째 예를 보면 문자열은 그 자체로 행벡터임을 알 수 있다.. 벡터의 각 요소는 하나의 문자인 것이다. 따라서 행렬의 인덱싱도 가능하다.
>> size(B)ans =1 5>> B(3)ans = e>> B(1)="T"B = There |
따라서 다음과 같이 두 행렬을 한 행렬로 표현함으로써 문자열의 합성도 가능하다.
>> C=[A B]C = hiThere |
문자열 행렬도 생성 가능한데 문자열 자체가 행벡터이므로 한 행에 하나의 문자열을 지정해 주면 된다.
>> D=['hi';'there']D =hithere>> size(D)ans =2 5 |
위의 예에서 행렬 D는 첫 번째 행의 크기는 2(문자)이고 두번째 행의 크기는 5(문자)인데 행렬이 구성되었다. 이경우 빈 곳은 공백문자로 채워진다.
문자열 관련 함수들은 다음과 같다.
[표 1] 문자열 관련 함수들
함수 | 기능 |
strcat(s1, s2, …) strvcat(s1,s2,...) | 문자열들을 하나의 행벡터로 합친다. 문자열들을 한 행렬로 합친다.(각 문자열을 별도의 행으로 지정) |
char(x) | 숫자(아스키코드) 행렬로 부터 문자열을 생성한다. |
ischar(x) | x가 문자열이면 논리1(true)반 |
num2str(x) | 숫자를 문자열로 바꾼다. |
sprintf(FORMAT, A,B,...) | C 언어의 printf() 와 같은 기능을 수해하여 문자열 생성 |
lower(s) upper(s) | 문자열을 소문자로 변환 문자열을 대문자로 변환 |
strcmp(s1,s2) | s1과 s2가 같다면 논리1(true)반환, 그렇지 않다면 논리0(flase)반환 |
findstr(s1,s2) | 둘 중 긴 문자열에서 짧은 문자열이 시작되는 인덱스 반환 |
'프로그래밍언어.Lib > MATLAB' 카테고리의 다른 글
MATLAB의 행렬 간 산술 연산 (0) | 2015.06.26 |
---|---|
MATLAB의 상수와 내부 변수들 (0) | 2015.06.25 |
MATLAB의 특수 행렬을 생성하는 함수들 (1) | 2015.06.25 |
MATLAB 행렬의 크기 구하기 (3) | 2015.06.25 |
MATLAB 의 행렬의 인덱싱 방법 (part 3) (0) | 2015.06.24 |