Можно импортировать данные таблицы и точек по оси Х из переменных в рабочем пространстве MATLAB, указав на них ссылки на вкладке Table and Breakpoints диалогового окна. В следующих примерах показано, как импортировать и экспортировать данные стандартного формата и нестандартного формата из рабочего пространства MATLAB.
Предположим, что вы задаете 3-D интерполяционную таблицу в своем блоке n-D Интерполяционная таблица.
Создайте переменные рабочей области для использования в качестве данных точек по оси Х и данных таблицы для интерполяционной таблицы.
table3d_map = zeros(2,4,3); table3d_map(:,:,1) = [ 1 2 3 4; 5 6 7 8]; table3d_map(:,:,2) = [ 11 12 13 14; 15 16 17 18]; table3d_map(:,:,3) = [ 111 112 113 114; 115 116 117 118]; bp3d_z =[ 0 10 20]; bp3d_x =[ 0 10 20 30]; bp3d_y =[ 400 6400];
Данные таблицы: table3d_map
Точки останова 1: bp3d_y
Точки останова 2: bp3d_x
Точки останова 3: bp3d_z
Щелкните Edit table and breakpoints, чтобы открыть Редактор интерполяционных таблиц и отобразить данные переменных рабочей области.

Когда вы вносите изменения в данные интерполяционной таблицы, рассмотрите распространение изменений назад в переменные рабочего пространства MATLAB, из которых были импортированы данные с помощью File > Update Block Data.
Можно также использовать Редактор интерполяционных таблиц, чтобы редактировать данные таблицы и набор данных точек по оси Х Simulink.LookupTable и набор данных точек по оси Х Simulink.Breakpoint Объекты и распространите изменения назад на объект.
Предположим, что вы вносите изменения в переменные интерполяционной таблицы, импортированные из переменных рабочего пространства MATLAB в Import Standard Format Lookup Table Data. Для примера измените значение данных в (1,1,1) на 1 на 33. Чтобы распространить это изменение назад на table3d_map в рабочей области выберите File > Update Block Data. Нажмите кнопку Yes, чтобы подтвердить, что вы хотите перезаписать table3d_map.
Предположим, что вы задаете 3-D интерполяционную таблицу в своем блоке n-D Интерполяционная таблица. Создайте переменные рабочей области для использования в качестве данных точек по оси Х и данных таблицы для интерполяционной таблицы. Переменная для данных таблицы, table3d_map_custom, является двумерной матрицей.
table3d_map_custom = zeros(6,4); table3d_map_custom = [ 1 2 3 4; 5 6 7 8; 11 12 13 14; 15 16 17 18; 111 112 113 114; 115 116 117 118]; bp3d_z =[ 0 10 20]; bp3d_x =[ 0 10 20 30]; bp3d_y =[ 400 6400];
table3d_map_custom в трехмерную матрицу для данных таблицы, вводимых с помощью reshape команда.
Данные таблицы: reshape(table3d_map_custom,[2,4,3])
Точки останова 1: bp3d_y
Точки останова 2: bp3d_x
Точки останова 3: bp3d_z
Щелкните Edit table and breakpoints, чтобы открыть Редактор интерполяционных таблиц и отобразить данные переменных рабочей области.

Измените значение 1 на 33 в редакторе интерполяционных таблиц. Редактор интерполяционных таблиц регистрирует изменения путем сохранения копии таблицы. Чтобы восстановить значения переменных из MATLAB® выберите File > Reload Block Data. Чтобы обновить переменные рабочего пространства MATLAB с помощью отредактированных данных, выберите File > Update Block Data в редакторе интерполяционных таблиц. Вы не можете распространить изменение на table3d_map_custom, переменная рабочей области, которая содержит нестандартные данные таблицы для блока n-D Интерполяционная таблица. Чтобы распространить изменение, вы должны зарегистрировать функцию индивидуальной настройки, которая находится в пути поиска файлов MATLAB. Для получения дополнительной информации смотрите Распространение нестандартных данных интерполяционной таблицы формата.
В этом примере показано, как распространить изменения из редактора интерполяционных таблиц на переменные рабочей области нестандартного формата. Предположим, ваш Simulink® Model from Import Nonstandard Format Lookup Table Data имеет трехмерную интерполяционную таблицу, которая получает данные таблицы из двумерной переменной рабочей области table3d_map_custom. Обновите интерполяционную таблицу в редакторе интерполяционных таблиц и распространите эти изменения обратно на table3d_map_custom использование функции индивидуальной настройки.
Создайте файл с именем sl_customization.m с этим содержимым.
function sl_customization(cm)
cm.LookupTableEditorCustomizer.getTableConvertToCustomInfoFcnHandle{end+1} = ...
@myGetTableConvertInfoFcn;
endВ этой функции:
Аргумент cm - указатель на объект диспетчера индивидуальных настроек.
Указатель @myGetTableConvertInfoFcn добавляется в список указателей на функцию в массиве ячеек для cm.LookupTableEditorCustomizer.getTableConvertToCustomInfoFcnHandle. Можно использовать любое буквенно-цифровое имя для функции, указатель которой вы добавляете к массиву ячеек.
В том же файле задайте myGetTableConvertInfoFcn функция.
function blkInfo = myGetTableConvertInfoFcn(blk,tableStr)
blkInfo.allowTableConvertLocal = true;
blkInfo.tableWorkSpaceVarName = 'table3d_map_custom';
blkInfo.tableConvertFcnHandle = @myConvertTableFcn;
endThe myGetTableConvertInfoFcn функция возвращает blkInfo объект, содержащий три поля.
allowTableConvertLocal - Позволяет преобразование данных таблицы для блока.
tableWorkSpaceVarName - задает имя переменной рабочей области, имеющей нестандартный формат таблицы.
tableConvertFcnHandle - Задает указатель для функции преобразования.
Когда allowTableConvertLocal установлено в trueданные таблицы для этого блока преобразуются в нестандартный формат переменной рабочей области, имя которой совпадает tableWorkSpaceVarName. Функция преобразования соответствует указателю, который tableConvertFcnHandle задает. Для функции преобразования можно использовать любое буквенно-цифровое имя.
В том же файле задайте myConvertTableFcn функция. Эта функция преобразует трехмерную интерполяционную таблицу размера Rows * столбцы * Height в двумерную переменную размера (Rows * Height) * столбцы.
% Converts 3-dimensional lookup table from Simulink format to
% nonstandard format used in workspace variable
function cMap = myConvertTableFcn(data)
% Determine the row and column number of the 3D table data
mapDim = size(data);
numCol = mapDim(2);
numRow = mapDim(1)*mapDim(3);
cMap = zeros(numRow, numCol);
% Transform data back to a 2-dimensional matrix
cMap = reshape(data,[numRow,numCol]);
endПоместите sl_customization.m на путь поиска файлов MATLAB. Вы можете иметь несколько файлов с именем sl_customization.m по путь поиска файлов. Для получения дополнительной информации см. «Поведение с несколькими функциями индивидуальной настройки».
Обновите индивидуальные настройки Simulink в командной строке MATLAB.
sl_refresh_customizations
Откройте Редактор интерполяционных таблиц для блока интерполяционных таблиц и выберите File > Update Block Data. Щелкните Yes, чтобы перезаписать переменную рабочей области table3d_map_custom.
Проверяйте значение table3d_map_custom в базовом рабочем пространстве.
table3d_map_custom =
33 2 3 4
5 6 7 8
11 12 13 14
15 16 17 18
111 112 113 114
115 116 117 118Изменение в редакторе интерполяционных таблиц распространилось на переменную рабочей области.
Примечание
Если вы не перезаписываете переменную рабочей области table3d_map_customбудет предложено заменить его числовыми данными. Щелкните Yes, чтобы заменить выражение в поле Table data числовыми данными. Нажмите кнопку No, если вы не хотите, чтобы изменения в редакторе интерполяционных таблиц для данных таблицы появлялись в диалоговом окне блока.
В начале сеанса работы с MATLAB Simulink загружает каждую sl_customization.m файл индивидуальной настройки в пути и выполняет sl_customization функция. Выполнение каждой функции устанавливает индивидуальные настройки для этого сеанса.
Когда вы выбираете File > Update Block Data в редакторе интерполяционных таблиц, редактор проверяет список указателей на функцию в массиве ячеек на наличие cm.LookupTableEditorCustomizer.getTableConvertToCustomInfoFcnHandle. Если массив ячеек содержит один или несколько указателей на функцию, allowTableConvertLocal свойство определяет, могут ли быть распространены изменения в редакторе интерполяционных таблиц.
Если значение установлено на trueзатем данные таблицы преобразуются в нестандартный формат переменной рабочей области.
Если значение установлено на false, затем данные таблицы не преобразуются в нестандартный формат в переменной рабочей области.
Если значение установлено на true и другая функция индивидуальной настройки задает, чтобы она была falseРедактор интерполяционных таблиц сообщает об ошибке.