How do you use the "interp1" command?

1 visualizzazione (ultimi 30 giorni)
Diego Portillo
Diego Portillo il 15 Nov 2020
Commentato: KSSV il 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 Commenti
KSSV
KSSV il 15 Nov 2020
What is size of x_c, y_top? Theys hould be vectors.
Diego Portillo
Diego Portillo il 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

Accedi per commentare.

Risposte (1)

KSSV
KSSV il 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 Commenti
Diego Portillo
Diego Portillo il 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 il 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]

Accedi per commentare.

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by