MATLAB
MATLAB에서 문자열을 만드는 것은 매우 간단합니다. 사실, 우리는 그것을 여러 번 사용했습니다. 예를 들어 명령 프롬프트에 다음을 입력합니다. -
라이브 데모my_string = 'Tutorials Point'
MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다 -
my_string = Tutorials Point
MATLAB은 모든 변수를 배열로 간주하고 문자열은 문자형 배열로 간주합니다. who를 사용합시다. 위에서 생성한 변수를 확인하는 명령어 -
whos
MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다 -
Name Size Bytes Class Attributes my_string 1x16 32 char
흥미롭게도 uint8과 같은 숫자 변환 함수를 사용할 수 있습니다. 또는 uint16 문자열의 문자를 숫자 코드로 변환합니다. 문자 함수는 정수 벡터를 다시 문자로 변환합니다 -
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모my_string = 'Tutorial''s Point'; str_ascii = uint8(my_string) % 8-bit ascii values str_back_to_char= char(str_ascii) str_16bit = uint16(my_string) % 16-bit ascii values str_back_to_char = char(str_16bit)
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
str_ascii = 84 117 116 111 114 105 97 108 39 115 32 80 111 105 110 116 str_back_to_char = Tutorial's Point str_16bit = 84 117 116 111 114 105 97 108 39 115 32 80 111 105 110 116 str_back_to_char = Tutorial's Point
지금까지 논의한 문자열은 1차원 문자 배열입니다. 그러나 그 이상을 저장해야 합니다. 프로그램에 더 많은 차원의 텍스트 데이터를 저장해야 합니다. 이것은 직사각형 문자 배열을 생성함으로써 달성됩니다.
직사각형 문자 배열을 만드는 가장 간단한 방법은 필요에 따라 세로 또는 가로로 둘 이상의 1차원 문자 배열을 연결하는 것입니다.
다음 방법 중 하나로 문자열을 세로로 결합할 수 있습니다. -
MATLAB 연결 연산자 [] 사용 각 행을 세미콜론(;)으로 구분합니다. 이 방법에서 각 행은 동일한 수의 문자를 포함해야 합니다. 길이가 다른 문자열의 경우 필요에 따라 공백 문자로 채워야 합니다.
문자 사용 기능. 문자열의 길이가 다른 경우 char는 각 행의 문자 수가 동일하도록 더 짧은 문자열을 후행 공백으로 채웁니다.
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모doc_profile = ['Zara Ali '; ... 'Sr. Surgeon '; ... 'R N Tagore Cardiology Research Center'] doc_profile = char('Zara Ali', 'Sr. Surgeon', ... 'RN Tagore Cardiology Research Center')
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
doc_profile = Zara Ali Sr. Surgeon R N Tagore Cardiology Research Center doc_profile = Zara Ali Sr. Surgeon RN Tagore Cardiology Research Center
다음 방법 중 하나로 문자열을 수평으로 결합할 수 있습니다 -
MATLAB 연결 연산자 [] 사용 및 입력 문자열을 쉼표 또는 공백으로 구분하는 단계를 포함합니다. 이 방법은 입력 배열의 후행 공백을 보존합니다.
문자열 연결 함수 사용, strcat . 이 방법은 입력에서 후행 공백을 제거합니다.
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모name = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center'; profile = [name ', ' position ', ' worksAt] profile = strcat(name, ', ', position, ', ', worksAt)
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
profile = Zara Ali , Sr. Surgeon , R N Tagore Cardiology Research Center profile = Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center
이전 논의에서 배열의 모든 문자열이 동일한 길이여야 하므로 길이가 다른 문자열을 결합하는 것이 어려울 수 있음이 분명합니다. 문자열의 길이를 동일하게 하기 위해 문자열 끝에 공백을 사용했습니다.
그러나 문자열을 결합하는 더 효율적인 방법은 결과 배열을 셀형 배열로 변환하는 것입니다.
MATLAB 셀형 배열은 배열에 다양한 크기와 유형의 데이터를 저장할 수 있습니다. 셀형 배열은 다양한 길이의 문자열을 저장하는 보다 유연한 방법을 제공합니다.
cellstr 함수는 문자형 배열을 문자열로 구성된 셀형 배열로 변환합니다.
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모name = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center'; profile = char(name, position, worksAt); profile = cellstr(profile); disp(profile)
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
{ [1,1] = Zara Ali [2,1] = Sr. Surgeon [3,1] = R N Tagore Cardiology Research Center }
MATLAB은 문자열을 생성, 결합, 구문 분석, 비교 및 조작하는 수많은 문자열 함수를 제공합니다.
다음 표는 MATLAB의 문자열 함수에 대한 간략한 설명을 제공합니다 -
함수 | 목적 |
---|---|
문자 배열에 텍스트를 저장하고 문자 배열을 결합하는 등의 기능 | |
공백 | 공백 문자열 생성 |
셀 문자열 | 문자형 배열에서 문자열로 구성된 셀형 배열 만들기 |
문자 | 문자열(문자열)로 변환 |
iscellstr | 입력이 문자열의 셀형 배열인지 확인 |
ischar | 항목이 문자 배열인지 확인 |
sprintf | 문자열로 데이터 형식 지정 |
strcat | 문자열을 가로로 연결 |
strjoin | 셀형 배열의 문자열을 단일 문자열로 결합 |
문자열 부분 식별, 하위 문자열 찾기 및 바꾸기 기능 | |
ischar | 항목이 문자 배열인지 확인 |
섬 | 알파벳 문자 배열 요소 |
공간 | 공백 문자인 배열 요소 |
isstrprop | 문자열이 지정된 범주에 속하는지 확인 |
sscanf | 문자열에서 형식화된 데이터 읽기 |
문자열 찾기 | 다른 문자열 내에서 한 문자열 찾기 |
스트렙 | 하위 문자열 찾기 및 바꾸기 |
strsplit | 지정된 구분 기호에서 문자열 분할 |
스트록 | 문자열의 선택된 부분 |
검증 문자열 | 텍스트 문자열의 유효성 확인 |
심바 | 표현식에서 기호 변수 결정 |
정규식 | 정규 표현식 일치(대소문자 구분) |
정규식 | 정규 표현식 일치(대소문자 구분하지 않음) |
정규식 준비 | 정규 표현식을 사용하여 문자열 바꾸기 |
정규 번역 | 문자열을 정규 표현식으로 변환 |
문자열 비교를 위한 함수 | |
strcmp | 문자열 비교(대소문자 구분) |
strcmpi | 문자열 비교(대소문자 구분 안함) |
strncmp | 문자열의 처음 n개 문자 비교(대소문자 구분) |
strncpi | 문자열의 처음 n개 문자 비교(대소문자 구분 안함) |
문자열을 대문자 또는 소문자로 변경, 공백 생성 또는 제거 기능 | |
공백 | 문자열 끝에서 후행 공백 제거 |
스트림 | 문자열에서 선행 및 후행 공백 제거 |
낮게 | 문자열을 소문자로 변환 |
상단 | 문자열을 대문자로 변환 |
문자열 | 문자 배열 정렬 |
다음 예는 위에서 언급한 문자열 함수의 일부를 보여줍니다 -
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모A = pi*1000*ones(1,5); sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
ans = 3141.592654 3141.59 +3141.59 3141.59 000003141.59
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모%cell array of strings str_array = {'red','blue','green', 'yellow', 'orange'}; % Join strings in cell array into single string str1 = strjoin(str_array, "-") str2 = strjoin(str_array, ",")
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
str1 = red-blue-green-yellow-orange str2 = red,blue,green,yellow,orange
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모students = {'Zara Ali', 'Neha Bhatnagar', ... 'Monica Malik', 'Madhu Gautam', ... 'Madhu Sharma', 'Bhawna Sharma',... 'Nuha Ali', 'Reva Dutta', ... 'Sunaina Ali', 'Sofia Kabir'}; % The strrep function searches and replaces sub-string. new_student = strrep(students(8), 'Reva', 'Poulomi') % Display first names first_names = strtok(students)
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
new_student = { [1,1] = Poulomi Dutta } first_names = { [1,1] = Zara [1,2] = Neha [1,3] = Monica [1,4] = Madhu [1,5] = Madhu [1,6] = Bhawna [1,7] = Nuha [1,8] = Reva [1,9] = Sunaina [1,10] = Sofia }
스크립트 파일을 만들고 다음 코드를 입력하십시오 -
라이브 데모str1 = 'This is test' str2 = 'This is text' if (strcmp(str1, str2)) sprintf('%s and %s are equal', str1, str2) else sprintf('%s and %s are not equal', str1, str2) end
파일을 실행하면 다음과 같은 결과가 표시됩니다. -
str1 = This is test str2 = This is text ans = This is test and This is text are not equal
MATLAB
MATLAB은 내림차순으로 정렬된 계수를 포함하는 행 벡터로 다항식을 나타냅니다. 예를 들어, 방정식 P(x) =x4 + 7x3 - 5x + 9는 −로 나타낼 수 있습니다. p =[1 7 0 -5 9]; 다항식 평가 다중 함수는 지정된 값에서 다항식을 평가하는 데 사용됩니다. 예를 들어, 이전 다항식 p를 평가하려면 , x =4에서 −를 입력합니다. 라이브 데모 p = [1 7 0 -5 9]; polyval(p,4) MATLAB은 위의 명령문을 실행하고 다음 결과를 반환합니다. - ans = 693 MATLAB은 p
Simulink는 MATLAB과 통합된 동적 및 임베디드 시스템을 위한 시뮬레이션 및 모델 기반 설계 환경입니다. MathWorks에서 개발한 Simulink는 다중 도메인 동적 시스템을 모델링, 시뮬레이션 및 분석하기 위한 데이터 흐름 그래픽 프로그래밍 언어 도구입니다. 기본적으로 사용자 정의 가능한 블록 라이브러리 세트가 있는 그래픽 블록 다이어그램 도구입니다. 이를 통해 MATLAB 알고리즘을 모델에 통합하고 추가 분석을 위해 시뮬레이션 결과를 MATLAB으로 내보낼 수 있습니다. Simulink는 −를 지원합니다. 시스