Scilab数据拉伸

Scilab数据拉伸,scilab,stretching,Scilab,Stretching,我有一个有两列的数据文件。第一列从0到1390运行。第二列具有不同的值。(第一列是X像素坐标,第二列是强度值) 我想“拉伸”数据,以便第一列从0运行到1516,第二列为这些新数据点进行线性插值 在scilab中有什么简单的方法可以做到这一点吗 数据如下所示: 0 300.333 1 289.667 2 273 ... 1388 427 1389 393.667 1390 252 插值 可以使用线性插值。在上的演示实现之后,将生成以下代码 示

我有一个有两列的数据文件。第一列从0到1390运行。第二列具有不同的值。(第一列是X像素坐标,第二列是强度值)

我想“拉伸”数据,以便第一列从0运行到1516,第二列为这些新数据点进行线性插值

在scilab中有什么简单的方法可以做到这一点吗

数据如下所示:

0       300.333
1       289.667
2       273
...
1388    427
1389    393.667
1390    252

插值 可以使用线性插值。在上的演示实现之后,将生成以下代码

示例代码 结果图

外推法 我认为你在考虑外推,因为它不在已知的测量范围之内,而不是介于两者之间

您应该确定是否要拟合数据。有关教程,请参见或。

问题是如何将y向量从1391值“拉伸”到1517值。按照@user1149326的建议,可以使用interpln执行此操作,但我们需要在插值之前拉伸x向量:

x=[0 1 2 1388 1389 1390];
y=[300.333 289.667 273 427 393.667 252];    
d=1391/1517;
x2=0:d:1390;
yi=interpln([x;y],x2);
x3=0:1516;
plot2d(x3',yi',[3],"000");
x=[0 1 2 1388 1389 1390];
y=[300.333 289.667 273 427 393.667 252];    
d=1391/1517;
x2=0:d:1390;
yi=interpln([x;y],x2);
x3=0:1516;
plot2d(x3',yi',[3],"000");