Main Content

load

파일의 변수를 작업 공간(Workspace)으로 불러오기

설명

예제

load(filename)filename의 데이터를 MATLAB® 작업 공간으로 불러옵니다. filename이 MAT 파일이면 load(filename)은 파일에서 변수를 불러오고, filename이 ASCII 파일이면 load(filename)은 파일의 데이터를 포함하는 배정밀도 배열을 불러옵니다.

참고

보안 고려 사항: load 명령이 변수를 초기화할 때 MAT 파일에 포함된 코드를 실행할 수도 있습니다. 신뢰할 수 없는 MAT 파일에 대해서는 load를 호출하지 마십시오.

예제

load(filename,variables)는 MAT 파일 filename에서 지정된 변수를 불러옵니다.

예제

load(filename,"-ascii")는 파일 확장자에 관계없이 filename을 ASCII 파일로 처리합니다.

load(filename,"-mat")는 파일 확장자에 관계없이 filename을 MAT 파일로 처리합니다.

load(filename,"-mat",variables)filename에서 지정된 변수를 불러옵니다.

예제

S = load(___)는 위에 열거된 구문에 나와 있는 입력 인수의 조합을 사용하여 데이터를 S로 불러옵니다. filename이 MAT 파일이면 S는 구조체형 배열이고, filename이 ASCII 파일이면 S는 파일의 데이터를 포함하는 m×n 배정밀도 배열입니다. 여기서 m은 파일의 라인 개수이고 n은 각 라인의 값 개수입니다.

예제

load filename은 명령 형식의 구문입니다. 명령 형식에는 특수 문자가 덜 필요합니다. 괄호를 입력하거나 입력값을 작은따옴표 또는 큰따옴표로 묶을 필요가 없습니다. 입력값은 쉼표 대신 공백을 사용하여 분리합니다. 입력값에 공백이 포함된 경우에는 작은따옴표로 묶으십시오.

예를 들어, test.mat라는 파일을 불러올 경우 다음 명령문은 동일합니다.

load test.mat    % command form
load("test.mat") % function form

위에 열거된 구문의 입력값 중 어느 것이든 포함시킬 수 있습니다. 예를 들어, 이름이 my file.mat인 파일에서 변수 X를 불러오기 위해 다음 구문을 사용할 수 있습니다.

load 'my file.mat' X    % command form, using single quotes
load("my file.mat","X") % function form, using double quotes

filename 등 입력값이 변수인 경우에는 명령 형식을 사용하지 마십시오.

예제

모두 축소

MAT 파일 gong.mat의 모든 변수를 MATLAB 작업 공간으로 불러옵니다.

먼저 작업 공간의 내용을 확인합니다.

whos

gong.mat의 내용을 확인합니다.

whos("-file","gong.mat")
  Name          Size             Bytes  Class     Attributes

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

gong.mat를 불러온 다음 작업 공간의 내용을 다시 확인합니다.

load("gong.mat")
whos
  Name          Size             Bytes  Class     Attributes

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

명령 구문을 사용하여 변수를 불러올 수도 있습니다. 이전에 불러온 변수를 지우고 불러오기 작업을 다시 실행합니다.

clear y Fs
load gong.mat

예제 파일 handel.mat에서 변수 y만 불러옵니다. 작업 공간에 변수 y가 이미 포함되어 있는 경우 불러오기 작업은 이 변수를 파일의 데이터로 덮어씁니다.

load("handel.mat","y")

명령 구문을 사용하여 변수 y를 불러올 수도 있습니다.

load handel.mat y

예제 파일 accidents.mat의 내용을 확인합니다.

whos -file accidents.mat
  Name              Size            Bytes  Class     Attributes

  datasources       3x1              2700  cell                
  hwycols           1x1                 8  double              
  hwydata          51x17             6936  double              
  hwyheaders        1x17             2622  cell                
  hwyidx           51x1               408  double              
  hwyrows           1x1                 8  double              
  statelabel       51x1              6188  cell                
  ushwydata         1x17              136  double              
  uslabel           1x1               130  cell                

함수 구문을 사용하여 파일에서 이름이 hwy로 시작하지 않는 변수를 모두 불러옵니다.

load("accidents.mat","-regexp","^(?!hwy)...")

또는 명령 구문을 사용하여 동일한 변수를 불러옵니다.

load accidents.mat -regexp '^(?!hwy)...'

파일 durer.mat에는 변수 X, captionmap이 들어 있습니다. 불러올 변수 이름으로 구성된 셀형 배열을 만듭니다.

filename = "durer.mat";
myVars = {"X","caption"};

durer.mat에서 선택한 변수를 구조체형 배열로 불러옵니다.

S = load(filename,myVars{:})
S = struct with fields:
          X: [648x509 double]
    caption: [2x28 char]

변수 Xcaption만 구조체형 배열 S로 불러옵니다.

여러 개의 4열 행렬에서 ASCII 파일을 만들고 데이터를 다시 배정밀도 배열로 불러옵니다.

a = magic(4);
b = -5.7*ones(2,4);
c = [8 6 4 2];
save mydata.dat a b c -ascii
clear a b c

load mydata.dat -ascii

loadmydata라는 double형으로 구성된 배열을 만듭니다.

mydata에 대한 정보를 확인합니다.

whos mydata
  Name        Size            Bytes  Class     Attributes

  mydata      7x4               224  double              

입력 인수

모두 축소

파일의 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. filename을 지정하지 않을 경우 load 함수는 matlab.mat라는 파일을 검색합니다.

filename에 확장자가 없으면(즉, 마침표와 그 뒤에 텍스트가 없음) load는 이름 filename.mat가 추가된 파일을 찾습니다. filename.mat 이외의 확장자가 있으면 load 함수는 파일을 ASCII 데이터로 처리합니다.

참고

ASCII 파일에는, 각 행의 요소 개수가 동일하며 숫자로 구성된, 사각형 테이블이 포함되어야 합니다. 파일 구분 기호(각 행에 포함된 요소 사이의 문자)는 공백, 쉼표, 세미콜론, 탭 문자 중 하나일 수 있습니다. 파일에는 MATLAB 주석(퍼센트 기호 %로 시작하는 라인)이 포함될 수 있습니다.

파일의 위치에 따라 filename은 다음 형식 중 하나가 될 수 있습니다.

위치

형식

현재 폴더 또는 MATLAB 경로의 폴더

filename에 파일의 이름을 지정합니다.

예: "myFile.mat"

폴더 안의 파일

파일이 현재 폴더나 MATLAB 경로의 폴더에 없는 경우, filename에 전체 경로 또는 상대 경로를 지정합니다.

예: "C:\myFolder\myFile.mat"

예: "dataDir\myFile.mat"

원격 위치(버전 7.3 MAT 파일에만 해당)

파일이 원격 위치에 저장된 경우 filename을 다음과 같은 형식의 URL(Uniform Resource Locator)로 지정합니다.

scheme_name://path_to_file/my_file.mat

원격 위치에 따라 scheme_name은 다음 표에 있는 값 중 하나가 될 수 있습니다.

원격 위치scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

load 함수는 버전 7.3 MAT 파일에 대해서만 원격 위치에서 불러오는 것을 지원합니다.

온라인 저장공간 서비스에 액세스하기 위한 MATLAB 설정에 대한 자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오.

예: "s3://bucketname/path_to_file/my_file.mat"

명령 형식의 load를 사용할 경우 입력값을 작은따옴표 또는 큰따옴표로 묶을 필요가 없습니다. 그러나 filename에 공백이 포함된 경우에는 인수를 작은따옴표로 묶어야 합니다. 예를 들면 load 'filename withspace.mat'와 같습니다.

불러올 변수의 이름으로, 하나 이상의 string형 스칼라 또는 문자형 벡터로 지정됩니다. 명령 형식의 load를 사용할 경우 입력값을 작은따옴표로 묶을 필요가 없습니다.

variables는 다음 형식 중 하나가 될 수 있습니다.

variables 입력값의 형식불러올 변수
var1,var2,...,varN나열된 변수를 불러오며, 개별 string형 스칼라 또는 문자형 벡터로 지정됩니다. "*" 와일드카드를 사용하여 패턴을 일치시킬 수 있습니다. 예를 들어, load("filename.mat","A*") 또는 load filename.mat A*는 파일에서 이름이 A로 시작하는 변수를 모두 불러옵니다.
"-regexp",expr1,expr2,...,exprN이름이 정규 표현식과 일치하는 변수만 불러오며, string형 스칼라 또는 문자형 벡터로 지정됩니다. 예를 들어, load("filename.mat","-regexp","^Mon","^Tues") 또는 load filename.mat -regexp ^Mon ^Tues는 파일에서 이름이 Mon이나 Tues로 시작하는 변수만 불러옵니다.

제한 사항

  • 원격 데이터로 작업할 때는 load가 입력 파일을 ASCII 파일로 처리하지 않습니다.

  • 네트워크 드라이브에서 MAT 파일을 불러오는 속도를 높이기 위해 다음과 같은 전략을 사용할 수 있습니다.

    • load 함수를 로컬 복사본에 적용하기 전에 copyfile 함수를 사용하여 네트워크 드라이브에서 로컬 드라이브로 파일을 복사합니다.

    • matfile 함수를 사용하여 파일을 작업 공간으로 불러오지 않고 파일에 액세스합니다.

    • 현재 폴더 브라우저의 새로 고침을 줄이거나 비활성화합니다. 이렇게 하려면 탭으로 이동하여 환경 섹션에서 기본 설정을 선택하십시오. MATLAB > 현재 폴더를 선택합니다. 자동 새로 고침 간격(초) 값을 디폴트 값 3보다 큰 값으로 늘리거나 파일 시스템의 내용을 자동으로 새로 고쳐 표시 체크박스의 선택을 해제하여 이 기능을 비활성화할 수 있습니다.

알고리즘

ASCII 파일에서 불러올 때 출력값을 지정하지 않을 경우 load 함수는 불러온 파일의 이름(파일 확장자 제외)을 따서 명명된 변수를 만듭니다. 예를 들어, 명령 load mydata.dat는 데이터를 이름이 mydata라는 변수로 읽어옵니다. 예제는 ASCII 파일 불러오기 항목을 참조하십시오.

변수 이름을 만들기 위해 loadfilename의 맨 앞에 있는 밑줄이나 숫자 앞에 X를 붙이고 영문자가 아닌 다른 문자를 밑줄로 바꿉니다. 예를 들어, 명령 load 10-May-data.dat는 이름이 X10_May_data라는 변수를 만듭니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장