How to extrapolate gridded matrix?

4 visualizaciones (últimos 30 días)
Isa Duran
Isa Duran el 15 de Mzo. de 2016
Comentada: Andrei Bobrov el 15 de Mzo. de 2016
Hi all! I am trying to extrapolate a matrix, but it seems like there is some issues. I have the rows as variable Hs:
Hs = [4.9573 6.6098 8.2622 9.9147 13.2196 16.5245 24.7868 33.0490]
And the Collums as Uw:
Uw = [1.12 2.4500 4.4000 6.7000 9.3500 12.3000]
And the RPM as the "main" matrix:
RPM = 8x6 matrix
So for a given Hs and Uw, there is a RPM.
I want to create a new matrix where Hs and Uw is extrapolated to 0. So the original "main" matrix is extended to a 9x7 matrix where Hs and Uw start from the value 0.
Hope it makes sense otherwise feel free to ask!
Thanks is advance Isa

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 15 de Mzo. de 2016
use scatteredInterpolant
Hs = [4.9573 6.6098 8.2622 9.9147 13.2196 16.5245 24.7868 33.0490];
Uw = [1.12 2.4500 4.4000 6.7000 9.3500 12.3000];
% RPM non datas
[x,y] = ndgrid(Hs,Uw);
F = scatteredInterpolant(x(:),y(:),RPM(:));
[x1,y1] = ndgrid([0 Hs],[0 Uw]);
out = F(x1,y1);
  2 comentarios
Isa Duran
Isa Duran el 15 de Mzo. de 2016
Awesome! Thank you a lot Andrei!
Guillaume
Guillaume el 15 de Mzo. de 2016
Well actually, since the data is gridded, griddedInterpolant is more appropriate.

Iniciar sesión para comentar.

Más respuestas (1)

Guillaume
Guillaume el 15 de Mzo. de 2016
"but it seems like there is some issues" Unless you tell us what the issues are, we can't guess what they are.
Hs = [4.9573 6.6098 8.2622 9.9147 13.2196 16.5245 24.7868 33.0490];
Uw = [1.12 2.4500 4.4000 6.7000 9.3500 12.3000];
rpm = reshape(1:8*6, 8, 6); %demo data since none was provided
[gridrows, gridcols] = ndgrid(Hs, Uw);
ginter = griddedInterpolant(gridrows, gridcols, rpm); %create gridded interpolant. Does linear extrapolation by default
%add extrapolation for 0 column
rpm = [ginter(Hs', zeros(size(Hs))'), rpm];
Hs = [0, Hs];
Uw = [0, Uw];
rpm = [ginter(zeros(size(Uw)), Uw); rpm]

Categorías

Más información sobre Logical 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!

Translated by