A1 = [0 1 2 3; 1 2 3 4; 2 3 4 5; 3 4 5 6];
A2 = [6 5 4 3; 5 4 3 2; 4 3 2 1; 3 2 1 0];
A3 = [1 1 1 1; 2 2 2 2; 3 3 3 3; 4 4 4 4];
TableData = cat(3, A1, A2, A3);
model = 'interpMatrixDemo';
add_block('simulink/Sources/In1', [model '/Speed']);
add_block('simulink/Lookup Tables/Prelookup', [model '/Prelookup']);
add_block('simulink/Lookup Tables/Interpolation Using Prelookup', [model '/MatrixInterp']);
add_block('simulink/Sinks/Out1', [model '/Out']);
add_line(model,'Speed/1','Prelookup/1');
add_line(model,'Prelookup/1','MatrixInterp/1');
add_line(model,'Prelookup/2','MatrixInterp/2');
add_line(model,'MatrixInterp/1','Out/1');
set_param([model '/Prelookup'], ...
'BreakpointsSpecification','Explicit values', ...
'BreakpointsValues','[0 8 15]', ...
'OutputSelection','Index and fraction', ...
set_param([model '/MatrixInterp'], ...
'NumberOfTableDimensions','1', ...
'TableSpecification','Explicit values', ...
'TableSource','Dialog', ...
'TableValue',mat2str(TableData), ...
'InterpMethod','Linear', ...