How do you use the "interp1" command?

1 Ansicht (letzte 30 Tage)
Diego Portillo
Diego Portillo am 15 Nov. 2020
Kommentiert: KSSV am 16 Nov. 2020
I am working on this code and for some reason i cant sure out why im getting a error. plss lmk if you
N = 128
delta_x = 2/N
x = [0:2/N:1, 1:-2/N:0]
y_int_top = interp1 (x_c, y_top, x(1, 1:65) )
y_int_bot = interp1 (x_c, y_bot, x(1, 66:130))
y_t = [y_int_top, y_int_bot]
% for i=1:N
% x(i) = x(i-1)+delta_x
%
% theta_top(i) = atan2d((y_top(i+1)-y_top(i)),((x(i+1)-x(i))));
% theta_bot(i) = atan2d((y_bot(i+1)-y_bot(i)),((x(i+1)-x(i))));
% end
  4 Kommentare
KSSV
KSSV am 15 Nov. 2020
What is size of x_c, y_top? Theys hould be vectors.
Diego Portillo
Diego Portillo am 15 Nov. 2020
they are a tables i think. I am not very proficient with Matlab so i am not sure if they already are in vector form

Melden Sie sich an, um zu kommentieren.

Antworten (1)

KSSV
KSSV am 15 Nov. 2020
Try:
y_int_top = interp1 (x_c.(1), y_top.(1), x(1, 1:65) ) ;
y_int_bot = interp1 (x_c.(1), y_bot.(1), x(1, 66:130)) ;
  2 Kommentare
Diego Portillo
Diego Portillo am 15 Nov. 2020
it now gives me a different error, idk if this one is related to the data?
```Error using matlab.internal.math.interp1
Sample points must be unique and sorted in ascending order.
Error in interp1 (line 188)
VqLite = matlab.internal.math.interp1(X,V,method,method,Xqcol);
Error in compassignment (line 5)
y_int_top = interp1 (x_c.(1), y_top.(1), x(1, 1:64) ) ;```
KSSV
KSSV am 16 Nov. 2020
Try spline instead of interp1.
N = 128
delta_x = 2/N
x = [0:2/N:1, 1:-2/N:0]
y_int_top = spline(x_c, y_top, x(1, 1:65) )
y_int_bot = spline (x_c, y_bot, x(1, 66:130))
y_t = [y_int_top, y_int_bot]

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Interpolating Gridded Data finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by