matlab.io.saveVariablesToScript

Сохраните переменные рабочей области в скрипт MATLAB

Описание

пример

matlab.io.saveVariablesToScript(filename) сохраняет переменные в текущей рабочей области в MATLAB® скрипт с именем filename.m. Имя файла может включать .m суффикс. Если вы не включаете его, функция добавляет его, когда создает файл.

Переменные, для которых MATLAB не может сгенерировать код, сохраняются в MAT-файле с именем filename.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')

Создайте две переменные, a и b, и сохраните их в существующий скрипт MATLAB abfile.m.

a = 72.3;
b = pi;
matlab.io.saveVariablesToScript('abfile.m',{'a','b'},...
'SaveMode','append')

Обновите и сохраните две переменные, y и z, к существующему скрипту MATLAB yzfile.m.

y = 15.7;
z = 3 * pi;
matlab.io.saveVariablesToScript('yzfile.m',{'y','z'},...
'SaveMode','update')

Обновление и сохранение переменных resistance существующему скрипту MATLAB designData.m с указанием строения файла скрипта.

resistance = [10 20.5 11 13.7 15.1 7.7];
matlab.io.saveVariablesToScript('designData.m','resistance',...
'SaveMode','Update','MaximumArraySize',5,...
'MaximumNestingLevel',5,'MaximumTextWidth',30)

Задайте 2-D срезы для выхода из трехмерного массива my3Dtableтак, что срез 2-D расширяется по первым и третьим размерностям. Сохраните срез 2-D в скрипте 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];

Сохраните переменные, которые соответствуют выражению autoL* к скрипту MATLAB autoVariables.m.

matlab.io.saveVariablesToScript('autoVariables.m','RegExp','autoL*')

Создайте две переменные, p и q, и сохранить их в скрипте MATLAB версии 7.3 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 = 

    'level1'
    'level2'
    'level3'
    'my3Dtable'


r2 = 

   Empty cell array: 0-by-1

Входные параметры

свернуть все

Имя скрипта MATLAB для сохранения переменных, заданное как строка с именем файла или переменной, содержащей имя файла.

Пример: matlab.io.saveVariablesToScript('myVariables.m')

Имя переменных для сохранения, заданное как строка или массив ячеек.

Пример: {'X','Y','Z'}

Типы данных: char | cell

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'MaximumArraySize',500,'MATFileVersion','v4' задает, что максимальное количество сохраняемых элементов массива 500 использование синтаксиса MATLAB версии 4.

MATLAB версия, синтаксис которой используется для сохранения MAT-файлов, задается как разделенная разделенными запятой парами, состоящая из 'MATFileVersion' и один из следующих номеров версий:

  • 'v4'

  • 'v6'

  • 'v7'

  • 'v7.3'

Пример: 'MATFileVersion','v6'

Типы данных: char

Максимальное количество сохраняемых элементов массива, заданное как разделенная разделенными запятой парами, состоящая из 'MaximumArraySize' и целое число в области значений от 1 до 10000.

Пример: 'MaximumArraySize',1050

Максимальное количество сохраняемых уровней объектов или иерархий массивов, заданное как разделенная разделенными запятой парами, состоящая из 'MaximumNestingLevel' и целое число в области значений от 1 до 200.

Пример: 'MaximumNestingLevel',67

Ширина переноса текста во время сохранения, заданная как разделенная разделенными запятой парами, состоящая из 'MaximumTextWidth' и целое число в области значений от 32 до 256.

Пример: 'MaximumTextWidth',82

Размерности срезов 2-D, которые представляют n-D массивы char, логических или числовых данных, заданные как разделенная разделенными запятой парами, состоящая из 'MultidimensionalFormat' и одно из следующих значений:

  • 'rowvector' - Сохраните многомерные переменные как один вектор.

  • integer cell array - Сохраните 2-D срез многомерных переменных, где размерности удовлетворяют всем следующим критериям:

    • Два положительных целых чисел представляют размерности.

    • Два целых чисел меньше или равны размерностям n-D массива.

    • Второе целое число больше первого.

Пример: '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

    • Указатели на функцию

    • Анонимные функции

Если у вас есть Simulink®, вы можете использовать matlab.io.saveVariablesToScript чтобы сохранить переменные, которые используют ваши модели. Однако, если вы сохраняете много переменных, сгенерированный файл MATLAB может содержать много строк кода и долго выполняться. Чтобы избежать длительного времени выполнения, рассмотрите следующие альтернативы:

Введенный в R2014a