How to create a 2D lookUp table in matlab
113 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nadia A
el 2 de Ag. de 2016
Comentada: Walter Roberson
el 8 de Sept. de 2017
I want to create a 2D look Up table from 3 arrays
x1= 0:0.1:1 %axis values --> length is 11
x2= 25:2:35 %axis values --> length is 6
y= 0.01:0.001:0.06 % output data --> length is 51, rest of the 15 elements are zeros
I want to create an LUT which has 6 rows and 11 columns. Whenever I need to retrieve y, if exact query points of x1 and x2 is not present, then the function should give an interpolated value. I want to generate a .m script for this without using Simulink.
Anyone please help me with this.
Thanks
2 comentarios
Walter Roberson
el 2 de Ag. de 2016
length(y) is 51. If you were given the J'th x1 value exactly and the K'th x2 value exactly (so no interpolation needed), which of the 51 y values should be output?
Respuesta aceptada
Stephen23
el 2 de Ag. de 2016
You could use interp2 or interpn:
>> x1 = 0:0.1:1;
>> x2 = 25:2:35;
>> y = 0.01:0.001:0.06;
>> vm = zeros(numel(x1),numel(x2));
>> vm(1:numel(y)) = y;
>> interpn(x1,x2,vm,0,25)
ans = 0.010000
Note that this allocates the values of y row-wise into mat. If you want them to be allocated column-wise then transpose mat before and after the allocation.
1 comentario
Walter Roberson
el 8 de Sept. de 2017
You need a scattered interpolant for that case. You should expect that off-diagonal might look fairly different than you imagine, as interpolation will come to depend upon which triangle happens to be closest in 3 space.
Más respuestas (1)
Satishkumar Aruljothi
el 2 de Ag. de 2016
Editada: Satishkumar Aruljothi
el 2 de Ag. de 2016
Use 2-D looup table from simulink library.
see the attached image.
1 comentario
Ver también
Categorías
Más información sobre Interpolation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!