在matlab中使用插值

在matlab中使用插值,matlab,interpolation,Matlab,Interpolation,我有两个向量(latg和ch4):latg是18225x1向量,ch4是91269x1向量。我想调整latg向量的大小,以便它通过在数据点之间插值来匹配ch4向量的大小 我该怎么办?我是否使用interp1功能?是的,确实可以使用interp1功能。我假设您想要在较小数组的极限值之间线性插值额外的数据点 % Vector to be upscaled vector1 = latg; % Number of elements in new vector (vector2, nr of elemen

我有两个向量(
latg
ch4
):
latg
是18225x1向量,
ch4
是91269x1向量。我想调整
latg
向量的大小,以便它通过在数据点之间插值来匹配
ch4
向量的大小


我该怎么办?我是否使用
interp1
功能?

是的,确实可以使用interp1功能。我假设您想要在较小数组的极限值之间线性插值额外的数据点

% Vector to be upscaled
vector1 = latg;
% Number of elements in new vector (vector2, nr of elements same as in ch4)
n_vector2 = length(ch4);
vector2 = interp1( linspace(0,1,length(vector1)), vector1, linspace(0,1,n_vector2));
所以现在vector2和vector latg是一样的,除了它包含的点和通过线性插值得到的向量ch4一样多

亲切问候,


Ernst Jan

您有断点吗?只有当你有一个共同的轴时,插值才有效。你能举一个小数据集的例子吗?你需要知道两个向量之间相互对应的几个点。。。它们是在同一点开始和结束,还是在一起开始,然后较小的向量对应于较大向量上的每5个点等?需要注意的是,这是假设两个向量仅在其开始和结束处对齐