Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 八度函数的多项式插值_Matlab_Octave_Interpolation_Linear Interpolation - Fatal编程技术网

Matlab 八度函数的多项式插值

Matlab 八度函数的多项式插值,matlab,octave,interpolation,linear-interpolation,Matlab,Octave,Interpolation,Linear Interpolation,我需要使用多项式插值来插值函数,但我不确定如何对部分进行编码以获得多项式及其系数: 我的职能: fx = @(x) sin(3 .*x) ./ (0.4 .+ (x .-2) .^2); 我的9个样本值: xs = 0:0.5:4; ys = fx(xs); 我的尝试: n = 2; x(1) = xs; # not sure if this is correct for k=1:n-1 for j=k+1:n p = ((x(1) - x(j)) / x(

我需要使用多项式插值来插值函数,但我不确定如何对部分进行编码以获得多项式及其系数:

我的职能:

fx = @(x) sin(3 .*x) ./ (0.4 .+ (x .-2) .^2);
我的9个样本值:

xs = 0:0.5:4;
ys = fx(xs);

我的尝试:

n = 2;
x(1) = xs; # not sure if this is correct

for k=1:n-1

    for j=k+1:n

        p = ((x(1) - x(j)) / x(1) - x(j))* fx(x(j));
    endfor

endfor

但我真的感到失落,我不太明白。有人能帮我吗?

有没有理由尝试手动执行插值,而不是用您想要的方法调用
interp1
?如果最后一个参数是
'pp'
,则函数返回分段多项式,您可以使用
ppval
进行计算或随意检查。我想我不是很确定。指令集读取:n=2、4、6、8的多项式插值(在3、5、7和9点进行相应采样);请参见末尾的公式*[在我的问题中给出]*以计算n次插值多项式P(x)的系数–您可能会发现函数polyval对此很有用。我只是觉得我们的教授想用手来做。不过我可能错了。哦,好吧,如果这是课堂作业的一部分,那么要求手工操作也不是不合逻辑的。我同意。有什么建议吗?我想你可以试着用矢量思维;例如,(Xk-Xj)的值可以通过矩阵乘法获得,然后可以取该矩阵整行的乘积(不包括对角线)来获得每个分母。