Сохраните переменные рабочей области и их значения в формате кода 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
вместо этого.
Simulink.saveVars(
сохраняет все переменные в текущей рабочей области, для которых MATLAB® код может быть сгенерирован в файл MATLAB с именем filename
)
. Если код MATLAB не может быть сгенерирован для переменной, переменная сохраняется в сопутствующий MAT-файл с именем filename
.m
, и генерируется предупреждение. Если любой файл уже существует, он перезаписывается. The filename
.matfilename
не может совпадать с именем какой-либо переменной в текущей рабочей области и может дополнительно включать суффикс .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
, который является разделенным запятыми списком имен переменных. Можно использовать символ подстановки *
чтобы сохранить все переменные, которые совпадают с шаблоном. The *
соответствует одному или нескольким символам, включая неалфавитно-цифровые символы.
Simulink.saveVars(
сохраняет только переменные, имена которых совпадают с одним из регулярных выражений в filename
,
'-regexp', RegExps
)RegExps
, который является разделенным запятыми списком выражений. Для получения дополнительной информации см. раздел Регулярные выражения. Вызов функции может задать оба VarNames
и -regexps
, в таком порядке и разделенных запятыми.RegExps
Simulink.saveVars(
сохраняет переменные, описанные в filename
, Specifications,
UpdateOption
)Specifications
(который представляет спецификации переменных в любом из вышеуказанных синтаксисов) в соответствии с указаниями UpdateOption
, который может быть любым из следующих:
'-create'
- Создайте новый файл MATLAB (и MAT-файл при необходимости) по указанию Specifications
. Если любой файл уже существует, он перезаписывается. Это поведение по умолчанию.
'-update'
- Обновление существующего файла MATLAB (и MAT-файла при необходимости), заданное filename
путем изменения только переменных, которые совпадают с Specifications
и уже существует в любых файлах. Порядок переменных в файлах сохраняется. Комментарии в разделах кода MATLAB не сохраняются.
'-append'
- Обновление существующего файла MATLAB (и MAT-файла при необходимости), заданное filename
около:
Обновление переменных, соответствующих Specifications
и уже существует в файле или файлах, сохраняя существующий порядок в файле или файлах. Комментарии в разделах кода MATLAB не сохраняются.
Добавление переменных, которые совпадают с Specifications
и не существуют в файле или файлах путем добавления переменных к файлу или файлам. Эти новые разделы первоначально не имеют никаких замечаний.
Simulink.saveVars(
сохраняет переменные, описанные в filename
, Specifications,
Configuration
)Specifications
(который представляет спецификации переменных в любом из вышеуказанных синтаксисов) в соответствии с заданным Configuration
. The 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'
- Устанавливает две размерности для 2-D срезов, которые представляют n-D (где n
больше 2) данные char, логики или числового массива. Simulink.saveVars
использует первые две размерности n-D массива, чтобы задать размер 2-D среза, если только вы не задаете два положительных целочисленных аргумента после -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-файле.
|
Имя файла или имена файлов, которые создает или обновляет функция. The |
|
Переменная или последовательность переменных, разделенных запятыми. Функция сохраняет только указанные переменные в выход файле. Можно использовать символ подстановки |
|
После ключевого слова - регулярное выражение или последовательность разделенных запятыми регулярных выражений. Функция сохраняет в выходном файле только те переменные, имена которых совпадают с одним из выражений. Смотрите Регулярные выражения для получения дополнительной информации Вызов функции может задать оба |
|
Любое из трех ключевых слов, которые управляют действием функции. Возможные значения:
По умолчанию: |
|
Любая или все из следующих опций, в любом порядке, разделенных запятыми, если появляется больше, чем один:
Примечание Можно использовать Настройки 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');
Задайте 2-D срез для выхода my3Dtable
трехмерный массив. Задайте, что срез 2-D расширяется вдоль первых и третьих размерностей:
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]);
The Simulink.saveVars
функция:
Не сохраняет общие ссылки.
Игнорирует динамические свойства объектов.
Сохраняет следующее в MAT-файле, хотя они могут появиться в ФАЙЛ MATLAB:
Simulink.ConfigSet
объекты с пользовательскими целевыми компонентами.
(Используйте Simulink.ConfigSet
метод saveAs
вместо этого.)
и Simulink.Timeseries
объекты.Simulink.ModelDataLogs
Если вы сохраняете много переменных, сгенерированный файл MATLAB может содержать много строк кода и долго выполняться. Чтобы избежать длительного времени выполнения, рассмотрите следующие альтернативы:
Постоянно храните переменные в словаре данных вместо использования Simulink.saveVars
. Словарь данных также предоставляет больше инструментов для управления переменными. Смотрите Определение места хранения переменных и объектов для моделей Simulink.
Сохраните переменные в MAT-файле при помощи save
функция.
Если вам не нужно сохранять переменные в легко понятной форме, см. save
функция.
Если вам нужно сохранить только объекты шины, используйте Simulink.Bus.save
функция.
Если необходимо сохранить только конфигурацию модели, используйте Simulink.ConfigSet
.saveAs
способ.
matlab.io.saveVariablesToScript
| save
| Simulink.Bus.save
| Simulink.Bus.save
| Simulink.ConfigSet