How do you use the "interp1" command?

9 vues (au cours des 30 derniers jours)
Diego Portillo
Diego Portillo le 15 Nov 2020
Commenté : KSSV le 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 commentaires
KSSV
KSSV le 15 Nov 2020
What is size of x_c, y_top? Theys hould be vectors.
Diego Portillo
Diego Portillo le 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

Connectez-vous pour commenter.

Réponses (1)

KSSV
KSSV le 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 commentaires
Diego Portillo
Diego Portillo le 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 le 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]

Connectez-vous pour commenter.

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by