Octave:定义插值数据点的函数

时间:2016-03-08 06:01:44

标签: function unix octave

  
      
  1. 写一个八度音程函数来实现f(x) = sin(3x)/(0.4+(x-2)^2)

  2.   
  3. 编写一个八度脚本脚本,在f(x) = sin(3x)/(0.4+(x-2)^2)区间内最多9个点均匀采样的x = [0,4]值之间进行插值。

  4.   

我很困惑这个问题是什么。我将第一部分解释为定义一个函数fx,可以从任何地方调用以返回给定f(x)的{​​{1}}值,但我不确定{{1}必须是输入。

对于第二部分,我使用x函数是否正确?

我的尝试:

功能文件 fx.m

x

但这只会为interpl返回1个值。我需要返回9个均匀间隔的样本。我觉得我需要以某种方式使用function fx x=(0:0.25:4); y = sin(3*x)/(0.4+(x-2))^2 endfunction 循环......

脚本 intpl.m

y

1 个答案:

答案 0 :(得分:3)

我认为你的老师想要这样的东西:

function y = f(x)
  y = ....x..... (fill your formula here but use elementwise operations [1])
endfunction

然后在给定范围内使用此函数:

x = linspace (0, 4, 9);
y = f(x)

如果你想将它放在一个文件foo.m中,请确保不要使用函数定义启动该文件。我通常使用“1;”所以你的脚本foo.m变成了:

1;
function y = f(x)
    x = ....;
endfunction

x = linspace (...);
y = f(x)
plot (x, y) # if you want to plot it

[1] https://www.gnu.org/software/octave/doc/interpreter/Arithmetic-Ops.html