본문 바로가기

MATLAB/ㄴ 함수

함수

 


 

cell()

셀형 배열의 생성

셀형 배열은 셀이라는 인덱싱된 데이터 컨테이너를 사용하는 데이터형입니다. 

각 셀에는 모든 데이터형이 포함될 수 있습니다. 

셀형 배열은 주로 텍스트 목록, 텍스트와 숫자 조합, 각기 크기가 다른 숫자형 배열 중 하나를 포함합니다. 

셀 집합을 참조하려면 인덱스를 소괄호 ( ) 로 묶으십시오.

셀의 내용에 액세스하려면 중괄호 { } 로 인덱스를 참조하십시오.

https://www.mathworks.com/help/releases/R2023b/matlab/ref/cell.html

 


 

cell2mat()
셀형 배열을 기본 데이터형의 일반 배열로 변환

A = cell2mat(C)는 셀형 배열을 일반 배열로 변환합니다. 

셀형 배열을 구성하는 요소의 데이터형은 모두 같아야 하며, 결과로 생성되는 배열의 데이터형도 같습니다.
C의 내용은 N차원 사각 행렬로의 결합(Concatenate)을 지원해야 합니다. 

그렇지 않으면 결과가 정의되지 않습니다.

예를 들어, 열이 동일한 셀 내용의 경우 행의 개수는 동일할 필요가 없지만 열의 개수는 동일해야 합니다

(그림 참조).

https://www.mathworks.com/help/releases/R2023b/matlab/ref/cell2mat.html

 

 


 

char()

문자형 배열의 생성

숫자형 배열이 일련의 숫자인 것처럼, 문자형 배열은 일련의 문자입니다.

일반적인 사용법은 짧은 텍스트 조각을 문자형 벡터에 한 줄의 문자로 저장하는 것입니다.

https://www.mathworks.com/help/releases/R2023b/matlab/ref/char.html

 


 

copyobj()

그래픽스 객체(Graphics Object)와 그 후손(Descendant) 복사

copyobj는 객체의 복사본을 만들고 새 부모에 할당합니다.
새 부모는 복사된 객체에 적합해야 합니다. 

예를 들어, axes는 Figure나 uipanel로만 복사될 수 있습니다. copyobj는 자식도 복사합니다.
new_handle = copyobj(h,p)는 h가 식별하는 하나 이상의 그래픽스 객체를 복사하고

새 객체의 핸들 또는 새 객체로 구성된 배열을 반환합니다.

새 그래픽스 객체는 p로 지정된 그래픽스 객체의 자식이 됩니다.
copyobj(___,'legacy')는 객체 콜백 속성과 객체 응용 프로그램 데이터를 복사합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/copyobj.html?searchHighlight=copyobj&s_tid=doc_srchtitle

 


 

fileparts()

파일 이름 중 일부 가져오기

[filepath,name,ext] = fileparts(filename) 은 지정된 파일의 경로 이름, 파일 이름, 확장자를 반환합니다.
fileparts는 지정한 filename만 구문 분석합니다. 파일의 존재 유무까지는 확인하지는 않습니다.

https://www.mathworks.com/help/releases/R2023b/matlab/ref/fileparts.html

 


 

fix()

0 방향으로 반올림(Round Toward Zero)

Y = fix( X )는 X의 각 요소를 0 방향의 가장 가까운 정수로 반올림합니다.

이 연산은 X의 각 숫자의 소수부를 제거하여 정수가 되도록 합니다.

 


 

floor()

내림

floor(X)에서, X의 각 요소를 해당 요소보다 작거나 같은 가까운 정수로 내림

 

https://www.mathworks.com/help/releases/R2023b/matlab/ref/floor.html

 


 

fprintf()

텍스트 파일에 데이터 쓰기

fprintf (fileID, formatSpec, A1, ..., An) 은 formatSpec을 배열 A1,...An의 모든 요소에 열 순서로 적용하고

텍스트 파일에 데이터를 씁니다. fprintf는 fopen 호출에 지정된 인코딩 체계를 사용합니다.

 

 

 


 

imageDatastore()

이미지데이터의 데이터저장소 생성

개별 이미지는 메모리에 맞지만 전체 이미지 모음은 메모리에 맞지 않을 수 있습니다.

이러한 이미지 파일 모음을 관리하기 위해 ImageDatastore 객체를 사용합니다. 

imageDatastore 함수를 사용하여 ImageDatastore 객체를 만들고 그 속성을 지정한 다음, 

객체 함수를 사용하여 데이터를 가져오고 처리할 수 있습니다.

imds = imageDatastore(location)은 location으로 지정된 이미지 데이터 모음에서 

imds 데이터저장소를 만듭니다.

https://www.mathworks.com/help/releases/R2023b/matlab/ref/matlab.io.datastore.imagedatastore.html

 


 

imagesc()

스케일링된 색으로 이미지를 표시
imagesc(C)는 배열 C의 데이터를 컬러맵의 전체 색 범위를 사용하는 이미지로 표시합니다. 

C의 각 요소는 이미지의 한 픽셀에 대한 색을 지정합니다. 결과 이미지는 m×n 그리드의 픽셀입니다. 

여기서 m은 C의 행 개수이고 n은 열 개수입니다. 

요소의 행과 열 인덱스에 따라 해당하는 픽셀의 중심이 결정됩니다.

https://kr.mathworks.com/help/matlab/ref/imagesc.html?searchHighlight=imagesc&s_tid=srchtitle_support_results_1_imagesc

 


 

 

imread()

그래픽스 파일에서 이미지 읽기

https://kr.mathworks.com/help/matlab/ref/imread.html?searchHighlight=imread&s_tid=srchtitle_support_results_1_imread

 


 

infeasibility()

최적화 문제의 제약 조건이 충족되지 않을 때 각 제약 조건의 불충족 정도를 계산

이 함수는 최적화 문제에서의 실현불가능성을 측정하는데 유용합니다.

실현 불가능성이 0이면 해가 실현 가능한 것입니다.

https://kr.mathworks.com/help/optim/ug/optim.problemdef.optimizationconstraint.infeasibility.html

 


 

 

interp1()

1차원 데이터 보간(테이블 룩업)

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/interp1.html

 


 

 

isdeployed

코드가 배포 모드에서 실행 중인지 / MATLAB 모드에서 실행 중인지를 테스트

X = isdeployed는 해당 함수가 배포 모드에서 실행 중일 때 true를 반환하고,

MATLAB 환경에서 실행 중일 때 false를 반환합니다.
즉, 이 함수는 현재 실행 모드를 확인하여 런타임 환경에서 어떻게 실행 중인지 판단하는데 사용됩니다.

https://kr.mathworks.com/help/compiler/isdeployed.html?searchHighlight=isdeployed&s_tid=srchtitle_support_results_1_isdeployed

 


 

 

isnumeric()

입력값이 숫자형 배열인지 확인

TF = isnumeric(A)는 A가 숫자 데이터형 배열이면 논리값 1(true)을 반환합니다. 

그렇지 않으면 논리값 0(false)을 반환합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/isnumeric.html?searchHighlight=isnumeric&s_tid=doc_srchtitle

 


 

 

isscalar()

입력값이 스칼라인지 확인

TF = isscalar( A )는 A가 스칼라이면 논리값 1(true)을 반환합니다.

그렇지 않으면 논리값 0(false)을 반환합니다. 스칼라는 크기가 1×1인 2차원 배열입니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/isscalar.html?searchHighlight=isscalar&s_tid=doc_srchtitle

 

 


 

 

nargin

함수 입력 인수의 개수

nargin은 현재 함수에 전달된 입력 인수의 수를 나타내는 내장 변수입니다. 

함수 내에서 사용하여 현재 함수가 몇 개의 입력 인수를 받았는지 확인할 수 있습니다.

arguments 유효성 검사 블록을 사용할 때, 함수 내에서 nargin에 의해 반환되는 값은 

함수 호출 시 제공되는 위치 인수의 개수입니다. 

 

nargin(fun)은 fun 함수 정의에 나타나는 입력 인수 개수를 반환합니다.

함수의 정의에 varargin이 포함된 경우 nargin은 입력값 개수를 음수로 반환합니다.

 

 

예를 들어, 함수 myFun이 입력 인수 a, b, varargin을 선언하는 경우 nargin('myFun')은 -3을 반환합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/nargin.html?searchHighlight=nargin&s_tid=doc_srchtitle

 


 

 

numel()

배열 요소의 개수

n = numel( A )는 배열 A의 요소 개수 n을 반환합니다. 이는 prod(size(A))와 동일합니다.

 

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/double.numel.html?searchHighlight=numel&s_tid=doc_srchtitle

 


 

optimoptions()

최적화 함수를 사용할 때 옵션을 설정하기 위한 함수

최적화 함수는 함수의 최솟값이나 최댓값을 찾는 데 사용되며,

optimoptions를 통해 최적화 알고리즘의 동작을 세부적으로 제어할 수 있습니다.

https://kr.mathworks.com/help/optim/ug/optim.problemdef.optimizationproblem.optimoptions.html?searchHighlight=optimoptions&s_tid=srchtitle_support_results_1_optimoptions


 

optimproblem()

최적화 문제 만들기

prob = optimproblem은 디폴트 속성을 사용하여 최적화 문제를 만듭니다.

prob = optimproblem(Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용합니다. 

예를 들어, 최소화 문제 대신 최대화 문제를 지정하려면 prob = optimproblem('ObjectiveSense','maximize')를 사용합니다.

https://kr.mathworks.com/help/optim/ug/optimproblem.html?searchHighlight=optimproblem&s_tid=srchtitle_support_results_1_optimproblem

 


 

optimvar()

최적화 변수 만들기

최적화 변수는 기호 객체로서, 해당 변수에 관한 목적 함수 및 문제 제약 조건의 표현식을 만들 수 있습니다.

x = optimvar(name)은 스칼라 최적화 변수를 만듭니다. 

 

 

x = optimvar(name,n)은 최적화 변수로 구성된 n×1 벡터를 만듭니다.

https://kr.mathworks.com/help/optim/ug/optimvar.html?searchHighlight=optimvar&s_tid=srchtitle_support_results_1_optimvar

 


 

 

rem()

나눗셈의 나머지

r = rem(a, b)는 a를 b로 나눈 후의 나머지를 반환합니다.

이 함수는 나머지 연산이라고도 하며 r = a - b .* fix(a ./ b)로 표현될 수 있습니다. 

rem 함수는 rem(a,0)이 NaN인 규칙을 따릅니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/rem.html?searchHighlight=rem&s_tid=doc_srchtitle

 


 

 

repmat()

배열의 복사본을 반복

B = repmat(A,n)은 A의 복사본 n개를 포함하는 배열을 행과 열 차원으로 반환합니다. 

A가 행렬인 경우 B의 크기는 size(A) * n입니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/repmat.html?searchHighlight=repmat&s_tid=doc_srchtitle

 

 


 

round()

가장 가까운 소수 자릿수 또는 정수로 반올림

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/round.html?searchHighlight=round&s_tid=doc_srchtitle

 


 

rows2vars()

테이블을 재배치하여 행이 변수가 되도록 함

행 벡터를 변수로 변환하는 데 사용됩니다.

이 함수는 행 벡터를 입력으로 받아 각 열을 변수로 하는 테이블을 생성합니다. 

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/table.rows2vars.html?searchHighlight=rows2vars&s_tid=doc_srchtitle

 


 

 

sortrows()

행렬 또는 테이블의 행 정렬

B = sortrows(A)는 첫 번째 열의 요소를 기준으로 행렬의 행을 오름차순으로 정렬합니다. 

첫 번째 열에 반복된 요소가 있으면 sortrows는 다음 열의 값에 따라 정렬하고 

이후에 나오는 동일한 값에 대하여 이 동작을 반복합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/double.sortrows.html?searchHighlight=sortrows&s_tid=doc_srchtitle

 


 

solve()
최적화 문제 또는 방정식 문제 풀기

sol = solve(prob)는 최적화 문제 또는 방정식 문제 prob를 풉니다.
sol = solve(prob,x0)은 점 또는 값 집합 x0에서 시작하여 prob를 풉니다.

https://kr.mathworks.com/help/optim/ug/optim.problemdef.optimizationproblem.solve.html?searchHighlight=solve&s_tid=srchtitle_support_results_2_solve

 


 

sprintf()

데이터 형식을 string형 또는 문자형 벡터로 지정

str = sprintf(formatSpec,A1,...,An)은 formatSpec으로 지정된 형식 지정 연산자를 사용하여 

배열 A1,...,An의 데이터 값의 형식을 지정하고, 결과로 생성되는 텍스트를 str로 반환합니다. 

sprintf 함수는 A1,...,An의 값을 열 순서대로 형식 지정합니다. 

formatSpec이 string형이면 출력 배열 str도 string형입니다. 그렇지 않으면 str은 문자형 벡터입니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/sprintf.html?searchHighlight=sprintf&s_tid=doc_srchtitle

 

 


 

 

strcmp()

문자열 비교
tf = strcmp(s1,s2)는 s1과 s2를 비교하여, 둘이 동일하면 1(true)을 반환하고

동일하지 않으면 0(false)을 반환합니다.

각 텍스트의 크기와 내용이 같을 경우 두 텍스트는 동일하다고 간주됩니다.

반환되는 결과 tf는 logical 데이터형입니다.
입력 인수는 string형 배열, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열의 임의의 조합일 수 있습니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/strcmp.html?searchHighlight=strcmp&s_tid=doc_srchtitle

 


 

 

string()

string형 배열의 생성

MATLAB®에서 string형 배열을 사용하여 텍스트를 표현할 수 있습니다. 

string형 배열의 각 요소는 일련의 문자를 저장합니다. 

string형 배열은 공백으로 채우지 않고도 서로 다른 길이의 문자 시퀀스를 저장할 수 있습니다

(예: "yes"와 "no"). 

요소가 1개 뿐인 string형 배열은 string형 스칼라라고도 합니다.
표준 배열 연산을 사용하여 string형 배열의 요소를 참조하고,

string형 배열을 형태 변경하고 결합할 수 있습니다. 

또한 + 연산자를 사용하여 string형에 텍스트를 추가할 수 있습니다.

숫자를 나타내는 경우 double 함수를 사용하여 string형 배열을 숫자형 배열로 변환할 수 있습니다.

https://www.mathworks.com/help/releases/R2023b/matlab/ref/string.html

 

 


 

 

strrep()
부분문자열 찾아 바꾸기

newStr = strrep(str,old,new)는 str에서 모든 old 항목을 new로 바꿉니다.
입력 인수가 비 스칼라 string형 배열이거나 문자형 벡터로 구성된 셀형 배열인 경우, 

다른 입력 인수는 서로 호환되는 크기를 가져야 합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/strrep.html?searchHighlight=strrep&s_tid=doc_srchtitle

 


 

 

uialert()

알림 대화상자 표시
uialert(fig,message,title)은 지정된 Figure 창 앞에 모달 대화 상자를 표시합니다. 

Figure는 uifigure 함수로 작성해야 합니다. 대화 상자는 지정된 메시지를 표시하고 지정된 제목이 포함된 

제목 표시줄을 가집니다. 기본적으로 대화 상자에는 오류 아이콘과 확인 버튼이 있습니다.

https://kr.mathworks.com/help/matlab/ref/uialert.html?searchHighlight=ui

 


 

uigetdir()
폴더 선택 대화 상자 열기

selpath = uigetdir은 현재 작업 디렉터리의 폴더를 표시하고 사용자가 대화 상자에서 선택하는 경로를 반환하는

모달 대화 상자를 엽니다.
이 대화 상자에서 사용자는 폴더로 이동하거나 폴더 이름을 입력하여 폴더를 선택할 수 있습니다. 

지정된 폴더가 존재할 경우 사용자가 확인을 클릭하면 MATLAB®은 선택된 경로를 문자형 벡터로 반환합니다. 

사용자가 취소 버튼 또는 제목 표시줄의 닫기 버튼(X)을 클릭할 경우 MATLAB은 0을 반환합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/uigetdir.html?searchHighlight=uigetdir&s_tid=doc_srchtitle

 

 


 

 

uigetfile()

파일 선택 대화상자 열기
file = uigetfile은 현재 폴더에 있는 파일을 나열하는 모달 대화 상자를 엽니다. 

이 대화 상자에서 사용자는 파일 이름을 선택하거나 입력할 수 있습니다. 

파일이 존재하고 유효한 경우 사용자가 열기를 클릭하면 uigetfile은 파일 이름을 반환합니다. 

사용자가 취소 또는 창 닫기 버튼(X)을 클릭하면 uigetfile은 0을 반환합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/uigetfile.html

 


 

 

uiprogressdlg()

진행상황 대화상자를 생성

"d = uiprogressdlg(fig)"는 피규어 fig에 결정형 진행 대화 상자를 표시하고 

ProgressDialog 객체를 반환합니다. 

이 피규어는 uifigure 함수를 사용하여 생성되어야 합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/uiprogressdlg.html?searchHighlight=uiprogressdlg&s_tid=doc_srchtitle

 


 

uiputfile()
파일을 저장하기 위한 대화 상자 열기

file = uiputfile은 파일을 선택하거나 지정할 수 있는 모달 대화 상자를 엽니다. 

대화 상자는 현재 폴더에 있는 파일과 폴더를 나열합니다.
사용자가 유효한 파일 이름을 지정하고 저장을 클릭한 경우, MATLAB®은 file에 파일 이름을 반환합니다.
사용자가 대화 상자를 취소하면 MATLAB은 file에 0을 반환합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/uiputfile.html?searchHighlight=uiputfile&s_tid=doc_srchtitle

 


 

 

uitab()

탭이 있는 패널 만들기

t = uitab 탭 그룹 내에 탭을 만들고 Tab 객체를 반환합니다. 

사용할 수 있는 탭 그룹이 없으면 MATLAB®은 figure 함수를 호출하여 Figure를 만듭니다. 

그런 다음 해당 Figure에 탭 그룹을 만들고 탭 그룹 내부에 탭을 배치합니다.
t = uitab(parent)는 지정된 부모 컨테이너에 탭을 만듭니다.

부모 컨테이너는 figure 또는 uifigure 함수를 사용하여 만든 Figure의 탭 그룹일 수 있습니다.

uitab의 속성값은 앱을 figure 함수로 만들었는지 아니면 uifigure 함수로 만들었는지에 따라 약간 달라집니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/uitab.html?searchHighlight=uitab&s_tid=doc_srchtitle

 


 

 

varargin
함수에 가변 개수의 입력 인수를 처리하는 데 사용
MATLAB에서 가변 길이의 입력 인수를 처리하는 데 사용되는 특별한 키워드입니다. 

함수를 정의할 때 고정된 수의 입력 인수를 가지는 것 외에도, 

가변적인 수의 입력 인수를 처리해야 할 때 유용합니다.
varargin을 사용하면 함수를 호출할 때 다양한 수의 입력 인수를 전달할 수 있으며, 

함수 내에서 이러한 입력을 셀 수 있습니다. 이러한 입력은 셀 배열(cell array)로 처리됩니다.
예를 들어, function myFunction(arg1, arg2, varargin)와 같이 정의된 함수는 arg1과 arg2는 

필수 입력이며, 그 뒤에 여러 가변 개수의 입력이 올 수 있습니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/varargin.html?searchHighlight=varargin&s_tid=doc_srchtitle

 


 


varargout
함수에 가변 개수의 출력 인수를 처리하는 데 사용
MATLAB에서 가변 길이의 출력 인수를 처리하는 데 사용되는 특별한 키워드입니다. 

함수를 호출한 측에서 함수로부터 반환되는 값의 수가 미리 알려지지 않은 경우에 유용합니다. 

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/varargout.html?searchHighlight=varargout&s_tid=doc_srchtitle

 


 

winopen()
적합한 응용 프로그램(Windows)에서 파일 열기

winopen name은 지정된 파일을 해당 파일 확장자와 연결된 Microsoft® Windows® 응용 프로그램에서 

엽니다. winopen은 Windows 셸 명령을 사용하며, Windows 탐색기에서 파일을 더블 클릭했을 때와 

동일한 동작을 수행합니다.

https://kr.mathworks.com/help/releases/R2023a/matlab/ref/winopen.html?searchHighlight=winopen&s_tid=doc_srchtitle