Main Content

matlab.io.saveVariablesToScript

작업 공간 변수를 MATLAB 스크립트에 저장

설명

예제

matlab.io.saveVariablesToScript(filename)은 현재 작업 공간에 있는 변수를 filename.m이라는 MATLAB® 스크립트에 저장합니다. 파일 이름에 .m 접미사를 포함할 수 있습니다. 이 접미사를 포함하지 않으면, 함수에서 파일을 생성할 때 접미사를 추가합니다.

너무 크거나 MATLAB이 코드를 생성할 수 없는 변수는 filename.mat라는 MAT 파일에 저장됩니다.

이름이 같은 파일이 이미 존재하는 경우에는 이 파일을 덮어씁니다.

예제

matlab.io.saveVariablesToScript(filename,varnames)varnames로 지정된 작업 공간 변수만 MATLAB 스크립트에 저장합니다.

예제

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

[r1,r2] = matlab.io.saveVariablesToScript(filename)은 또한 다음과 같은 두 개의 셀형 배열을 반환합니다.

  • r1 - MATLAB 스크립트에 저장된 변수의 경우

  • r2 - MAT 파일에 저장된 변수의 경우

예제

모두 축소

작업 공간의 변수를 MATLAB 스크립트 test.m에 저장합니다.

matlab.io.saveVariablesToScript('test.m')

작업 공간에서 변수 myVar을 만든 다음 MATLAB 스크립트 test.m에 저장합니다.

myVar = 55.3;
matlab.io.saveVariablesToScript('test.m','myVar')

두 개의 변수 ab를 만든 다음 기존 MATLAB 스크립트 test.m에 저장합니다.

a = 72.3;
b = pi;
c = "string1";
matlab.io.saveVariablesToScript('test.m',{'a','b','c'},...
'SaveMode','append')

두 개의 변수 ab를 업데이트한 다음 기존 MATLAB 스크립트 test.m에 저장합니다.

a = 15.7;
b = 3 * pi;
matlab.io.saveVariablesToScript('test.m',{'a','b'},...
'SaveMode','update')

스크립트 파일의 구성을 지정하는 중에 변수 resistance를 기존 MATLAB 스크립트 test.m에 저장합니다.

resistance = [10 20.5 11 13.7];
matlab.io.saveVariablesToScript('test.m','resistance',...
'SaveMode','append','MaximumArraySize',5,...
'MaximumNestingLevel',5,'MaximumTextWidth',35)

2차원 슬라이스가 첫 번째 차원과 세 번째 차원을 따라 확장되도록, 3차원 배열 my3Dtable의 출력값에 대한 2차원 슬라이스를 지정합니다. 2차원 슬라이스를 MATLAB 스크립트 sliceData.m에 저장합니다.

level1 = [1 2; 3 4];
level2 = [5 6; 7 8];
my3Dtable( :, :, 1) = level1;
my3Dtable( :, :, 2) = level2;
matlab.io.saveVariablesToScript('sliceData.m','MultidimensionalFormat',[1,3])

그 결과 MATLAB 코드는 다음과 유사합니다.

level1 = ...
  [1 2;
   3 4];

level2 = ...
  [5 6;
   7 8];

my3Dtable = zeros(2, 2, 2);
my3Dtable(:,1,:) = ...
  [1 5;
   3 7];
my3Dtable(:,2,:) = ...
  [2 6;
   4 8];

표현식 level*과 일치하는 변수를 새 MATLAB 스크립트 levelVariables.m에 저장합니다.

matlab.io.saveVariablesToScript('levelVariables.m','RegExp','level*')

두 개의 변수 pq를 만든 다음 버전 7.3 MATLAB 스크립트 version73.m에 저장합니다.

p = 49;
q = 35.5;
matlab.io.saveVariablesToScript('version73.m',{'p','q'},...
'MATFileVersion','v7.3')

MATLAB 스크립트에 저장된 변수를 변수 r1에 저장하고, MAT 파일에 저장된 변수를 변수 r2에 저장합니다.

[r1,r2] = matlab.io.saveVariablesToScript('mydata.m')
r1 =

  5×1 cell array

    {'level1'   }
    {'level2'   }
    {'my3Dtable'}
    {'p'        }
    {'q'        }


r2 =

  0×1 empty cell array

입력 인수

모두 축소

변수를 저장할 MATLAB 스크립트의 이름으로, 파일 이름을 제공하는 문자열이나 파일 이름이 포함된 변수로 지정됩니다.

예: matlab.io.saveVariablesToScript('myVariables.m')

저장할 변수의 이름으로, string형이나 셀형 배열로 지정됩니다.

예: {'X','Y','Z'}

데이터형: char | cell

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 'MaximumArraySize',500,'MATFileVersion','v4'는 저장할 배열 요소의 최대 개수가 500이며 MATLAB 버전 4 구문을 사용하도록 지정합니다.

MAT 파일을 저장하는 데 사용할 구문의 MATLAB 버전으로, 'MATFileVersion'과 함께 다음 버전 번호 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'v4'

  • 'v6'

  • 'v7'

  • 'v7.3'

예: 'MATFileVersion','v6'

데이터형: char

저장할 배열 요소의 최대 개수로, 'MaximumArraySize'와 함께 1에서 10,000 사이의 정수가 쉼표로 구분되어 지정됩니다.

예: 'MaximumArraySize',1050

저장할 객체 수준 또는 배열 계층 구조의 최대 개수로, 'MaximumNestingLevel'과 함께 1에서 200 사이의 정수가 쉼표로 구분되어 지정됩니다.

예: 'MaximumNestingLevel',67

저장하는 동안의 텍스트 줄 바꿈 너비로, 'MaximumTextWidth'와 함께 32에서 256 사이의 정수가 쉼표로 구분되어 지정됩니다.

예: 'MaximumTextWidth',82

문자형, 논리형 또는 숫자형 데이터로 구성된 N차원 배열을 나타내는 2차원 슬라이스의 차원으로, 'MultidimensionalFormat'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'rowvector' — 다차원 변수를 단일 행 벡터로 저장합니다.

  • integer cell array — 다차원 변수의 2차원 슬라이스를 저장합니다. 여기서 차원은 다음 조건을 모두 충족합니다.

    • 두 개의 양의 정수가 차원을 나타냅니다.

    • 두 개의 정수가 n차원 배열의 차원보다 작거나 같습니다.

    • 두 번째 정수가 첫 번째 정수보다 큽니다.

예: 'MultidimensionalFormat',[1,3]

일치시킬 정규 표현식으로, 'RegExp'와 함께 하나 이상의 문자열 표현식이 쉼표로 구분되어 지정됩니다.

예: 'RegExp','level*'

데이터형: char

MATLAB 스크립트를 저장할 모드로, SaveMode와 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'create' — 변수를 새 MATLAB 스크립트에 저장합니다.

  • 'update' — MATLAB 스크립트에 이미 있는 변수만 업데이트합니다.

  • 'append' — MATLAB 스크립트에 이미 있는 변수를 업데이트하고 새 변수를 스크립트의 끝에 추가합니다.

예: 'SaveMode','Update'

출력 인수

모두 축소

MATLAB 스크립트에 저장된 변수로, 변수 이름으로 구성된 셀형 배열로 반환됩니다.

MAT 파일에 저장된 변수로, 변수 이름으로 구성된 셀형 배열로 반환됩니다.

제한 사항

  • matlab.io.saveVariablesToScript는 다음 변수를 MATLAB 스크립트나 MAT 파일에 저장하지 않습니다.

    • Java 객체

    • .NET 객체

    • Python 객체

  • matlab.io.saveVariablesToScript는 다음 변수를 MAT 파일에만 저장합니다.

    • MATLAB 객체

    • 함수 핸들

    • 익명 함수

    • string형 배열의 누락값

Simulink®가 있는 경우 matlab.io.saveVariablesToScript를 사용하여 모델에서 사용되는 변수를 저장할 수 있습니다. 그러나 변수를 많이 저장하면 생성되는 MATLAB 파일에 긴 라인의 코드가 포함되어 실행 시간이 길어질 수 있습니다. 실행 시간이 길어지지 않도록 하려면 다음 대안을 고려해 보십시오.

  • Simulink.saveVars를 사용하는 대신 변수를 데이터 사전에 영구적으로 저장합니다. 데이터 사전은 변수 관리를 위한 추가 툴도 제공합니다. Determine Where to Store Variables and Objects for Simulink Models (Simulink) 항목을 참조하십시오.

  • save 함수를 사용하여 MAT 파일에 변수를 저장합니다.

버전 내역

R2014a에 개발됨