lookup table error in simulink

조회 수: 30 (최근 30일)
vishnuvardhan naidu tanga
vishnuvardhan naidu tanga 2020년 5월 29일
편집: Johannes Lips 2025년 2월 28일
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.

답변 (2개)

Sai Sri Pathuri
Sai Sri Pathuri 2020년 6월 2일
Check whether you have set Number of table dimesions to 1, since your data is one-dimensional
  댓글 수: 4
vishnuvardhan naidu tanga
vishnuvardhan naidu tanga 2020년 6월 2일
yes i run the code. when i run the code the break points are updated from the data base. the error marks in break points are eliminated. But the system wont run because of the following error:
In block 'SH', the number of dimensions specified by the 'Table data' parameter (1) must match the 'Number of table dimensions' parameter value (2).
Sai Sri Pathuri
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
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.

카테고리

Help CenterFile Exchange에서 Nonlinearity에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by