Extrapolation 2-D lookup table

Hi, I'm having the following problem. I have a 2d table that contains data from some measurements. How can I do the same kind of Extrapolation that is possible in SIMULINK 2-D table lookup using interpolation-extrapolation lookup method, but in Matlab. As I figured out 'griddata' and 'interp2' can not do the job for me. This is the dimension of my data:
x [1x37]
y [1x28]
z [28x37]
Thanks in advance.

4 commentaires

Jette
Jette le 21 Nov 2011
I came across the same question as jose tapia. I also could not find anything in the FEX. Doesn't anyone have an idea how this is done in Simulink?
Kaustubha Govind
Kaustubha Govind le 21 Nov 2011
Jette: Jose's question was about being able to do something in MATLAB that is already possible in Simulink using the Lookup Table blocks. It appears that you want to do something in Simulink itself. Please start a new question if one of the Lookup Table blocks is not sufficient for your purpose.
Jette
Jette le 22 Nov 2011
I do want to do it in MATLAB and get rid of Simulink models which basically only use lookup tables. I meant the algorithm or the underlying function Simulink uses.
Titus Edelhofer
Titus Edelhofer le 22 Nov 2011
Hi Jette, nice to meet you again ;-). Titus

Connectez-vous pour commenter.

Réponses (3)

Matt Fig
Matt Fig le 26 Mar 2011

0 votes

I don't know what kind of extrapolation is done in Simulink, but have you looked on the FEX? This might help, for example:

1 commentaire

jose tapia
jose tapia le 31 Mar 2011
Hi, Matt. Thanks for your answer.
INTERPNE doesn't work for me, because the data I have doesn't fit with the function.

Connectez-vous pour commenter.

Titus Edelhofer
Titus Edelhofer le 22 Nov 2011

0 votes

Hi Jose,
in a German forum I gave a description on how the interpolation of Simulink works, see here, although I don't have a working solution. If you care for how the extrapolation works, I would translate here.
Titus

2 commentaires

jose tapia
jose tapia le 22 Nov 2011
Thank's for your help. This is very useful.
Ilham Hardy
Ilham Hardy le 16 Avr 2015
Hi Titus,
I know it is four years ago, but would you please describe how the 2D-LUT in Simulink works? This time in English?
I check the link you gave and translate it, but still I don't get it yet. The solution post by Jette is not complete (I mean ZI_1 is still matrix).
Thanks a lot, Ilham

Connectez-vous pour commenter.

Mehmet Özdemir
Mehmet Özdemir le 13 Juin 2018

0 votes

Hi everyone,
I was struggling with the same problem for some time and finally found a very easy solution. Save the date.
INPUT PARAMETERS
x = Column indicator of the matrix
y = Raw indicator of the matrix
v = Look up table matrix
xq, yq = Point where interpolation takes place
THE CODE
vq1 = interp1(x,v',xq,'linear','extrap') % This calculation gives an array which are the interpolated values (wrt xq) of every raw. PS : Don't forget to take the transpose of v matrix.
vq = interp1(y,vq1,yq,'linear','extrap') % This part interpolates the new calculated vq1 for the value yq and gives the final result
Since it is possible to extrapolate by adding ///,'linear','extrap'/// in this method, your task of extrapolating 2d maps will be accomplished. Good by NaNs.
Best

1 commentaire

hang x
hang x le 28 Juil 2020
It's a nice way to solve this problem,thanks for sharing it

Connectez-vous pour commenter.

Commenté :

le 28 Juil 2020

Community Treasure Hunt

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

Start Hunting!

Translated by