How do you use the "interp1" command?

1 回表示 (過去 30 日間)
Diego Portillo
Diego Portillo 2020 年 11 月 15 日
コメント済み: KSSV 2020 年 11 月 16 日
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 件のコメント
KSSV
KSSV 2020 年 11 月 15 日
What is size of x_c, y_top? Theys hould be vectors.
Diego Portillo
Diego Portillo 2020 年 11 月 15 日
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

サインインしてコメントする。

回答 (1 件)

KSSV
KSSV 2020 年 11 月 15 日
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 件のコメント
Diego Portillo
Diego Portillo 2020 年 11 月 15 日
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 2020 年 11 月 16 日
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]

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInterpolating Gridded Data についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by