
lookup table error in simulink
30 次查看(过去 30 天)
显示 更早的评论
Hello I am trying to model a 2D lookup table in simulink. I am calling the break points and table data from workspace. When i run it it shows an error as "the number of dimensions specified by the 'Table data' parameter (1) must match the 'Number of table dimensions' parameter value (2)." but when I check the table dimensions are table data: 1x9000 and break point 1 : 1x9000 and break point 2: 1x9000 all are same. But still I am getting this error. Please guide me through it.
0 个评论
回答(2 个)
Sai Sri Pathuri
2020-6-2
Check whether you have set Number of table dimesions to 1, since your data is one-dimensional

4 个评论
Sai Sri Pathuri
2020-6-2
Set Number of table dimensions (I highlighted it in above screenshot) to 1 in the dialog box, because your input is one-dimensional
Johannes Lips
2025-2-28
编辑:Johannes Lips
2025-2-28
The problem, which was not properly addressed in the previous answer, is the table data itself, not the dimensionality parameter.
For the 2D lookup table, you ought to use a row vector of length n1 for breakpoints 1, a row vector of length n2 for breakpoints 2, and a 2D matrix with size n1 x n2 for the table data.
Preprocessing (reshape or interpolate) of the 1x9000 data of this question is necessary to obtain the required inputs for the 2D lookup table block.
rangeX1 = %choose based on data e.g. min(x1):stepx1:max(x1)
rangeX2 = %similar
[X1grid, X2grid] = meshgrid(rangeX1, rangeX2);
% Create the scattered interpolant for your original data
F = scatteredInterpolant(x1, x2, y, 'linear', 'none');
% Evaluate the function on the grid
Ygrid = F(X1grid, X2grid);
Then use rangeX1, rangeX2 and Ygrid for the breakpoints and table data.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Nonlinearity 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
