如何在Matlab中将超过一百个节点的向量插值为百分比?

时间:2017-06-29 16:31:01

标签: matlab interpolation

我有一个超过一百个节点的矢量(假设是120),我也有相应的时间。

data = [120x1];
Time = [0:0.01:(120/100)-0.01]';

现在,我想将数据转换为百分比。

percent = (0:0.01:(101/100)-0.01)';

当我使用此命令时,它只是在第101点关闭数据而不是内插它们。

IntpData = interp1(Time, data, percent, 'spline');

如何将数据(N个节点)插入百分比(101个节点)?

2 个答案:

答案 0 :(得分:0)

您想要转换为百分比,但时间范围为0到1.2。 这意味着您要将数据从0重新缩放为1.您只需要更改时间轴,但请确保它具有与数据相同的点数。

在这种情况下

Time = linspace(0,1,120); 

会这样做。

答案 1 :(得分:0)

我明白了!

要定义百分比,我们需要使用最后一个时间点而不是101! 在这种情况下,最后一点是1.2。所以,百分比会是这样的:

Percent = [0:(1.2/100):1.2] 

然后,该命令将返回内插数据一百个点!

IntpData = interp1(Time, data, percent, 'spline');