How to use interpolate struct data in simulink?

2 vues (au cours des 30 derniers jours)
Anup
Anup le 16 Fév 2023
Commenté : Fangjun Jiang le 17 Fév 2023
I have a struct data file in .mat format.
I can use interp2 to interpolate the data from this struct data file in matlab.
for example,
h = interp2(data.P,data.T,data.H,234e+05,317)
How to do similiar like this in simulink?

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 16 Fév 2023
Modifié(e) : Fangjun Jiang le 16 Fév 2023
In general, in Simulink, the "2-D Lookup Table" block can be used to do what interp2() does in MATLAB.
You need to figure out the proper size for the input arguments though. Your example certainly has problem due to un-matched size.
data.P=1:4;
data.T=1:3;
data.H=rand(3,4);
h = interp2(data.P,data.T,data.H,1.5,2.5)
h = 0.2963
data.P=rand(3,4);
data.T=rand(3,4);
h = interp2(data.P,data.T,data.H,0.5,0.5)
Error using griddedInterpolant
Grid arrays must have NDGRID structure.

Error in interp2>makegriddedinterp (line 226)
F = griddedInterpolant(varargin{:});

Error in interp2 (line 134)
F = makegriddedinterp(X, Y, V, method,extrap);
  2 commentaires
Anup
Anup le 17 Fév 2023
Modifié(e) : Anup le 17 Fév 2023
I only need P, T, H and all the other values can be excluded. Don't these three variables have same size. If we were to consider only these three variables, could you kindly explain to me how we can perform interpretation using a lookup table? Thank you very much for your help.
I have attached the .mat file (reduced file size).
Fangjun Jiang
Fangjun Jiang le 17 Fév 2023
My example should already explain it. If you want to run
h = interp2(data.P,data.T,data.H,234e+05,317), H is 301x400, then P needs to be 1x400 and T needs to be 1x301. See doc interp2

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Event Functions dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by