Сохраните переменные рабочей области и их значения в формате кода MATLAB
Simulink.saveVars (
filename
)
Simulink.saveVars (filename
, VarNames
)
Simulink.saveVars (filename
, '-regexp', RegExps
)
Simulink.saveVars (filename
, Specifications,
UpdateOption
)
Simulink.saveVars (filename
, Specifications,
Configuration
)
Simulink.saveVars (filename
, Specifications
, MatlabVer
)
[r1
, r2
] = Simulink.saveVars (filename
, Specifications
)
Simulink.saveVars
не рекомендуется. Используйте matlab.io.saveVariablesToScript
вместо этого.
сохраняет все переменные в текущей рабочей области, для которой код MATLAB® может быть сгенерирован к файлу MATLAB под названием Simulink.saveVars(filename)
m. Если код MATLAB не может быть сгенерирован для переменной, переменная сохранена в сопутствующий MAT-файл под названием filename.m
, и предупреждение сгенерировано. Если любой файл уже существует, он перезаписывается. filename.mat
filename
не может совпадать с именем никакой переменной в текущей рабочей области и может опционально включать суффиксный .m
m. Используя Simulink.saveVars
не имеет никакого эффекта на содержимое никакой рабочей области.
Выполнение файла MATLAB восстанавливает переменные, сохраненные в файле в текущую рабочую область. Если сопутствующий MAT-файл существует, код в файле MATLAB загружает MAT-файл, восстанавливая его переменные также. Когда и файл MATLAB и MAT-файл существуют, не загружайте файл MATLAB, если файл MAT не будет доступен, или ошибка произойдет. Не загружайте MAT-файл непосредственно, или восстановление неполных данных закончится. Никакое предупреждение не происходит, если загрузка файла перезаписывает любые существующие переменные.
Можно отредактировать файл MATLAB, который создает Simulink.saveVars
. Можно вставить комментарии между или в разделах кода MATLAB для сохраненных переменных. Однако, если вы позже используете Simulink.saveVars
, чтобы обновить или добавить к файлу, только комментирует между разделами кода MATLAB, будет сохранен. Внутренние комментарии должны поэтому использоваться только в файлах, которые вы не ожидаете изменять дальше.
Вы не должны редактировать раздел заголовка в файле MATLAB, который включает первые пять строк с комментариями. Simulink® не проверяет, что вручную отредактированный файл MATLAB синтаксически правилен. MathWorks рекомендует не редактировать код MATLAB в файле. Вы не можете отредактировать MAT-файл и никогда не должны пытаться сделать так.
сохраняет только переменные, заданные в Simulink.saveVars(filename, VarNames)
VarNames
, который является списком, разделенным запятыми имен переменных. Можно использовать подстановочный символ *
, чтобы сохранить все переменные, которые совпадают с шаблоном. *
совпадает с одним или несколькими символами, включая неалфавитно-цифровые символы.
сохраняет только переменные, имена которых совпадают с одним из регулярных выражений в Simulink.saveVars(filename, '-regexp', RegExps)
RegExps
, который является списком, разделенным запятыми выражений. Смотрите Регулярные выражения (MATLAB) для получения дополнительной информации. Вызов функции может задать и VarNames
и
в том порядке и разделенный от запятой.-regexps RegExps
сохраняет переменные, описанные Simulink.saveVars(filename, Specifications, UpdateOption)
Specifications
(который представляет переменные спецификации в любом из вышеупомянутых синтаксисов), как направлено UpdateOption
, который может быть любым из следующего:
'-create'
— Создайте новый файл MATLAB (и MAT-файл в случае необходимости), как направлено Specifications
. Если любой файл уже существует, он перезаписывается. Это поведение по умолчанию.
'-update'
— Обновите существующий файл MATLAB (и MAT-файл в случае необходимости) заданный filename
путем заменения только переменных, которые совпадают с Specifications
и уже существуют в любых файлах. Порядок переменных в файлах сохраняется. Комментарии в разделах кода MATLAB не сохраняются.
добавление
Обновите существующий файл MATLAB (и MAT-файл в случае необходимости) заданный filename
:
Обновление переменных, которые совпадают с Specifications
и уже существуют в файле или файлах, сохраняя существующий порядок в файле или файлах. Комментарии в разделах кода MATLAB не сохраняются.
Добавление переменных, которые совпадают с Specifications
и не существуют в файле или файлах путем добавления переменных к файлу или файлам. Эти новые разделы первоначально не имеют никаких комментариев.
сохраняет переменные, описанные Simulink.saveVars(filename, Specifications, Configuration)
Specifications
(который представляет переменные спецификации в любом из вышеупомянутых синтаксисов) согласно заданному Configuration
. Configuration
может содержать любые из следующих опций, в любом порядке, разделенном запятыми, если больше чем один появляется:
— Ограничивает число элементов, сохраненное на массив к '-maxnumel' MaxNum
MaxNum
, который должен быть целым числом между 1 и 10000. Для символьного массива верхний предел устанавливается к дважды значению, которое вы задаете с MaxNum
. Если массив больше, чем MaxNum
, целый массив появляется в MAT-файле, а не файле MATLAB, генерируя предупреждение. Значение по умолчанию: 1000
MaxLevels
'-maxlevels'
ограничивает количество уровней иерархии, сохраненной на массив структур или массив ячеек к MaxLevels
, который должен быть целым числом между 1 и 200. Если массив структур или массив ячеек более глубоки, чем MaxLevels
, целая сущность появляется в MAT-файле, а не файле MATLAB, генерируя предупреждение. Значение по умолчанию: 20
'-textwidth'
TextWidth
устанавливает текст, переносит ширину в файл MATLAB к TextWidth
, который должен быть целым числом между 32 и 256. Значение по умолчанию: 76
'-2dslice'
— Наборы две размерности для 2D срезов, которые представляют n-D (где n
больше, чем 2), char, логика или данные числового массива. Simulink.saveVars
использует первые две размерности n-D массива, чтобы задать размер 2D среза, если вы не предоставляете два положительных целочисленных аргумента после опции -2dslice
. Если вы задаете два целочисленных аргумента:
Эти два целых числа должны быть положительными.
Эти два целых числа должны быть меньше чем или равны количеству размерностей n-D массива.
Второе целое число должно быть больше, чем первое.
действует, как описано Simulink.saveVars(filename, Specifications, MatlabVer)
Specifications
(который представляет спецификации после filename
в любом из вышеупомянутых синтаксисов), сохраняющий любой MAT-файл, который это создает в формате, требуемом версией MATLAB, заданной MatlabVer
. Возможные значения:
'-v7.3'
— 7.3 или позже
'-v7.0'
— 7.0 или позже
'-v6'
— Версия 6 или позже
'-v4'
— Любая версия MATLAB
действует, как описано [r1, r2] = Simulink.saveVars(filename, Specifications)
Specifications
(который представляет спецификации после filename
в любом из вышеупомянутых синтаксисов), и сообщает, какие переменные это сохранило:
r1
Массив ячеек из символьных векторов. Векторы символов называют все переменные (если таковые имеются), которые были сохранены в файл MATLAB.
r2
Массив ячеек из символьных векторов. Векторы символов называют все переменные (если таковые имеются), которые были сохранены в MAT-файл.
|
Имя файла или имена файлов, которые функция создает или обновляет. |
|
Переменная или последовательность разделенных от запятой переменных. Функция сохраняет только заданные переменные в выходной файл. Можно использовать подстановочный символ |
|
После ключевого слова, регулярного выражения или последовательности разделенных от запятой регулярных выражений. Функция сохраняет в выходной файл только те переменные, имена которых совпадают с одним из выражений. Смотрите Регулярные выражения (MATLAB) для получения дополнительной информации, вызов функции может задать и |
|
Любое из трех ключевых слов, которые управляют действием функции. Возможные значения:
Значение по умолчанию: |
|
Любые из следующих опций, в любом порядке, разделенном запятыми, если больше чем один появляется:
ПримечаниеМожно использовать Настройки MATLAB, чтобы изменить значения по умолчанию для |
|
Задает версию MATLAB, синтаксис которой будет использоваться любым MAT-файлом, сохраненным функцией.
Значение по умолчанию: |
|
Список имен всех переменных (если таковые имеются), которые были сохранены в файл MATLAB. |
|
Список имен всех переменных (если таковые имеются), которые были сохранены в MAT-файл. |
Задайте некоторые переменные базового рабочего пространства, затем сохраните их всех в новый файл MATLAB под названием MyVars.m
с помощью значений по умолчанию для всех входных параметров кроме filename
.
a = 1; b = 2.5; c = 'A string'; d = {a, b, c}; Simulink.saveVars('MyVars');
Задайте дополнительные переменные базового рабочего пространства, затем добавьте их к существующему файлу MyVars.m
, не изменяя значения, ранее сохраненные в файле:
K = Simulink.Parameter; MyType = fixdt (1,16,3); Simulink.saveVars('MyVars', '-append', 'K', 'MyType');
Обновите переменные V1
и V2
с их значениями в файле MATLAB, или для любого, значение которого не может быть преобразовано в код MATLAB в MAT-файле. Файл должен уже существовать. Любой массив больше чем с 10 элементами будет сохранен в MAT-файл, который может загрузиться на любой версии MATLAB. Возвращаемый аргумент r1
перечисляет имена любых переменных, сохраненных в файл MATLAB; r2
перечисляет любого сохраненного в MAT-файл.
[r1, r2] = Simulink.saveVars('MyFile', 'V1', 'V2', '-update', '-maxnumel', 10, '-v4');
Задайте 2D срез для вывода трехмерного массива my3Dtable
. Укажите, что 2D срез расширяется по первым и третьим измерениям:
my3DTable = zeros(3, 4, 2, 'single'); Simulink.saveVars('mfile.m', 'my3DTable', '-2dslice', 1, 3);
Сгенерированный код MATLAB:
my3DTable = zeros(3, 4, 2, 'single'); my3DTable (:,1,:) = single ( ... [1 13; 5 17; 9 21]); my3DTable (:,2,:) = single( ... [2 14; 6 18; 10 22]); my3DTable (:,3,:) = single( ... [3 15; 7 19; 11 23]); my3DTable (:,4,:) = single( ... [4 16; 8 20; 12 24]);
Функция Simulink.saveVars
:
Не сохраняет совместно использованные ссылки.
Игнорирует динамические свойства объектов.
Сохраняет следующее в MAT-файл несмотря на то, что они могли появиться в файле MATLAB:
Simulink.ConfigSet
возражает с пользовательскими целевыми компонентами.
(Используйте метод Simulink.ConfigSet
saveAs
вместо этого.)
и Simulink.Timeseries
объекты
.Simulink.ModelDataLogs
Если вы сохраняете много переменных, сгенерированный файл MATLAB может содержать много строк кода и занять много времени, чтобы выполниться. Чтобы избежать долгого времени выполнения, рассмотрите эти альтернативы:
Постоянно сохраните переменные в словаре данных вместо того, чтобы использовать Simulink.saveVars
. Словарь данных также обеспечивает больше инструментов для переменных управления. Смотрите Определяют, Где Сохранить Переменные и Объекты для Моделей Simulink.
Сохраните переменные в MAT-файле при помощи функции save
.
Если вы не должны сохранять переменные в понятной форме, смотрите, что save
функционирует.
Если необходимо сохранить только объекты шины, используйте Simulink.Bus.save
сохранение Функции.
Если необходимо сохранить только конфигурацию модели, используйте метод .saveAs
Simulink.ConfigSet
.
Simulink.Bus.save
| Simulink.Bus.save
| Simulink.ConfigSet
| matlab.io.saveVariablesToScript
| сохранение